人工智能搜索策略33.pptVIP

  1. 1、本文档共94页,可阅读全部内容。
  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文档。上传文档
查看更多
人工智能搜索策略33

(4) 如果节点n可扩展,则做下列工作: ① 扩展节点 n,将其子节点放入 OPEN 表的首部,并为每个子节点配置指向父节点的指针,以备标示过程使用。 ② 考察这些子节点中有否终止节点。若有,则标示这些终止节点为可解节点,并应用可解标示过程对其先辈节点中的可解节点进行标示。如果初始节点 S0 也被标示为可解节点,则搜索成功,退出搜索过程如果不能确定 S0 为可解节点,则从 OPEN 表中删去具有可解先辈的节点。 ③ 转第 (2) 步。 (5) 如果节点n不可扩展,则做下列工作: ① 标示节点n为不可解节点。 ② 应用不可解标示过程对节点 n 的先辈节点中不可解的节点进行标示。如果初始节点S0也被标示为不可解节点,则搜索失败,表明原始问题无解,退出搜索过程;如果不能确定S0为不可解节点,则从 OPEN 表中删去具有不可解先辈的节点。 ③ 转第 (2) 步。 广度优先搜索及深度优先搜索都是盲目搜索,其共同点是: (1) 搜索从初始节点开始,先自上而下地进行搜索,寻找终止节点及端点节,然后再自下而上地进行标示,一旦初始节点被标示为可解节点或不可解节点,搜索就不再继续进行。 (2) 搜索都是按确定路线进行的,当要选择一个节点进行扩展时,只是根据节点在与/或树中所处的位置,而没有考虑要付出的代价,因而求得的解树不一定是代价最小的解树,即不一定是最优解树。 3.3.2 与/或树的盲目搜索 3.3.3 与/或树的启发式搜索 1.与/或树的有序搜索 与/或树的有序搜索是用来求取代价最小的解树的一种搜索方法,为了求得代价最小的解树,就要在每次确定欲扩展的节点时,先往前多看几步,计算一下扩展这个节点可能要付出的代价,并选择代价最小的节点进行扩展。 Def:像这样根据代价决定搜索路线的方法称为与/或树的有序搜索,它是一种启发式搜索策略。 相关概念: (1)解树的代价:为进行有序搜索,需要计算解树的代价,而解树的代价可通过计算解树中节点的代价得到. (2)希望树: 下面首先给出计算节点代价的方法,然后再说明如何求解树的代价。 设用c(x,y)表示节点x到其子节点y的代价,则计算节点x的代价的方法如下: (1) 如果x是终止节点,则定义节点 x 的代价 h(x)=0; (2) 如果x是“或”节点,y1,y2,…,yn 是它的子节点,则节点x的代价由下式计算得到 h(x)=min{c(x,yi)+h(yi)},(1≤i≤n) (3) 如果x是“与”节点,则节点x的代价有两种计算方法:和代价法与最大代价法。 若按和代价法计算,则有h(z)=∑(c(z,yi)+h(yi)) 若按最大代价法计算,则有h(z)=max(c(z,yi)+h(yi)) (4) 如果x不可扩展,且又不是终止节点,则定义 h(z)=∞。 3.3.3 与/或树的启发式搜索 举例:下图是一棵与/或树,其中包括两棵解树,一棵解树由S0,A,t1和t2组成;另一棵解树由S0,B,D,G,t4和t5组成。在此与/或树中,t1,t2,t3,t4,t5为终止节点;E,F是端节点,其代价为∞;边上的数字是该边的代价。 由左边的解树可得: 按和代价:h(A)=11,h(S0)=13 按最大代价:h(A)=6,h(S0)=8 由右边的解树可得: 按和代价: h(G)=3,h(D)=4,h(B)=6,h(S0)=8 按最大代价: h(G)=2,h(D)=3,h(B)=5,h(S0)=7 (2) 希望树: 无论是用和代价方法还是最大代价方法,当要计算任一节点x的代价 h(x)时,都要求己知其子节点 yi 的代价 h(yi) 。 搜索是自上而下进行的,即先有父节点,后有子节点,除非节点x的全部子节点都是不可扩展节点,否则子节点的代价是不知道的。此时节点x的代价h(x)如何计算呢? 3.3.3 与/或树的启发式搜索 3.3.3 与/或树的启发式搜索 解决的办法是: 根据问题本身提供的启发性信息定义一个启发函数, 由此启发函数估算出子节点集的代价 h(yi), 按和代价或最大代价算出节点x的代价值h(x), 有了h(x),节点x的父节点,祖父节点以及直到初始节点 S0的各先辈节点的代价 h 都可自下而上的逐层推算出来。 当节点yi被扩展后,也是先用启发函数估算出其子节点的代价,然后再算出h(yi)。 注意:此时算出的h(yi) 可能与原先估算出的h(yi)不相同,这时应该用后算出的h(yi)取代原先估算出的h(yi),并且按此h(yi)自下而上地重新计算各先辈节点的 h 值。当节点yi的子节点又被扩展时,上述过程又要重复进行一遍。 总之,每当有一代新的节

文档评论(0)

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

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

1亿VIP精品文档

相关文档