网站大量收购独家精品文档,联系QQ:2885784924

第二章与或图搜索问题.pptVIP

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 与或图搜索问题 2.2基本概念 与或图是一个超图,节点间通过连接符连接。 K-连接符: 耗散值的计算 k(n, N) = Cn+k(n1, N)+…+k(ni, N) 其中:N为终节点集 Cn为连接符的耗散值 递归定义局部图: 定义: ①单一节点是一个局部图; ②对于一个局部图的任意叶节点n,选择一个n的外向连接符K,则该局部图、外向连接符K,以及K所连接的n的后继节点一起组成的图,仍然组成一个局部图。 解图可递归定义如下: 定义:一个与或图G中,从节点n到节点集N的解图记为 , 是G的子图。 ①若n是N的一个元素,则 由单一节点组成; ②若n有一个指向节点{n1,…,nk}的外向连接符K,使得从每一个ni到N有一个解图(i=1,…,k),则 由节点n,连接符K,及{n1,…,nk}中的每一个节点到N的解图所组成; ③否则n到N不存在解图。 解图的耗散值记为k(n,N),则可递归计算如下: ①若n是N的一个元素,则k(n,N)=0; ②若n是一个外向连接符指向后继节点{n1,…,ni},并设该连接符的耗散值为Cn,则 k(n,N)=Cn+ k(n1 ,N) + … + k(ni ,N) 能解节点 终节点是能解节点 若非终节点有“或”子节点时,当且仅当其子节点至少有一能解时,该非终节点才能解。 若非终节点有“与”子节点时,当且仅当其子节点均能解时,该非终节点才能解。 不能解节点 没有后裔的非终节点是不能解节点。 若非终节点有“或”子节点,当且仅当所有子节点均不能解时,该非终节点才不能解。 若非终节点有“与”子节点时,当至少有一个子节点不能解时,该非终节点才不能解。 普通图搜索的情况 f(n) = g(n) + h(n) 对n的评价实际是对从s到n这条路径的评价 与或图: 对局部图的评价 局部图的耗散值记为k(n,N),则: ①若n是局部图的一个叶节点,则k(n,N)=h(n); ②若n是一个外向连接符指向后继节点{n1,…, },并设该连接符的耗散值为Cn,则 k(n,N)=Cn+ k(n1 ,N) + … + k(ni ,N) 其中,h(n)表示节点n到目标节点集的最佳解图耗散值的估计。 两个过程 图生成过程,即扩展节点 从最优的局部途中选择一个节点扩展 计算耗散值的过程 对当前的局部图从新计算耗散值 AO*算法举例 AO*算法过程 : 1、建立一个搜索图G,G:=s,计算q(s)=h(s),IF GOAL(s)THEN M(s,SOLVED);开始时图G只包括s,耗散值估计为h(s),若s是终节点,则标记上能解。 2、Until s已标记上SOLVED,do: 3、begin 4、G′:=FIND(G);根据连接符标记(指针)找出一个待扩展的局部解图G′。 5、n:=G′中的任一非终节点;选一个非终节点作为当前节点。 6、EXPAND(n),生成子节点集{nj},计算q(nj)=h(nj),其中nj G,G:=ADD({nj},G),IF GOAL(nj) THEN M(nj, SOLVED);对G中未出现的子节点计算耗散值,若有终节点则加能解标记,然后把n的子节点添加到G中。 7、S:={n};建立含n的单一节点集合S。 8、Until S为空,do: 9、begin 10、REMOVE(m,S), ;这个m的子节点mc应不在S中。 11、·修改m的耗散值q(m): 对m指向节点集{n1i,n2i,…,nki}的每一个连接符i分别计算qi: qi(m)=Ci+q(n1i)+…+q(nki), q(m):=min qi(m);对m的i个连接符,取计算结果最小的那个耗散值为q(m)。 ·加指针到min qi(m)的连接符上,或把指针修改到min qi(m)的连接符上,即原来指针与新确定的不一致时应删去。 ·IF M(nji, SOLVED) THEN M(m, SOLVED);若该连接符的所有子节点都是能解的,则m也标上能解。 12、IF M(m, SOLVED)∨(q(m)≠q0(m)) THEN ADD(ma, S);m能解或修正的耗散值与原先估算q0不同,则把m的所有先辈节点ma添加到S中。 13、end 14、end 这个算法可划分成两个操作阶段: 第一阶段是4-6步,完成自顶向下的图生成操作,先通过有标记的连接符,找到目前为止最好的一个局部解图,然后对其中一个非终节点进行扩展,并对其后继节点赋估计耗散值和加能解标记。 第二阶段是7-12步,完成自下向上的耗散值修正计算、连接符(即指针)的标记以及节点的能解标记。 耗散值的修正从刚被扩展的节点n开始,其修正耗散值q(n)取估计h(n)的所有值中最小的一个,然后根据耗散值递归计算公式逐级向上修正其先辈节点的耗散值,只有下

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档