人工智能实验一 八的数码问题.pdfVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人工智能实验一 八的数码问题

A* 用 算法解决八数码问题 1 问题描述 1.1 待解决问题的解释 八数码游戏 (八数码问题)描述为:在3×3 组成的九宫格棋盘上,摆有八个将牌,每 一个将牌都刻有1-8 八个数码中的某一个数码。棋盘中留有一个空格,允许其周围的某一个 将牌向空格移动,这样通过移动将牌就可以不断改变将牌的布局。这种游戏求解的问题是: 给定一种初始的将牌布局或结构 (称初始状态)和一个目标的布局 (称目标状态),问如何 移动将牌,实现从初始状态到目标状态的转变。 1.2 4 问题的搜索形式描述 (要素) 初始状态: 8个数字将牌和空格在九宫格棋盘上的所有格局组成了问题的状态空间。其中,状态空 间中的任一种状态都可以作为初始状态。 后继函数: 通过移动空格 (上、下、左、右)和周围的任一棋子一次,到达新的合法状态。 目标测试: 比较当前状态和目标状态的格局是否一致。 路径消耗: 每一步的耗散值为1,因此整个路径的耗散值是从起始状态到目标状态的棋子移动的总 步数。 1.3 解决方案介绍 (原理) 对于八数码问题的解决,首先要考虑是否有答案。每一个状态可认为是一个 1×9 的矩 阵,问题即通过矩阵的变换,是否可以变换为目标状态对应的矩阵?由数学知识可知,可计 算这两个有序数列的逆序值,如果两者都是偶数或奇数,则可通过变换到达,否则,这两个 状态不可达。这样,就可以在具体解决问题之前判断出问题是否可解,从而可以避免不必要 的搜索。 如果初始状态可以到达目标状态,那么采取什么样的方法呢? 常用的状态空间搜索有深度优先和广度优先。广度优先是从初始状态一层一层向下找, 直到找到目标为止。深度优先是按照一定的顺序前查找完一个分支,再查找另一个分支,以 至找到目标为止。 广度和深度优先搜索有一个很大的缺陷就是他们都是在一个给定的状态 空间中穷举。这在状态空间不大的情况下是很合适的算法,可是当状态空间十分大,且不预 测的情况下就不可取了。他的效率实在太低,甚至不可完成。由于八数码问题状态空间共有 9!个状态,对于八数码问题如果选定了初始状态和目标状态,有9!/2 个状态要搜索,考虑到 时间和空间的限制,在这里采用A*算法作为搜索策略。在这里就要用到启发式搜索 启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置, 再从这个位置进行搜索直到目标。这样可以省略大量无畏的搜索路径,提到了效率。在启发 式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。 启发中的估价是用估价函数表示的,如:f(n) g(n) + h(n) 其中f(n) 是节点n 的估价函数,g(n)是在状态空间中从初始节点到n节点的实际代价, h(n)是从n 到目标节点最佳路径的估计代价。 在此八数码问题中,显然g(n)就是从初始状 态变换到当前状态所移动的步数,估计函数f(n)我们就可采用当前状态各个数字牌不在目标 状态未知的个数,即错位数。 2 算法介绍 2.1 搜索算法一般介绍 不管哪种搜索,都统一用这样的形式表示:搜索的对象是一个图,它面向一个问题,不 一定有明确的存储形式,但它里面的一个结点都有可能是一个解 (可行解),搜索的目的有 两个方面,或者求可行解,或者从可行解集中求最优解。 搜索算法可分为两大类:无信息的搜索算法和有信息的搜索算法。无信息的搜索又称盲 目搜索,其特点是只要问题状态可以形式化表示,原则上就可用使用无信息的搜索,无信息 搜索有如下常见的几种搜索策略:广度优先搜索、代价一致搜索、深度优先搜索、深度有限 搜索、迭代深入优先搜索、双向搜索。我们说DFS和BFS 都是蛮力搜索,因为它们在搜索 到一个结点时,在展开它的后续结点时,是对它们没有任何‘认识’的,它认为它的孩子们都 是一样的‘优秀’,但事实并非如此,后续结点是有好有坏的。好,就是说它离目标结点‘近’, 如果优先处理它,就会更快的找到目标结点,从而整体上提高搜索性能。 为了改善上面的算法,我们需要对展开后续结点时对子结点有所了解,这里需要一个估 值函数,估值函数就是评价函数,它用来评价子结点的好坏,因为准确评价是不可能的,所 以称为估值。这就是我们所谓的有信息搜索。如果估值函数只考虑结点的某种性能上的价值, 而不考虑深度,比较有名的就是有序搜索 (Ordered-Search),它着重看好能否找出解,而不

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档