第三章 搜索原理.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 搜索原理.doc

第三章 搜索原理   上一章中我们研究了知识表示方法,为人工智能问题的求解打下了基础。从问题表示到问题的解决,有一个求解的过程。接下来要研究的是实现求解的过程,采用的基本方法包括搜索和推理。本章先介绍搜索技术,将要讨论问题求解的搜索原理,包括一些早期的搜索技术或用于解决比较简单问题的搜索原理和一些比较新的能够求解比较复杂问题的搜索原理,包括算法、遗传算法和模拟退火算法等。 3.1 盲目搜索   盲目搜索又叫做无信息搜索,一般只适用于求解比较简单的问题。   我们将学习的宽度优先搜索和深度优先搜索,属于盲目搜索方法。 3.1.1 图搜索策略   可把图搜索策略看成一种在图中寻找路径的方法。我们已经介绍过有关图的表示方法。   图中的节点对应于状态,而连线对应于操作符。   图搜索(GRAPHSEARCH)的一般过程如下:   图搜索算法中的几个重要名词 1.OPEN表 2.CLOSED表 节点 父节点 编号 节点 父节点 3.搜索图与搜索树   此过程生成一个明确的图G(称为搜索图)和一个G的子集T(称为搜索树),树T上的每个节点也在图G中。搜索树是由第7步中设置的指针来确定的。G中的每个节点(除S外)都有一个只指向G中一个父辈节点的指针,该父辈节点就定为树中那个节点的唯一父辈节点。     图搜索方法的几点分析:   图搜索过程的第8步对OPEN表上的节点进行排序,以便能够从中选出一个“最好”的节点作为第4步扩展用。这种排序可以是任意的即盲目的(属于盲目搜索),也可以用以后要讨论的各种启发思想或其它准则为依据(属于启发式搜索)。每当被选作扩展的节点为目标节点时,这一过程就宣告成功结束。这时,能够重现从起始节点到目标节点的这条成功路径,其办法是从目标节点按指针向S返回追溯。当搜索树不再剩有未被扩展的端节点时,过程就以失败告终(某些节点最终可能没有后继节点,所以OPEN表可能最后变成空表)。在失败终止的情况下,从起始节点出发,一定达不到目标节点。3.1.2 宽度优先搜索   回顾上一节的寻找寿命为X的人的例子,如果搜索时,从节点A开始,对他的三个儿子按从左至右搜索,然后对他的所有孙子按从左至右搜索,依此下去。这种搜索方式就是宽度优先搜索。   宽度优先搜索(breadth-first search)的定义:如果搜索是以接近起始节点的程度依次扩展节点的,那么这种搜索就叫做宽度优先搜索(breadth-first search),   从图可见,这种搜索是逐层进行的;在对下一层的任一节点进行搜索之前,必须搜索完本层的所有节点。 宽度优先搜索算法如下:   (1) 把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。  (2) 如果OPEN是个空表,则没有解,失败退出;否则继续。  (3) 把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED扩展节点表中。  (4) 扩展节点n。如果没有后继节点,则转向上述第(2)步。  (5) 把n的所有后继节点放到OPEN表的末端,并提供从这些后继节点回到n的指针。  (6) 如果n的任一个后继节点是个目标节点,则找到一个解答,成功退出;否则转向第(2)步。 宽度优先搜索方法分析:   宽度优先搜索是图搜索一般过程的特殊情况,将图搜索一般过程中的第8步具体化为本算法中的第6步,这实际是将OPEN表作为“先进先出”的队列进行操作。   宽度优先搜索方法能够保证在搜索树中找到一条通向目标节点的最短途径;这棵搜索树提供了所有存在的路径(如果没有路径存在,那么对有限图来说,我们就说该法失败退出;对于无限图来说,则永远不会终止)。   例:把宽度优先搜索应用于八数码难题时所生成的搜索树,这个问题就是要把初始棋局变为如下目标棋局的问题:   宽度优先搜索方法能够保证在搜索树中找到一条通向目标节点的最短途径;这棵搜索树提供了所有存在的路径(如果没有路径存在,那么对有限图来说,我们就说该法失败退出;对于无限图来说,则永远不会终止)。   例:把宽度优先搜索应用于八数码难题时所生成的搜索树,这个问题就是要把初始棋局变为如右图所示的目标棋局问题: 图 3.5 八数码难题的宽度优先搜索树   搜索树上的所有节点都标记它们所对应的状态描述,每个节点旁边的数字表示节点扩展的顺序(按顺时针方向移动空格)。图中最后一个节点是目标节点。3.1.3 深度优先搜索  另一种盲目(无信息)搜索叫做深度优先搜索(depth-first search)。  分析深度优先搜索示意图可看出,在深度优先搜索中,我们首先扩展最新产生的(即最深的)节点。深度相等的节点可以任意排列。   我们定义节点的深度如下:   (1) 起始节点(即根节点)的深度为0。   

文档评论(0)

hshh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档