人工智能[第五章状态空间搜索策略]山东大学期末考试知识点复习_第1页
人工智能[第五章状态空间搜索策略]山东大学期末考试知识点复习_第2页
人工智能[第五章状态空间搜索策略]山东大学期末考试知识点复习_第3页
人工智能[第五章状态空间搜索策略]山东大学期末考试知识点复习_第4页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习必备欢迎下载第五章状态空间搜索策略搜索是人工智能的一个基本问题, 是推理不可分割的一部分。 搜索是求解问题的一种方法,是根据问题的实际情况, 按照一定的策略或规则, 从知识库中寻找可利用的知识, 从而构造出一条使问题获得解决的推理路线的过程。 搜索包含两层含义:一层含义是要找到从初始事实到问题最终答案的一条推理路线; 另一层含义是找到的这条路线是时间和空间复杂度最小的求解路线。 搜索可分为盲目搜索和启发式搜索两种。1 1 盲目搜索策略1 状态空间图的搜索策略为了利用搜索的方法求解问题, 首先必须将被求解的问题用某种形式表示出来。一般情况下, 不同的知识表示对应着不同的求解方法。 状态空间表

2、示法是一种用“状态”和“算符”表示问题的方法。状态空间可由一个三元组表示 (S0,F,Sg) 。利用搜索方法求解问题的基本思想是:首先将问题的初始状态( 即状态空间图中的初始节点 ) 当作当前状态,选择一适当的算符作用于当前状态,生成一组后继状态 ( 或称后继节点 ) ,然后检查这组后继状态中有没有目标状态。如果有,则说明搜索成功,从初始状态到目标状态的一系列算符即是问题的解;若没有,则按照某种控制策略从已生成的状态中再选一个状态作为当前状态,重复上述过程,直到目标状态出现或不再有可供操作的状态及算符时为止。算法 51状态空间图的一般搜索算法建立一个只含有初始节点S0 的搜索图 G,把 S0

3、放入 OPEN表中。建立 CLOSED表,且置为空表。判断 OPEN表是否为空表,若为空,则问题无解,退出。选择 OPEN表中的第一个节点, 把它从 OPEN表移出,并放入 CLOSED表中,学习必备欢迎下载将此节点记为节点n。考察节点 n 是否为目标节点,若是,则问题有解,并成功退出。问题的解即可从图 G中沿着指针从 n 到 S0 的这条路径得到。扩展节点 n 生成一组不是 n 的祖先的后继节点,并将它们记作集合 M,将M中的这些节点作为 n 的后继节点加入图 G中。对那些未曾在G 中出现过的 ( 即未曾在OPEN表上或 CLOSED表上出现过的 )M 中的节点,设置一个指向父节点 ( 即节

4、点 n) 的指针,并把这些节点加入 OPEN 表中;对于已在 G中出现过的 M中的那些节点, 确定是否需要修改指向父节点 (n 节点 ) 的指针;对于那些先前已在 G中出现并且已在 COLSED表中的 M中的节点,确定是否需要修改通向它们后继节点的指针。按某一任意方式或按某种策略重排OPEN表中节点的顺序。转第步。2 宽度优先搜索策略宽度优先搜索是一种盲目搜索策略。其基本思想是,从初始节点开始,逐层对节点进行依次扩展,并考察它是否为目标节点,在对下层节点进行扩展( 或搜索 ) 之前,必须完成对当前层的所有节点的扩展 ( 或搜索 ) 。在搜索过程中,未扩展节点表 OPEN中的节点排序准则是:先进

5、入的节点排在前面,后进入的节点排在后面 ( 即将扩展得到的后继节点放于 OPEN表的末端 ) 。宽度优先搜索的盲目性较大, 搜索效率低,这是它的缺点。但宽度优先搜索策略是完备的,即只要问题有解,用宽度优先搜索总可以找到它的解。3 深度优先搜索深度优先搜索也是一种盲目搜索策略, 其基本思想是: 首先扩展最新产生的 ( 即最深的 ) 节点,即从初始节点 S0 开始,在其后继节点中选择一个节点, 对其进行考察,若它不是目标节点, 则对该节点进行扩展, 并再从它的后继节点中选择学习必备欢迎下载一个节点进行考察。依此类推, 一直搜索下去, 当到达某个既非目标节点又无法继续扩展的节点时,才选择其兄弟节点进

6、行考察。深度优先搜索与宽度优先搜索的区别就在于: 在对节点 n 进行扩展时, 其后继节点在 OPEN表中的存放位置。宽度优先搜索是将后继节点放入 OPEN表的末端,而深度优先搜索则是将后继节点放入 OPEN表的前端。4 有界深度优先搜索对于许多问题, 其状态空间搜索树的深度可能为无限深。 为了避免搜索过程沿着无穷的路径搜索下去, 往往对一个节点扩展的最大深度进行限制。 任何节点如果达到了深度界限, 就把它作为没有后继节点进行处理, 即对另一个分支进行搜索。在有界深度优先搜索算法中, 深度界限的选择很重要。选择过大,可能会影响搜索的效率; 选择的过小,有可能求不到解。有界深度优先搜索策略是不完备

7、的。5 代价树的宽度优先搜索前面的搜索算法没有考虑搜索的代价问题, 即假设状态空间图中各节点之间的有向边的代价是相同的。 在实际问题求解中, 往往是将一个状态变换成另一个状态时所付出的操作代价 ( 或费用 ) 是不一样的,即状态空间图中各有向边的代价是不一样的。把有向边上标有代价的搜索树称为代价搜索树,简称代价树。代价树宽度优先搜索的基本思想是:每次从 OPEN表中选择一个代价最小的节点,移入 COLSED表。因此,每当对一节点扩展之后,就要计算它的所有后继节点的代价,并将它们与 OPEN表中已有的待扩展的节点按代价的大小从小到大依次排序。而从 OPEN表选择被扩展节点时即选择排在最前面的节点

