第七讲与或树的搜索策略ppt课件.ppt
《第七讲与或树的搜索策略ppt课件.ppt》由会员分享,可在线阅读,更多相关《第七讲与或树的搜索策略ppt课件.ppt(43页珍藏版)》请在三一办公上搜索。
1、6.3 与/或树的搜索策略,一般搜索过程宽度优先搜索深度优先搜索有序搜索博弈树搜索-剪枝技术,可解节点与不可解节点,在与/或树上执行搜索过程,目的在于表明起始节点有解或无解。,可解节点的递归定义为:终叶节点是可解节点,直接和本原问题相关连;非终叶节点含有“或”子节点时,只要子节点中有一个是可解节点,该非终叶节点便为可解节点;非终叶节点含有“与”子节点时,只有子节点全为可解节点时,该非终叶节点才是可解节点。,注意:终叶节点一定是端节点,但端节点不一定是终叶节点。,由可解子节点来确定先辈节点是否为可解节点的过程称为可解标示过程。由不可解子节点来确定先辈节点是否为可解节点的过程称为不可解标示过程。,
2、不可解节点的定义为:关于可解节点的三个条件全部不满足的节点,称为不可解节点;,一般搜索过程流程,(1)把原始问题作为初始节点S,并把它作为当前节点。(2)应用分解或等价变换算符对当前节点进行扩展。(3)为每个子节点设置指向父节点的指针。(4)选择合适子节点作为当前节点,反复执行第(2)、(3)步,在此期间多次调用可解标示过程和不可解标示过程,直到初始节点被标示为可解节点或不可解节点为止。由这个搜索过程所形成的节点和指针结构称为搜索树。搜索中,通过可解标示过程确定初始节点是可解的,则由此初始节点及其下属的可解节点就构成了解树。,提高与/或树搜索效率的两个性质,与/或搜索有两个特有性质,可用来提高
3、搜索效率:如果已确定某个节点为可解节点,其不可解的后裔节点不再有用,可从搜索树中删去;若已确定某个节点是不可解节点,其全部后裔节点都不再有用,可从搜索树中删去。但当前这个不可解节点还不能删去,在判断其先辈节点的可解性时还要用到。,宽度优先搜索算法流程,基本思想:先产生的节点先扩展,先进先出。把初始节点S放入OPEN表。把OPEN表中的第一个节点(记为节点n)取出放入CLOSLD表。如果n可扩展,则做下列工作: 扩展n,将其子节点放入OPEN表的尾部,并为每个子节点配置父指针,以备标示过程使用。 考察子节点中是否有终叶节点。若有,则标示这些终叶节点为可解节点,并应用可解标示过程对其先辈节点中的可
4、解节点进行标示。若S也被标示为可解节点,就得到了解树,搜索成功,退出搜索过程;若无法确定S可解,则从OPEN表中删去具有可解先辈的节点。 转步骤2。,宽度优先搜索算法流程,4. 如果n不可扩展,则做下列工作: 标示n为不可解节点。 应用不可解标示过程对n的先辈节点中不可解的节点进行标示。如果S被标示为不可解节点,则搜索失败,原始问题无解,退出搜索过程;如果无法确定S不可解,则从OPEN表中删去具有不可解先辈的节点。 转步骤2。,宽度优先搜索算法流程,宽度优先搜索算法流程,例:与/或树的宽度优先搜索,例:设有如图所示的与/或树,其中t1,t2,t3,t4均为终叶节点,A和B是不可解的端节点。 试
5、采用与/或树的宽度优先搜索法对该图进行搜索。,例:与/或树的宽度优先搜索,Step1:扩展1号节点,得到2、3号节点。2、3都不是终叶节点,接着扩展2。,例:与/或树的宽度优先搜索,Step3:扩展2,得到4、t1。t1是终叶节点,标示为可解节点,应用可解标示过程,对其先辈节点中的可解节点进行标示。t1的父节点是“与”节点,仅由t1可解不能确定2是否可解,应继续搜索。,例:与/或树的宽度优先搜索,Step3:扩展3得到5、B,都不是终叶节点,接着扩展4。Step4:扩展4得到A、t2。t2是终叶节点,标示4为可解节点。应用可解标示过程标出4、2均为可解节点。还不能确定1为可解节点。此时5号节点
6、是OPEN表中的第一个待考察的节点,所以下一步扩展5号节点。,例:与/或树的宽度优先搜索,Step5:扩展5得到t3、t4。都是终叶节点,标示5为可解节点。 应用可解标示过程得到5、3、1均为可解节点。Step6:搜索成功,得到解树。,深度优先搜索的几点说明,与/或树的深度优先搜索和宽度优先搜索过程基本相同。只要把第(3)步的第点改为“扩展节点n,将其子节点放入OPEN表的首部,并为每个子节点配置父指针,以备标示过程使用”,就可使后产生的节点先被扩展。也可像状态空间的有界深度优先搜索那样,为与/或树的深度优先搜索规定一个深度界限,使搜索在规定范围内进行。,有界深度优先搜索算法流程,把初始节点S
7、放人OPEN表。把OPEN表中第一个节点n取出,放入CLOSLD表。如果n的深度深度界限,转第(5)步的第点。如果n 可扩展,做下列工作: 扩展n,将子节点放入OPEN表首部,配置父指针,在 标示过程使用。 若子节点中有终叶节点,标示其为可解节点,对其先辈 节点应用可解标示过程进行标示。若S被标示为可解, 得到解树,成功退出搜索;若无法确定S为可解节点, 从OPEN表中删去有可解先辈的节点。 转第(2)步。,有界深度优先搜索算法流程,如果n不可扩展,则做下列工作: 标示n为不可解节点。 应用不可解标示过程对n的先辈节点中不可解节点进行标示。如果S被标示为不可解节点,则搜索失败退出;如果不能确定
8、S为不可解节点,则从OPEN表中删去有不可解先辈的节点。 转第(2)步。,例:与/或树的深度优先搜索,对与/或树进行有界深度优先搜索,并规定深度界限为4,则扩展节点的顺序是:1,3,B,5,2,4解树与宽度优先搜索相同。,与/或树的深度、宽度优先搜索特点,都是盲目搜索。搜索从初始节点开始,先自上而下进行搜索,寻找终叶节点及端点节,然后再自下而上进行标示。一旦初始节点被标示为可解或不可解节点,搜索就不再继续进行。搜索都按确定路线进行,当选择某个节点进行扩展时,只考虑节点在与/或树中的位置,没有考虑要付出的代价,因而求得的解树不一定是代价最小的解树,即不一定是最优解树。,有序搜索的基本思想,与/或
9、树的有序搜索是求代价最小的解树的搜索方法。为求得代价最小的解树,每次确定待扩展节点时,需要往前多看几步,计算扩展这个节点可能要付出的代价,并选择代价最小的节点进行扩展。像这样根据代价决定搜索路线的方法称为与/或树的有序搜索,它是一种启发式搜索策略。,解树的代价计算方法,通过计算解树中节点的代价得到。若问题可解,由子节点代价推算父节点代价,逐层上推,最终求出S的代价,即解树的代价。,设c(x, y)表示节点x到其子节点y的代价,则x的代价计算方法如下:如果x是终叶节点,则定义x的代价: h(x)=0如果x不可扩展,且不是终叶节点,则定义:h(x)=如果x是“或”节点,y1, y2, , yn是它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 搜索 策略 ppt 课件

链接地址:https://www.31ppt.com/p-1469029.html