电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

人工智能大作业

人工智能大作业_第1页
1/9
人工智能大作业_第2页
2/9
人工智能大作业_第3页
3/9
人工智能基础大作业—---八数码难题 学院:数学与计算机科学学院 班级:计科 14—1 姓名:王佳乐 学号:1 2 2 0 1 6、12、20 一、 实验名称八数码难题得启发式搜索二、 实验目得八数码问题:在3×3得方格棋盘上,摆放着1到8这八个数码,有1个方格就是空得,其初始状态如图1所示,要求对空格执行空格左移、空格右移、空格上移与空格下移这四个操作使得棋盘从初始状态到目标状态.要求:1、熟悉人工智能系统中得问题求解过程;2、熟悉状态空间得启发式搜索算法得应用;3、熟悉对八数码问题得建模、求解及编程语言得应用。三、 实验设备及软件环境1.实验编程工具:VC++ 6、02.实验环境:Windows7 64位四、 实验方法:启发式搜索1、算法描述1. 将S放入 open 表,计算估价函数 f(s)2. 推断 o p e n表就是否为空,若为空则搜索失败,否则,将 ope n表中得第一个元素加入 c lo se 表并对其进行扩展(每次扩展后加入o pen表中得元素根据代价得大小从小到大排序,找到代价最小得节点进行扩展)注:代价得计算公式f(n)=d(n)+w(n)、其中 f(n)为总代价,d(n)为节点得度,w(n)用来计算节点中错放棋子得个数.推断 i 就是否为目标节点,就是则成功,否则拓展 i,计算后续节点f(j),利用 f(j)对 o p e n表重新排序2、算法流程图:3、程序源代码:# include<stdio、h># include<string、h># include# include〈stdlib、h>typedef struct node {ﻩint i,cost,degree,exp,father;ﻩint a[3][3];ﻩstruct node *bef,*late;struct node *son;}treenode;int flag=0,count=1,num=0,i=0;void set(treenode *s);void cpynode(treenode *s1,treenode *s2);void add1(treenode *s,treenode *open);void adjust1(treenode *close);void jscost(treenode *s);void tiaozheng(treenode *open);void sortopen(treenode *open);int test(treenode *s1,treenode *s2);void position(treenode *s,treenode *open,treenode *close,treenode *s1);void printstr(treenode *open);int search(treenode *s1,treenode *s2);void input(treenode *s);int cmpnode(...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

人工智能大作业

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部