8、( 代价最小 ) 。代价树的宽度优先搜索算法是一个完备算法。6 代价树的深度优先搜索代价树的深度优先搜索和宽度优先搜索的区别是:宽度优先搜索法每次从学习必备欢迎下载OPEN表中的全体节点中选择代价最小的节点移入 CLOSED表,并对这一节点进行扩展或判断 ( 是否为目标节点 ) ,而深度优先搜索法则是从刚刚扩展的节点之后继节点中选择一个代价最小的节点移入 CLOSED表,并进行扩展或判断。代价树的深度优先搜索算法是不完备的算法, 所求得的解不一定是最优解, 甚至有可能进入无穷分支路径而搜索不到问题的解。1 2启发式搜索策略利用问题自身特性信息, 以提高搜索效率的搜索策略, 称为启发式搜索或有信

9、息搜索。1 启发信息与估价函数在搜索过程中, 如果在确定要被考察的节点时, 能够利用被求解问题的有关特性信息,估计出各节点的重要性, 就可选择重要性较高的节点进行扩展, 以便提高求解的效率。通常可以构造一个函数来表示节点的“希望”程度,称这种函数为估价函数。估价函数 f(x) 可定义为从初始节点经过节点 z 到达目标节点的最小代价路径的代价估计值。它的一般形式为f(x)=g(x)+h(x)其中 g(x) 为初始节点 S0 到节点 z 已实际付出的代价; h(x) 是从节点 x 到目标节点 Sg 的最优路径的估计代价,搜索的启发信息主要由 h(x) 来体现,故把 h(x) 称作启发函数。估价函数

10、是针对具体问题构造的,是与问题特性密切相关的。不同的问题,其估价函数可能不同。在构造估价函数时,依赖于问题特性的启发函数 h(x) 的构造尤为重要。在构造启发函数时,还要考虑到两个方面因素的影响:一个是搜索工作量,一个是搜索代价。 有些启发信息虽然能够大大减少搜索的工作量,但却不能保证求得最小代价的路径。 而我们感兴趣的是, 使问题求解的路径代价与为求此路径学习必备欢迎下载所花费的搜索代价的综合指标为最小。2 最佳优先搜索最佳优先搜索又称为有序搜索或择优搜索,它总是选择最有希望的节点作为下一个要扩展的节点,而这种最有希望的节点是按估价函数 f(x) 的值来挑选的,一般估价函数的值越小, 它的希

11、望程度越大。 最佳优先搜索又分局部最佳优先搜索和全局最佳优先搜索。(1) 局部最佳优先搜索局部最佳优先搜索的思想类似于深度优先搜索法, 但由于使用了与问题特性相关的估价函数来确定下一个待扩展的节点, 所以它是一种启发式搜索方法。 其思想是:当对某一个节点扩展之后,对它的每一个后继节点计算估价函数f(x)的值,并在这些后继节点的范围内,选择一个 f(x) 的值最小的节点,作为下一个要考察的节点。由于它每次只在后继节点的范围内选择下一个要考察的节点,范围比较小,所以称为局部最佳优先搜索或局部择优搜索。局部最佳优先搜索与深度优先搜索及代价树的深度优先搜索的区别, 就在于在选择下一个节点时所用的标准不

12、一样。 局部最佳优先搜索是以估价函数值作为标准;深度优先搜索则是以后继节点的深度作为选择标准, 后生成的节点先考察;而代价树深度优先则是以各后继节点到其前驱节点之间的代价作为选择标准。 如果把层深函数 d(x) 就当作估价函数 f(x) ,或把代价函数 g(x) 当作估价函数 f(x) ,那么就可以把深度优先搜索和代价树深度优先搜索看作局部最佳优先搜索的两个特例。(2) 全局最佳优先搜索全局最佳优先搜索也是一个有信息的启发式搜索,它的思想类似于宽度优先搜索,所不同的是, 在确定下一个扩展节点时, 以与问题特性密切相关的估价函数 f(x) 作为标准,不过这种方法是在OPEN表中的全部节点中选择一

13、个估价函数值 f(x) 最小的节点,作为下一个被考察的节点。正因为选择的范围是OPEN表中学习必备欢迎下载的全部节点,所以它称为全局最佳优先搜索或全局择优搜索。全局最佳优先搜索实际是对宽度优先搜索和代价树的宽度优先搜索的扩展,而宽度优先搜索和代价树的宽度优先搜索则是它的两个特例 ( 这时可分别令 f(x) 等于 d(x) 或 g(x) ,d(x) 表示节点 x 的深度,而 g(x) 则表示初始节点 S0 到节点 x 的代价)。在启发式搜索中, 估价函数的定义是非常重要的,如果定义得不好,则上述的搜索算法不一定能找到问题的解,即便找到解,也不一定是最优解。所以,有必要讨论如何对估价函数进行限制或定义。A*启发式搜索算法就使用了一种特殊定义的估价函数。A*算法具有下列一些性质:可采纳性。所谓可采纳性是指对于可求解的状态空间图 ( 即从状态空间图的初始节点到目标节点有路径存在 ) 来说,如果一个搜索算法能在有限步内终止,并且能找到最优解,则称该算法是可采纳的。单调性。所谓单调性是指在 A*算法中,如果对其估价函数中的 h(x) 部分即启发性函数, 加以适当的单调性限制条件, 就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论