介绍了人工智能的核心问题和启发式搜索函数的基本概念。介绍了四个经典问题的启发式搜索函数的选择和研究中遇到的问题,并讨论了这些问题的解决方法。以下是边肖编辑的人工智能搜索技术论文的相关资料。欢迎阅读!
人工搜索技术论文1
阐述了人工智能的核心问题和启发式搜索函数的基本概念,介绍了四个经典问题的启发式搜索函数的选择及其研究中遇到的问题,并讨论了这些问题的解决方法。
关键词:人工智能;解决问题;启发式搜索功能
中国图书馆分类号:TP18文献识别码:A文号:1009-3044(2008)08-10ppp-0c
广义来说,人工智能问题可以看作是一个问题求解的过程,所以问题求解是人工智能的核心问题,通常是在一个可能的解空间中寻找一个解来进行的。在问题解决的过程中,人们面临的大部分实际问题往往没有确定性算法,通常需要用搜索算法来解决。实现目标和目的的一套方法叫做问题,搜索就是研究这些方法能做什么的过程。一般解决一个问题需要考虑两个基本问题:一是用合适的状态空间来表示问题,二是测试目标状态是否出现在状态空间中。
1什么是启发式搜索功能?
在人工智能中,有大量依赖于搜索的问题解决技术。启发式方法是利用有利于问题本身的特征信息来引导搜索过程的方法。启发函数的选择在学生的学习过程中非常重要,它决定了整个算法的效率和成败。启发式搜索通常用于两种不同类型的问题:(1)向前推进和(2)向后推理。正向推理通常用于搜索状态空间。正向推理时,从预先定义的初始状态向目标状态的反向进行推理;逆向推理一般用于问题归约。在逆向推理中,从给定的目标状态到初始状态进行推理。
用于评估节点重要性的函数称为评估函数。评估函数f(x)被定义为从初始节点S0通过节点X到目标节点Sg的所有路径中的最小路径成本的估计值.它的一般形式是:
其中g(x)表示从初始节点S0到节点X的实际成本;H(x)表示从X到目标节点Sg的最优路径的评估代价,体现了问题的启发式信息,其形式应根据问题的特点来确定。h(x)称为启发式函数。因此,启发式方法将问题状态的描述转化为问题解决程度的描述,用评价函数值来表示。
2滑块游戏的启发式搜索功能
滑块游戏的棋盘结构和某类牌的初始排列结构如下:
b代表黑瓷砖,w代表白瓷砖,e代表空间。游戏规则是:
(1)任意一张牌都可以移入相邻空间,其耗散值为1;
(2)任何一个瓦片可以被一个或两个其他瓦片分开,并且耗散值等于跳过的瓦片的数量;游戏的目标是让所有的白牌都在黑牌的左边(左边有或没有空格)。针对该问题,定义了一个启发式函数h(n),并给出了使用该启发式函数用算法A求解该问题时生成的搜索树。H可以定义为:H=右边W的个数。
很多知识对解决问题是有好处的。这些知识不一定要用启发式函数的形式写出来,很多情况下,用函数的形式写不清楚。在目标状态下,一个扇区中的数字之和等于12,一个相对扇区中的数字之和等于24,一个阴影扇区或非阴影扇区中的数字之和是48。
为此,我们可以对目标进行分解,首先满足阴影扇区的个数之和为48。我们可以通过每次旋转圆盘45度来达到这个目的。当第一个目标达到后,我们来考虑第二个目标:每个相对扇区的数字之和是24。在实现这个目标的过程中,我们希望第一个目标不会被破坏。为此,我们采用旋转90o的方法,这样可以在不破坏第一个目标的情况下调整相对扇区的数字和。第二个目标实现后,我们就可以实现最终的目标:扇区内的数字之和是12。同样,我们希望在不破坏前两个目标的情况下实现这个目标。为此,我们采用旋转180o的方式来实现。这样,前两个目标就破坏不了,第三个目标就能实现。
经过这样的分析,我们发现问题清楚多了。当然,第一个和第二个目标实现了,第三个目标能实现吗?也许不一定。在这种情况下,当第三个目标无法实现时,需要重新测试其他第一个和第二个目标。
4传教士野蛮问题的启发式搜索功能
传教士和野人的问题,n个传教士和n个野人从河的一边摆渡到另一边。为了安全起见,传教士的数量在任何时候都不能少于野人的数量。对于N=5,k3的M-C问题,求对应的启发式函数。H1=M C-2B,其中M和C分别是河左岸的传教士和野人的数量。B=1表示船在左岸,B=0表示船在右岸。也可以定义为h2=M C,h1满足A*条件,h2不满足。
很容易说明h(n)=M C不满足A*条件,就举个反例。比如状态(1,1,1),h(n)=M C=1 1=2,但实际上只有一个摆渡可以到达目标状态,最优路径的耗散值为1。所以不满足A*的条件。
让我们证明h(n)=M C-2B满足A*条件。
我们分两种情况来考虑。先考虑左岸的船。如果不考虑限制,也就是说船一次可以从左岸运送三个人到右岸,然后一个人把船带回来。这样,船一个来回可以载两个人过河,而船还在左岸。最后三个人可以一次性全部从左岸运到右岸。所以不管有什么限制,至少要摆渡whx04.tif次。分子上的'-3 '表示剩下的三个留到最后出货。除以' 2 '是因为一个往返可以运送两个人,需要whx05.tif往返,而'往返'的次数不能是小数,需要四舍五入。这用符号whx06.tif表示,并乘以‘2’,因为一个往返相当于两个钟摆。
交叉,所以乘以2。最后一个“1”意味着需要一艘渡船来运送剩下的三艘船。
然后考虑船在右岸的情况。不管有什么限制。船在右岸,需要一个人运到左岸。因此,对于状态(M,C,0)来说,所需的最少摆渡次数相当于船在左岸时状态(M 1,C 1,1)或(M,C 1,1)所需的最少摆渡次数,加上第一次把船从右岸送到左岸的摆渡次数。因此,所需的最小渡船数量为(M C 1)-2 1。(M C 1)中的‘1’表示把船送回左岸的人,而最后一面的‘1’表示船被送到左岸时的摆渡。
当船在左岸,船在右岸时,所需的最少渡船数量用公式表示:MC2B。其中B=1表示船在左岸,B=0表示船在右岸。因为摆渡人数是不考虑限制条件下所需的最小摆渡人数。所以在有限制的情况下,最优的渡船数量只能大于或等于渡船数量。因此,启发式函数h满足A*条件。
5结束语
总之,选择计算机人工智能的启发式搜索函数的方法有很多,试图找出问题中选择函数的类似方法。从这篇论文可以看出,没有一个函数可以处于绝对的地位,可以适用于所有的环境。如何结合各种选择启发式搜索函数的思想,为每个问题找到选择函数的特点和规律,这方面还有很多理论和实践值得深入研究。
下一页,分享人工智能搜索技术比较好的论文。