八数码 A*算法 附报告

时间:2012-06-18 15:05:34
【文件属性】:

文件名称:八数码 A*算法 附报告

文件大小:15KB

文件格式:RAR

更新时间:2012-06-18 15:05:34

八数码

以A*算法作为本程序的算法,利用f=g+h;其中g代表每个结点的深度,h代表该结点与目标结点相差的位置。利用open,close表作为辅助。把每个同一层次的结点放进open表中,再选取最小代价放入close表中。close表中的结点即为最优路径中的一个结点。直到找出目标的结点,然后打印。 ① 判断OPEN表是否为空的函数 ② 求OPEN表中估价函数值最小的结点的函数 ③ 判断初始状态是否可到达目标状态的函数 ④ 求估价函数值p(n)-曼哈顿距离 ⑤ 产生新状态的函数,共四个,空格上/下/左/右移动 ⑥ 判重函数,判断新节点在OPEN,CLOSE表中是否已经有了 ⑦ 单链表的逆置 ⑧ 输出路径 ⑨ 将结点添加到OPEN或CLOSE表中函数


【文件预览】:
AI_课程设计报告.doc
Eight_Puzzle.cpp

网友评论

  • 感谢分享, 修改下就能自己用了. 省了很多事, 逻辑没问题
  • 还不错,虽然有点小问题,但是改改就能运行
  • 用了C++编写的,不过程序可能有点缺陷运行不了,思路也有点小问题
  • 代码质量不错,思路清晰,只是报告不全,缺少1,2部分。
  • 使用VS需要做点小修改,但是还是能运行,多谢分享。
  • 真的有点缺陷,需要再修改一下小错误才能运行
  • 没有问题 啊 VC6.0正常运行
  • 用了C++编写的,不过程序可能有点缺陷运行不了,思路倒是没问题
  • 或许是我的问题,为什么觉得不全呢??