人工智能课件4.3.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《人工智能课件4.3.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 课件 4.3
- 资源描述:
-
1、1 前面曾经讨论过与前面曾经讨论过与/ /或树的概念和问题的与或树的概念和问题的与/ /或树表示。用与或树表示。用与/ /或树法表示的问题求解过程与状或树法表示的问题求解过程与状态空间法类似,也是通过搜索来实现对问题求解态空间法类似,也是通过搜索来实现对问题求解的。与的。与/ /或树的搜索策略也分为或树的搜索策略也分为盲目搜索盲目搜索和和启发式启发式搜索搜索两大类。两大类。4.4 4.4 与与/ /或树的盲目搜索或树的盲目搜索2 与与/ /或树的搜索过程实际上是一个不断或树的搜索过程实际上是一个不断寻找解树寻找解树的过程。其一般搜索过的过程。其一般搜索过程如下:程如下: (1 1)把原始问题作
2、为初始节点把原始问题作为初始节点S0S0,并把它作为当前节点;并把它作为当前节点; (2 2)应用应用分解分解或或等价变换等价变换操作对当前节点进行扩展;操作对当前节点进行扩展; (3 3)为每个子节点设置指向父节点的指针;为每个子节点设置指向父节点的指针; (4 4)选择选择合适的合适的子节点作为当前节点,反复执行第(子节点作为当前节点,反复执行第(2 2)步和第()步和第(3 3)步,在此期间需要多次调用步,在此期间需要多次调用可解标记过程可解标记过程或或不可解标记过程不可解标记过程,直到初始节点,直到初始节点被标记为被标记为可解节点或不可解节点可解节点或不可解节点为止。为止。 上述搜索过
3、程将形成一棵与上述搜索过程将形成一棵与/ /或树,这种由搜索过程形成的与或树,这种由搜索过程形成的与/ /或树称为或树称为搜索树搜索树。当搜索成功时,经可解标记过程标识的由初始节点及其下属的可解。当搜索成功时,经可解标记过程标识的由初始节点及其下属的可解节点构成的子树称为节点构成的子树称为解树解树。4.4 4.4 与与/ /或树的盲目搜索或树的盲目搜索一一. . 与与/ /或树的一般搜索或树的一般搜索 搜索过程中的搜索过程中的可解标记过程与不可解标记过程可解标记过程与不可解标记过程都是都是自下而上自下而上进行的,即由进行的,即由子节点的可解性确定父节点、祖父节点的可解性;由子节点的不可解性确定
4、父子节点的可解性确定父节点、祖父节点的可解性;由子节点的不可解性确定父节点、祖父节点的不可解性。节点、祖父节点的不可解性。 在与在与/ /或树中,除或树中,除端节点端节点和和终止节点终止节点外,外,一个节点的可解性完全是由其子一个节点的可解性完全是由其子节点来决定的节点来决定的。对与节点,只有其所有子节点都为可解时它才为可解,只要有。对与节点,只有其所有子节点都为可解时它才为可解,只要有一个子节点不可解它就是不可解的;对或节点,只要有一个子节点可解它就是一个子节点不可解它就是不可解的;对或节点,只要有一个子节点可解它就是可解的,仅当所有子节点都是不可解时它才为不可解。可解的,仅当所有子节点都是
5、不可解时它才为不可解。1.1.可解标记过程可解标记过程: :由可解子节点来确定其父节点、祖父节点为可解节点的过程。由可解子节点来确定其父节点、祖父节点为可解节点的过程。2.2.不可解标记过程不可解标记过程:由不可解子节点来确定其父节点、祖父节点为不可解节点由不可解子节点来确定其父节点、祖父节点为不可解节点的过程。的过程。 由于与由于与/ /或树搜索的目标是或树搜索的目标是寻找解树寻找解树,因此,如果搜索过程确定某个节点,因此,如果搜索过程确定某个节点为可解节点,则其为可解节点,则其不可解的后裔节点就可从搜索树中删去不可解的后裔节点就可从搜索树中删去;同样,如果搜索过;同样,如果搜索过程能确定某
6、个节点为不可解节点,则其后裔节点也可从搜索树中删去。程能确定某个节点为不可解节点,则其后裔节点也可从搜索树中删去。一一. . 与与/ /或树的一般搜索或树的一般搜索 与与/ /或树的广度优先搜索与状态空间的广度优先搜索类似,只是或树的广度优先搜索与状态空间的广度优先搜索类似,只是在搜索过程在搜索过程中需要多次调用可解标记过程或不可解标记过程中需要多次调用可解标记过程或不可解标记过程,其搜索算法如下:,其搜索算法如下:(1 1)把初始节点把初始节点S0 S0 放人放人OpenOpen表中;表中;(2 2)把把OpenOpen表的第一个节点取出放入表的第一个节点取出放入ClosedClosed表,
7、并记该节点为表,并记该节点为n n;(3 3)如果节点如果节点n n可扩展可扩展,则做下列工作:,则做下列工作: 扩展节点扩展节点n n,将将其子节点其子节点放入放入OpenOpen表的表的尾部尾部,并为每一个子节点设置指向父,并为每一个子节点设置指向父节点的指针;节点的指针; 考察这些子节点中考察这些子节点中是否有终止节点是否有终止节点。若有,则标记这些终止节点为可解节。若有,则标记这些终止节点为可解节点,并用可解标记过程对其父节点及先辈节点中的可解节点进行标记。如果初始点,并用可解标记过程对其父节点及先辈节点中的可解节点进行标记。如果初始解节点解节点S0S0能够被标记为可解节点,就得到了解
8、树,搜索成功,退出搜索过程;如能够被标记为可解节点,就得到了解树,搜索成功,退出搜索过程;如果不能确定果不能确定S0S0为可解节点,则从为可解节点,则从OpenOpen表中删去具有可解先辈的节点;表中删去具有可解先辈的节点; 转第(转第(2 2)步。)步。(4 4)如果节点如果节点n n不可扩展不可扩展,则做下列工作:,则做下列工作: 标记节点标记节点n n为不可解节点;为不可解节点; 应用不可解标记过程对节点应用不可解标记过程对节点n n的先辈中不可解的节点进行标记。如果初始解的先辈中不可解的节点进行标记。如果初始解节点节点S0S0也被标记为不可解节点,则搜索失败,表明原始问题无解,退出搜索
9、过程;也被标记为不可解节点,则搜索失败,表明原始问题无解,退出搜索过程;如果不能确定如果不能确定S0S0为不可解节点,则从为不可解节点,则从OpenOpen表中删去具有不可解先辈的节点;表中删去具有不可解先辈的节点; 转第(转第(2 2)步。)步。二二. . 与与/ /或树的广度优先搜索或树的广度优先搜索 例:例:设有如下图所示的与设有如下图所示的与/ /或树,节点按图中所标注的顺序号进行扩展,其中或树,节点按图中所标注的顺序号进行扩展,其中标有标有t1t1、t2t2、t3t3的节点是终止节点,的节点是终止节点,A A 、 B B 、 C C为不可解的端节点。为不可解的端节点。 与与/或树的广
10、度优先搜索或树的广度优先搜索123A4t1t3CBt25搜索过程为搜索过程为:( 1 1)先先扩展扩展1 1号节点号节点,生成,生成2 2号节点和号节点和3 3号节号节点,由于这两个子节点都不是终止节点,因此点,由于这两个子节点都不是终止节点,因此接着扩展接着扩展2 2号节点,此时号节点,此时OpenOpen表中只剩下表中只剩下 3 3号号节点。节点。(2 2)扩展扩展2 2号节点号节点,生成,生成A A节点和节点和4 4号节点。由于号节点。由于这两个子节点均不是终止节点,因此接着扩展这两个子节点均不是终止节点,因此接着扩展3 3号节点,此时号节点,此时OpenOpen表中剩下表中剩下A A节
11、点和节点和4 4号节点。号节点。(3 3)扩展扩展3 3号节点号节点,生成,生成t1t1节点和节点和5 5号节点。由于号节点。由于t1t1为终止节点,则标记它为终止节点,则标记它为可解节点,并应用可解标记过程,对其先辈中的可解节点进行标记,由于为可解节点,并应用可解标记过程,对其先辈中的可解节点进行标记,由于t1t1的父节点是一个与节点,因此不能确定的父节点是一个与节点,因此不能确定3 3号节点是否可解。下一步扩展号节点是否可解。下一步扩展A A节节点,此时点,此时OpenOpen表中剩下表中剩下4 4号节点和号节点和 5 5号节点。号节点。(4 4)扩展节点扩展节点A A,由于由于A A是端
12、节点,因此不可扩展。调用不可解标记过程,是端节点,因此不可扩展。调用不可解标记过程,由于由于2 2号节点是或节点,因此不能确定号节点是或节点,因此不能确定2 2号节点是不可解节点。下一步扩展号节点是不可解节点。下一步扩展4 4号节点,此时号节点,此时OpenOpen表中仅剩下表中仅剩下5 5号节点。号节点。(5 5)扩展扩展4 4号节点号节点,生成,生成t2t2节点和节点和B B节点。节点。由于由于t2t2为终止节点,则标记它为可解节点,为终止节点,则标记它为可解节点,并应用可解标记过程,对其先辈中的可解并应用可解标记过程,对其先辈中的可解节点进行标记,由于节点进行标记,由于4 4号节点是一个
13、或节点,号节点是一个或节点,因此可标记它为可解节点。继续向上,可因此可标记它为可解节点。继续向上,可标记标记2 2号节点为可解节点,但不能标记号节点为可解节点,但不能标记1 1号号节点为可解节点。下一步扩展节点为可解节点。下一步扩展5 5号节点,此号节点,此时时OpenOpen表为空。表为空。(6 6)扩展扩展5 5号节点号节点,生成,生成t3t3节点和节点和C C节点。由于节点。由于t3t3为终止节点,标为终止节点,标记它为可解节点,并应用可解标记过程,对其先辈中的可解节点进记它为可解节点,并应用可解标记过程,对其先辈中的可解节点进行标记,由于行标记,由于5 5号节点是一个或节点,因此可标记
14、它为可解节点。号节点是一个或节点,因此可标记它为可解节点。继续向上,可标记继续向上,可标记3 3号节点为可解节点。由于号节点为可解节点。由于2 2号节点和号节点和3 3号节点都号节点都为可解节点,因此可标记为可解节点,因此可标记1 1号节点为可解节点。号节点为可解节点。(7 7)搜索成功搜索成功,得到由,得到由1 1、2 2、3 3、4 4、5 5号节点及号节点及t1t1、t2t2、t3t3节点构节点构成的解树。该解树如上图中的粗线所示。成的解树。该解树如上图中的粗线所示。 与与/或树的广度优先搜索或树的广度优先搜索123A4t1t3CBt25 与与/ /或树的深度优先搜索和与或树的深度优先搜
15、索和与/ /或树的广度优先搜索过程基本相同,其主要或树的广度优先搜索过程基本相同,其主要区别在于区别在于 OpenOpen表中节点的排列顺序不同。在扩展节点时,与表中节点的排列顺序不同。在扩展节点时,与/ /或树的深度优先或树的深度优先搜索过程总是把搜索过程总是把刚生成的节点刚生成的节点放在放在OpenOpen表的表的首部首部。同状态空间的深度优先搜索。同状态空间的深度优先搜索一样也一样也可以带有深度限制可以带有深度限制dmdm,其搜索算法如下:其搜索算法如下: (1 1)把初始节点)把初始节点S0S0放入放入OpenOpen表中;表中; (2 2)把)把OpenOpen表的第一个节点取出放入
16、表的第一个节点取出放入ClosedClosed表,并记该节点为表,并记该节点为n n; (3 3)如果节点如果节点n n的深度等于的深度等于dmdm,则转第(则转第(5 5)步的第点;)步的第点; (4 4)如果节点)如果节点n n可扩展可扩展,则做下列工作:,则做下列工作: 扩展节点扩展节点 n n,将其子节点放入将其子节点放入 OpenOpen表的首部,并为每一个子节点设表的首部,并为每一个子节点设置指向父节点的指针;置指向父节点的指针; 考察这些子节点中考察这些子节点中是否有终止节点是否有终止节点。若有,则标记这些终止节点为可。若有,则标记这些终止节点为可解节点,并用可解标记过程对其父节
17、点及先辈节点中的可解节点进行标记。如解节点,并用可解标记过程对其父节点及先辈节点中的可解节点进行标记。如果初始节点果初始节点S0S0能够被标记为可解节点,就得到了解树,搜索成功,退出搜索过能够被标记为可解节点,就得到了解树,搜索成功,退出搜索过程;如果不能确定程;如果不能确定S0S0为可解节点,则从为可解节点,则从OpenOpen表中删去具有可解先辈的节点;表中删去具有可解先辈的节点; 转第(转第(2 2)步。)步。三三. . 与与/ /或树的深度优先搜索或树的深度优先搜索(5 5)如果节点)如果节点n n不可扩展不可扩展,则做下列工作:,则做下列工作: 标记节点标记节点n n为不可解节点;为
18、不可解节点; 应用不可解标记过程对节点应用不可解标记过程对节点n n的先辈中不可解的节点进行标记。如果初的先辈中不可解的节点进行标记。如果初始节点始节点S0S0也被标记为不可解节点,则搜索失败,表明原始问题无解,退出搜也被标记为不可解节点,则搜索失败,表明原始问题无解,退出搜索过程;如果不能确定为不可解节点,则从索过程;如果不能确定为不可解节点,则从OpenOpen表中删去具有不可解先辈的表中删去具有不可解先辈的节点;节点; 转第(转第(2 2)步。)步。 与与/或树的深度优先搜索或树的深度优先搜索123A4t1t3CBt25例如,对上例所给出的与或树,例如,对上例所给出的与或树,若按有界深度
19、优先搜索,且给定若按有界深度优先搜索,且给定dm=4dm=4,则其扩展节点的顺序为:则其扩展节点的顺序为: 1 1,3 3,5 5,2 2,4 4其解树与上例相同。其解树与上例相同。4.4 4.4 与与/ /或树的盲目搜索或树的盲目搜索三三. . 与与/ /或树的深度优先搜索或树的深度优先搜索9 与与/ /或树的盲目搜索是或树的盲目搜索是按确定路线进行按确定路线进行的,当要选择一个节点进行扩展时,的,当要选择一个节点进行扩展时,只是只是根据节点在与根据节点在与/ /或树中或树中所处的位置所处的位置,而,而没有考虑要付出的没有考虑要付出的代价代价,因而求得,因而求得的解树不一定是代价最小的解树,
20、即不一定是最优解树。因此,我们需要考虑的解树不一定是代价最小的解树,即不一定是最优解树。因此,我们需要考虑与与/ /或树的启发式搜索。在讨论与或树的启发式搜索过程之前,需要先讨论或树的启发式搜索。在讨论与或树的启发式搜索过程之前,需要先讨论几个有关的概念。几个有关的概念。一一. . 解树的代价与希望树解树的代价与希望树 与或树的启发式搜索过程是一种利用搜索过程所得到的启发性信息寻找与或树的启发式搜索过程是一种利用搜索过程所得到的启发性信息寻找最优解树的过程。对搜索的每一步,算法都试图找到一个最有希望成为最优解最优解树的过程。对搜索的每一步,算法都试图找到一个最有希望成为最优解树的子树。树的子树
21、。最优解树是指最优解树是指代价最小代价最小的那棵解树的那棵解树。那么,如何计算解树的代价呢?。那么,如何计算解树的代价呢?4.5 4.5 与与/ /或树的启发式搜索或树的启发式搜索1 1解树的代价解树的代价 要寻找最优解树,首先需要计算要寻找最优解树,首先需要计算解树的代价解树的代价。在与在与/ /或树的启发式搜索过程或树的启发式搜索过程中,解树的代价可按如下规则计算:中,解树的代价可按如下规则计算: (1 1)若若n n为终止节点为终止节点,则其代价,则其代价h h(n n)=0=0。 (2 2)若若n n为或节点为或节点,且子节点为,且子节点为n1n1,n2n2,nknk,则则n n的代价
22、为的代价为 h h(n n)= min = min c c(n n,nini) h h(nini) (1ik) (1ik) 其中,其中,c c(n n,nini)是节点是节点n n到其子节点到其子节点nini的边代价。的边代价。 (3 3)若若n n为与节点为与节点,且子节点为,且子节点为n1n1,n2n2,nknk,则则n n的代价可用和代价法的代价可用和代价法或最大代价法。或最大代价法。 若用若用和代价法和代价法,则其计算公式为:,则其计算公式为: h h(n n)= (= (c(nc(n,nini) ) h(nih(ni) i=1,2,) i=1,2,k ,k 若用若用最大代价法最大代价
23、法,则其计算公式为:,则其计算公式为: h h(n n)= =maxmaxc c(n n,nini)h h(nini) (1ik) (1ik) (4 4)若若n n是端节点是端节点,但又不是终止节点,则,但又不是终止节点,则n n不可扩展,其代价定义为不可扩展,其代价定义为 h h(n n)= = (5 5)根节点的代价即为解树的代价根节点的代价即为解树的代价。一一. . 解树的代价与希望树解树的代价与希望树例例 :设右图是一棵与设右图是一棵与/ /或树,其中包括两或树,其中包括两棵解树,左边的解树由棵解树,左边的解树由S0S0、A A 、 t1 t1、C C及及t3t3组成;右边的解树由组成
展开阅读全文