《人工智能原理》PPT课件.ppt
《《人工智能原理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《人工智能原理》PPT课件.ppt(56页珍藏版)》请在三一办公上搜索。
1、1,人工智能原理,第三章搜索推理技术,2,从问题表示到问题的解决,有一个求解的过程。接下来要研究的是实现求解的过程,采用的基本方法包括搜索和推理。本章先介绍搜索技术,将要讨论问题求解的搜索原理,包括一些早期的搜索技术或用于解决比较简单问题的搜索原理和一些比较新的能够求解比较复杂问题的搜索原理,包括A*算法。,3,3.1 图搜索策略,可把图搜索策略看成一种在图中寻找路径的方法图中的节点对应于状态,而连线对应于操作符。这些节点和连线(即状态与操作符)又分别由产生式系统的数据库和规则来标记初始节点和目标节点之间的路径。即求得把一个数据库变换为另一数据库的规则序列问题就等价于求得图中的一条路径问题,4
2、,例子:从某王姓家族的四代中找王A的后代且其寿命为X的人。王A:寿命47,有儿子王B1、王B3、王B2王B1:寿命77,有儿子王C1、王C2王B3:寿命52,有儿子王D1王B2:寿命65,有儿子王E1、王E2王F1:寿命32 王G1:寿命96王C2:寿命87,有儿子王F1王D1:寿命77,没有儿子王E1:寿命57,有儿子王G1,5,王E2:寿命92,有儿子王H1 王C1:寿命27,没有儿子王H1:寿命51若X=57,下面讨论一种可通用的图搜索策略求解此问题。如果是一个N代的家族表中找其寿命为X的人,我们最可能用的手工方法是从家族表的开始往下,例中还要求所找的人是某人的后代,就比较复杂了。如果用
3、图来表示,就很容易了。图中把姓氏省去,每个成员的后代按例子中给出名字的先后顺序。图示为:,6,图 3.1 用图表示方法的家族表,7,图搜索(GRAPHSEARCH)的一般过程如下:,(1)建立一个只含有起始节点S的搜索图G,把S放到一个叫做OPEN的未扩展节点表中(简称OPEN表)。(2)建立一个叫做CLOSED的已扩展节点表(简称CLOSED表),其初始为空表。(3)LOOP:若OPEN表是空表,则失败退出。(4)选择OPEN表上的第一个节点,把它从OPEN表移出并放进CLOSED表中。称此节点为节点n,它是CLOSED表中节点的编号。(5)若n为一目标节点,则有解并成功退出,此解是追踪图G
4、中沿着指针从n到S这条路径而得到的(指针将在第7步中设置)。(6)扩展节点n,同时生成不是n的祖先的那些后继节点的集合M。把M的这些成员作为n的后继节点添入图G中。(7)对那些未曾在G中出现过的(既未曾在OPEN表上或CLOSED表上出现过的)M成员设置一个通向n的指针。把M的这些成员加进OPEN表。对已经在OPEN或CLOSED表上的每一个M成员,确定是否需要更改通到n的指针方向。对已在CLOSED表上的每个M成员,确定是否需要更改图G中通向它的每个后裔节点的指针方向。(8)按某一任意方式或按某个探试值,重排OPEN表。(9)GO LOOP。,8,图搜索算法中的几个重要名词,1OPEN表 2
5、CLOSED表,9,3搜索图与搜索树此过程生成一个明确的图G(称为搜索图)和一个G的子集T(称为搜索树),树T上的每个节点也在图G中。搜索树是由第7步中设置的指针来确定的。G中的每个节点(除S外)都有一个只指向G中一个父辈节点的指针,该父辈节点就定为树中那个节点的唯一父辈节点。,10,11,图搜索方法的几点分析:图搜索过程的第8步对OPEN表上的节点进行排序,以便能够从中选出一个“最好”的节点作为第4步扩展用。这种排序可以是任意的即盲目的(属于盲目搜索),也可以用以后要讨论的各种启发思想或其它准则为依据(属于启发式搜索)。每当被选作扩展的节点为目标节点时,这一过程就宣告成功结束。这时,能够重现
6、从起始节点到目标节点的这条成功路径,其办法是从目标节点按指针向S返回追溯。当搜索树不再剩有未被扩展的端节点时,过程就以失败告终(某些节点最终可能没有后继节点,所以OPEN表可能最后变成空表)。在失败终止的情况下,从起始节点出发,一定达不到目标节点。,12,3.2 盲目搜索,盲目搜索:无需重新安排OPEN表的搜索盲目搜索又叫做无信息搜索,一般只适用于求解比较简单的问题。宽度优先搜索深度优先搜索等代价搜索,13,3.2.1 宽度优先搜索,回顾上一节的寻找寿命为X的人的例子,如果搜索时,从节点A开始,对他的三个儿子按从左至右搜索,然后对他的所有孙子按从左至右搜索,依此下去。这种搜索方式就是宽度优先搜
7、索。宽度优先搜索(breadth-first search)的定义:如果搜索是以接近起始节点的程度依次扩展节点的,那么这种搜索就叫做宽度优先搜索(breadth-first search),如图3.3所示。,14,从图可见,这种搜索是逐层进行的;在对下一层的任一节点进行搜索之前,必须搜索完本层的所有节点。,图 3.3 宽度优先搜索示意图,15,16,宽度优先搜索算法如下:(1)把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。(2)如果OPEN是个空表,则没有解,失败退出;否则继续。(3)把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED扩展节点表中。(4)
8、扩展节点n。如果没有后继节点,则转向上述第(2)步。(5)把n的所有后继节点放到OPEN表的末端,并提供从这些后继节点回到n的指针。(队列模式)(6)如果n的任一个后继节点是个目标节点,则找到一个解答,成功退出;否则转向第(2)步。,17,图 3.4 宽度优先搜索算法框图,18,宽度优先搜索方法分析:宽度优先搜索是图搜索一般过程的特殊情况,将图搜索一般过程中的第8步具体化为本算法中的第6步,这实际是将OPEN表作为“先进先出”的队列进行操作。宽度优先搜索方法能够保证在搜索树中找到一条通向目标节点的最短途径;这棵搜索树提供了所有存在的路径(如果没有路径存在,那么对有限图来说,我们就说该法失败退出
9、;对于无限图来说,则永远不会终止)。,19,例:把宽度优先搜索应用于八数码难题时所生成的搜索树,这个问题就是要把初始棋局变为如下目标棋局的问题:搜索树上的所有节点都标记它们所对应的状态描述,每个节点旁边的数字表示节点扩展的顺序(按顺时针方向移动空格)。图中最后一个节点是目标节点。,20,图 3.5 八数码难题的宽度优先搜索树,21,3.2.2 深度优先搜索,另一种盲目(无信息)搜索叫做深度优先搜索(depth-first search)。首先扩展最新产生的节点。如下图,22,图 3.6 深度优先搜索示意图,图3.6深度优先搜索示意图,23,分析深度优先搜索示意图可看出,在深度优先搜索中,我们首
10、先扩展最新产生的(即最深的)节点。深度相等的节点可以任意排列。,24,我们定义节点的深度如下:(1)起始节点(即根节点)的深度为0。(2)任何其它节点的深度等于其父辈节点深度加上1。首先,扩展最深的节点的结果使得搜索沿着状态空间某条单一的路径从起始节点向下进行下去;只有当搜索到达一个没有后裔的状态时,它才考虑另一条替代的路径。替代路径与前面已经试过的路径不同之处仅仅在于改变最后n步,而且保持n尽可能小。,25,对于许多问题,其状态空间搜索树的深度可能为无限深,或者可能至少要比某个可接受的解答序列的已知深度上限还要深。为了避免考虑太长的路径(防止搜索过程沿着无益的路径扩展下去),往往给出一个节点
11、扩展的最大深度深度界限。任何节点如果达到了深度界限,那么都将把它们作为没有后继节点处理。值得说明的是,即使应用了深度界限的规定,所求得的解答路径并不一定就是最短的路径。,26,含有深度界限的深度优先搜索算法如下:(1)把起始节点S放到未扩展节点OPEN表中。如果此节点为一目标节点,则得到一个解。(2)如果OPEN为一空表,则失败退出。(3)把第一个节点(节点n)从OPEN表移到CLOSED表。(4)如果节点n的深度等于最大深度,则转向(2)。(5)扩展节点n,产生其全部后裔,并把它们放入OPEN表的前头。如果没有后裔,则转向(2)。(6)如果后继节点中有任一个为目标节点,则求得一个解,成功退出
12、;否则,转向(2)。,27,算法演示图,28,例:按深度优先搜索生成的八数码难题搜索树,我们设置深度界限为5。图3.8绘出了搜索树,粗线条的路径表明含有5条应用规则的一个解。从图可见,深度优先搜索过程是沿着一条路径进行下去,直到深度界限为止,然后再考虑只有最后一步有差别的相同深度或较浅深度可供选择的路径,接着再考虑最后两步有差别的那些路径,等等。,29,图 3.8 八数码难题的深度优先搜索树,30,3.2.3 等代价搜索,有些问题并不要求有应用算符序列为最少的解,而是要求具有某些特性的解。搜索树中每条连接弧线上的有关代价以及随之而求得的具有最小代价的解答路径,与许多这样的广义准则相符合。宽度优
13、先搜索可被推广用来解决这种寻找从起始状态至目标状态的具有最小代价的路径问题,这种推广了的宽度优先搜索算法叫做等代价搜索算法。,31,有如下一些记号:起始节点记为S;从节点i到它的后继节点j的连接弧线代价记为c(i,j);从起始节点S到任一节点i的路径代价记为g(i)。在搜索树上,我们假设g(i)也是从起始节点S到节点i的最少代价路径上的代价,因为它是唯一的路径;,32,等代价搜索算法,等代价搜索方法以g(i)的递增顺序扩展其节点,其算法:(1)把起始节点S放到未扩展节点表OPEN中。如果此起始节点为一目标节点,则求得一个解;否则令g(S)=0。(2)如果OPEN是个空表,则没有解而失败退出。(
14、3)从OPEN表中选择一个节点i,使其g(i)为最小。如果有几个节点都合格,那么就要选择一个目标节点作为节点i(要是有目标节点的话);否则,就从中选一个作为节点i。把节点i从OPEN表移至扩展节点表CLOSED中。(4)如果节点i为目标节点,则求得一个解。(5)扩展节点i。如果没有后继节点,则转向第(2)步。(6)对于节点i的每个后继节点j,计算g(j)=g(i)+c(i,j),并把所有后继节点j放进OPEN表。提供回到节点i的指针。(7)转向第(2)步。,33,图 3.9 等代价搜索算法框图,34,3.3 启发式搜索,盲目搜索的不足:效率低,耗费过多的计算空间与时间 分析前面介绍的宽度优先、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能原理 人工智能 原理 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5459319.html