a星算法求八数码问题实验报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人工智能实验报告 实验名称:八数码问题 姓名:xx 学号:2012210xx xx计算机学院 2014年1月14日 实验目的 掌握A*的思想,启发式搜索,来求解在代价最小的情况下将九宫格从一个状态转为另状态的路径。 实验内容 给定九宫格的初始状态,要求在有限步的操作内,使其转化为目标状态,且所得到的解是代价最小解(即移动的步数最少)并打印出求解路径。例如 2 8 3 1 6 4 7 0 5 2 8 3 1 6 4 7 0 5 A*算法思想: 思想: A* \t /_blank 算法是一种静态路网中求解最短路最有效的直接搜索方法。估价值与实际值越接近,估价函数取得就越好 原理: 估价函数公式表示为: f(n)=g(n)+h(n), 其中 f(n) 是从初始点经由节点n到目标点的估价函数,g(n) 是在 \t /_blank 状态空间中从初始节点到n节点的实际代价,h(n) 是从n到目标节点最佳路径的估计代价。保证找到 \t /_blank 最短路径(最优解的)条件,关键在于估价函数h(n)的选取: 估价值h(n)= n到目标 \t /_blank 节点的距离实际值,这种情况下,搜索的点数多,搜索范围大,效率低。但能得到最优解。并且如果h(n)=d(n),即距离估计h(n)等于最短距离,那么搜索将严格沿着最短路径进行此时的搜索效率是最高的。如果估价值实际值, \t /_blank 搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。 算法流程: Heuristic_Search(启发式搜索) Heuristic_Search(启发式搜索) While( While(未拓展表不为空?) 是 从未拓展表中删除第一个状态 从未拓展表中删除第一个状态n N为目标状态? N为目标状态? 是,输出路径 否,生成n的所有子状态 Case:此子状态在拓展表Case:此子状态在未拓展表中Case:此子状态不在拓展表和未拓展表中 Case:此子状态在拓展表 Case:此子状态在未拓展表中 Case:此子状态不在拓展表和未拓展表中 记录比已有的路径更短的路径记录比已有的路径更短的路径计算该子状态的估价函数值; 记录比已有的路径更短的路径 记录比已有的路径更短的路径 计算该子状态的估价函数值; 返回 返回 关键技术: 使用了CreateChild()函数,求得了任意未拓展九宫格的扩展结点,便于拓展子空间,搜索所有情况。 关键代码: bool CreateChild(NOExtend ns[],NOExtend ne){ int i,j,k=0; for(i=0;i3;i++){ for(j=0;j3;j++){ if(ne.cur_sudoku.num[i][j]==0){ //寻找九宫格空缺所在的坐标 if(i-1=0){ //将空格向上移动 CopySudoku(ns[k].cur_sudoku,ne.cur_sudoku);//先把未改变的九宫格复制给九宫格数组的某一元素 ns[k].cur_sudoku.num[i][j]=ne.cur_sudoku.num[i-1][j];//然后仅改变此二维九宫格的两项值即可 ns[k].cur_sudoku.num[i-1][j]=0; ns[k].dx=1; k++; } if(j+1=2){ //将空格向右移动 CopySudoku(ns[k].cur_sudoku,ne.cur_sudoku); ns[k].cur_sudoku.num[i][j]=ns[k].cur_sudoku.num[i][j+1]; ns[k].cur_sudoku.num[i][j+1]=0; ns[k].dx=1; k++; } if(i+1=2){ //将空格向下移动 CopySudoku(ns[k].cur_sudoku,ne.cur_sudoku); ns[k].cur_sudoku.num[i][j]=ns[k].cur_sudoku.num[i+1][j]; ns[k].cur

文档评论(0)

汪汪队 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档