《论文_人工智能关于八数码问题论文8 725370(定稿)》.doc

《论文_人工智能关于八数码问题论文8 725370(定稿)》.doc

ID:51890535

大小:273.50 KB

页数:22页

时间:2020-03-18

《论文_人工智能关于八数码问题论文8 725370(定稿)》.doc_第1页
《论文_人工智能关于八数码问题论文8 725370(定稿)》.doc_第2页
《论文_人工智能关于八数码问题论文8 725370(定稿)》.doc_第3页
《论文_人工智能关于八数码问题论文8 725370(定稿)》.doc_第4页
《论文_人工智能关于八数码问题论文8 725370(定稿)》.doc_第5页
资源描述:

《《论文_人工智能关于八数码问题论文8 725370(定稿)》.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、人工智能关于八数码问题论文摘要:八数码问题是人工智能中一个很典型的智力问题。本文以状态空间搜索的观点讨论了八数码问题,给出了八数码问题的Java算法与实现的思想,分析了A算法的可采纳性等及系统的特点。关键词九宫重排,状态空间,启发式搜索,A算法1引言九宫重排问题是人工智能当中有名的难题之一。问题是在3X3方格盘上,放有八个数码,剩下一个位置为空,每一空格其上下左右的数码可移至空格。问题给定初始位置和目标位置,要求通过一系列的数码移动,将初始状态转化为冃标状态。状态转换的规则:空格四周的数移向空格,我们可以看作是空格移动,它最多可以有4个方向的移动,即上、下、左、右。九宫重排

2、问题的求解方法,就是从给定的初始状态出发,不断地空格上下左右的数码移至空格,将一个状态转化成其它状态,直到产生目标状态。一、问题描述1.1待解决问题的解释八数码游戏(八数码问题)描述为:在3X3组成的九宫格棋盘上,摆有八个将牌,每一个将牌都刻有1-8八个数码屮的某一个数码。棋盘中留有一个空格,允许具周囤的某一个将牌向空格移动,这样通过移动将牌就可以不断改变将牌的布局。这种游戏求解的问题是:给定一种初始的将牌布局或结构(称初始状态)和一个冃标的布局(称戸标状态),问如何移动将牌,实现从初始状态到冃标状态的转变。1.2问题的搜索形式描述(4要素)初始状态:8个数字将牌和空格在九

3、宫格棋盘上的所有格局组成了问题的状态空间。其中,状态空间中的任一种状态都可以作为初始状态。后继函数:通过移动空格(上、下、左、右)和周閑的任一棋子一次,到达新的合法状态。冃标测试:比较当前状态和冃标状态的格局是否一致。路径消耗:每一步的耗散值为1,因此整个路径的耗散值是从起始状态到H标状态的棋子移动的总步数。1.3解决方案介绍(原理)对于八数码问题的解决,首先耍考虑是否有答案。每一个状态可认为是一个1X9的矩阵,问题即通过矩阵的变换,是否可以变换为H标状态对应的矩阵?由数学知识可知,可计算这两个有序数列的逆序值,如果两者都是偶数或奇数,则可通过变换到达,否则,这两个状态不可

4、达。这样,就可以在具体解决问题Z前判断出问题是否可解,从而可以避免不必要的搜索。如果初始状态可以到达冃标状态,那么采取什么样的方法呢?常用的状态空间搜索有深度优先和广度优先。广度优先是从初始状态一层一层向下找,直到找到冃标为止。深度优先是按照一定的顺序前查找完一个分支,再查找另一个分支,以至找到冃标为止。广度和深度优先搜索有一个很大的缺陷就是他们都是在一个给定的状态空间中穷举。这在状态空间不大的情况下是很合适的算法,可是当状态空间十分大,且不预测的情况下就不可取了。他的效率实在太低,甚至不可完成。由于八数码问题状态空间共有9!个状态,对丁八数码问题如果选定了初始状态和冃标状

5、态,有9!/2个状态要搜索,考虑到时间和空间的限制,在这里采用A*算法作为搜索策略。在这里就要用到启发式搜索启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到冃标。这样可以省略大量无畏的搜索路径,提到了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。启发中的估价是用估价函数表示的,女口:f(n)=g(n)+h(n)其中f(n)是节点n的估价函数,g(n)是在状态空间中从初始节点到n节点的实际代价,h(n)是从n到冃标节点最佳路径的估计代价。在此八数码问题屮,显然g(n)就是从初始状态变换到当

6、前状态所移动的步数,估计函数f(n)我们就可采用当前状态各个数字牌不在冃标状态未知的个数,即错位数。二、算法介绍2.1搜索算法一般介绍不管哪种搜索,都统一用这样的形式表示:搜索的对象是一个图,它面向一个问题,不一定有明确的存储形式,但它里而的一个结点都有可能是一个解(可行解),搜索的冃的有两个方而,或者求可行解,或者从可行解集屮求最优解。搜索算法可分为两大类:无信息的搜索算法和有信息的搜索算法。无信息的搜索乂称盲F1搜索,具特点是只要问题状态可以形式化表示,原则上就可用使用无信息的搜索,无信息搜索有如下常见的儿种搜索策略:广度优先搜索、代价一致搜索、深度优先搜索、深度有限搜

7、索、迭代深入优先搜索、双向搜索。我们说DFS和13FS都是蛮力搜索,因为它们在搜索到一个结点时,在展开它的后续结点时,是对它们没有任何'认识’的,它认为它的孩子们都是一样的'优秀’,但事实并非如此,后续结点是有好有坏的。好,就是说它离冃标结点'近’,如果优先处理它,就会更快的找到冃标结点,从而整体上提高搜索性能。为了改善上而的算法,我们需耍对展开后续结点时对子结点有所了解,这里需耍一个估值函数,估值函数就是评价函数,它用来评价子结点的好坏,因为准确评价是不可能的,所以称为估值。这就是我们所谓的有信息搜索。如果估值函

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。