人工智能实验报告(3)

2020-04-16 11:42

}

if(g!=NULL)//为0则搜索完成 {

if(g->evalue==0) {

break; } }

Step++;//统计深度 if(Step>Max_Step) {

break; } }

return g; }

/////////初始化一个八数码结构体

Graph *CR_BeginGraph(Graph *The_graph) {

srand((unsigned)time(0)); int M=10;//随机移动步数 int Direct; int i,x,y;

Graph *New_graph;

New_graph=(Graph *)malloc(sizeof(Graph)); for(x=0;x

for(y=0;y

New_graph->form[x][y]=The_graph->form[x][y]; } }

for(i=0;i

Direct=rand()%4+1;//产生1-4随机数 //printf(\

New_graph=Move(New_graph, Direct, 0); //Print(New_graph); }

New_graph->evalue=0;

New_graph->udirect=0; New_graph->parent=NULL;

return New_graph; }

int main (int argc, const char * argv[]) {

// insert code here... /*

Graph Begin_graph={

{{2,8,3},{1,6,4},{0,7,5}},0,0,NULL };

Graph Begin_graph={

{{2,8,3},{1,0,4},{7,6,5}},0,0,NULL };

Graph Begin_graph={

{{2,0,1},{4,6,5},{3,7,8}},0,0,NULL }; */

//目标数码组

Graph End_graph={

{{1,2,3},{8,0,4},{7,6,5}},0,0,NULL };

//初始数码组

Graph *Begin_graph;

Begin_graph=CR_BeginGraph(&End_graph);//随机产生初始数码组 Evaluate(Begin_graph, &End_graph);//对初始的数码组评价 printf(\初始数码组:\\n\ Print(Begin_graph);

printf(\目标数码组:\\n\ Print(&End_graph);

Graph *G,*P; int top=-1;

//图搜索

G=Search(Begin_graph, &End_graph);

//打印 if(G) {

//把路径倒序 P=G; //压栈

while(P!=NULL) {

top++;

St[top]=P; P=P->parent; }

printf(\搜索结果>>>>>>>>>>>>>>>>\\n\ //弹栈打印

while(top>-1) {

P=St[top]; top--; Print(P); }

printf(\完成>>>>>>>>>>>>>>>>>>\\n\ } else {

printf(\搜索不到结果,深度为%d\\n\ //设计搜索深度范围主要是防止队列内存越界 }

return 0;

}


人工智能实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中材国际-财务分析 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: