人工智能-启发式算法

上传人:子 文档编号:41808482 上传时间:2018-05-31 格式:DOC 页数:11 大小:36KB
返回 下载 相关 举报
人工智能-启发式算法_第1页
第1页 / 共11页
人工智能-启发式算法_第2页
第2页 / 共11页
人工智能-启发式算法_第3页
第3页 / 共11页
人工智能-启发式算法_第4页
第4页 / 共11页
人工智能-启发式算法_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《人工智能-启发式算法》由会员分享,可在线阅读,更多相关《人工智能-启发式算法(11页珍藏版)》请在金锄头文库上搜索。

1、人工智能人工智能- -启发式算法启发式算法#include#include#include#define SIZE 10000int start33=0;int end33=0;struct node int index;/结点序号int p_index;/父结点序号 int matrix33;/ 八数码状态int h_function;/启发式函数值;node openSIZE; /存放已经生成的未考察的节点int openlength=0;int openlast=0;/open 表最后一个数据的位置node closedSIZE; /存放已经考察过得节点int closedlength=

2、0;int closedlast=0;/closed 表最后一个数据的位置int fail=0;/失败标记,fail=1 则搜索失败int n_index=0;/节点标记序号int extend33=0;int n_root=0;struct Rootnode resultRootSIZE;int length;void init(Root ;void read()printf(“输入初始节点:n“);int i,j;for(i=0;i0;i-)for(j=0;jopenj+1.h_function)exchangeNode(j,j+1);int seekfather(node a)int i

3、;for(i=0;i0)/空格上移int *p=int *q=exchange(p,q);if(judge()inopen(extend);copy_matrix(extend,now);if(i0)/空格左移exchange(if(judge()inopen(extend);copy_matrix(extend,now);if(j10000)fail=1;return;adjust();sort();void print_matrix(int a3)int i,j;for(i=0;i=0;j-)print_matrix(result.resultRootj.matrix);printf(“共

4、扩展%d 步,步数为%dn“,closedlast,n_root);int countContray(int a3)int num=0;int i,j;int i1,i2,j1,j2;for(i=1;i9;i+)i1=i/3;i2=i%3;for(j=0;ji;j+)j1=j/3;j2=j%3;if(ai1i2!=0return num;int canSolve()int n_start,n_end;n_sta n_end=countContray(end);if(n_start%2=n_end%2)return 1;elsereturn 0; int main()read();if(!canSolve()printf(“该输入不可解!n“);elseclock_t start_t,finish_t;start_t=clock();search();if(!fail)print(start_t,finish_t);elseprintf(“search fail!n“);printf(“按任意键结束.“);getchar();getchar();return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号