人工智能与或图搜索23.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人工智能 吉林大学珠海学院计算机科学与技术系 2.1 与或图 (AND/OR Graph) 的搜索 为严格描述 AND/OR 图,我们先推广弧的概念。在有 向图中的弧是从一个父亲节点指向它的儿子节点 的。 在 AND/OR 图中使用的弧叫做超弧,一个超弧 可以把一个父亲节点和 k 个儿子节点同时连接起来, 这样的弧也叫做 k 连弧,在 AND/OR 图中, k 连弧用 弧线连接起来。当 k=1 时, k 连弧退化成通常的有 向图中的弧。 人工智能 吉林大学珠海学院计算机科学与技术系 k 连弧 一般的弧 人工智能 吉林大学珠海学院计算机科学与技术系 n7 n6 n3 n0 n1 n4 n2 n5 n8 与或图 人工智能 吉林大学珠海学院计算机科学与技术系 n 5 n 1 n 3 n 6 n 7 n 8 n 5 n 0 n 7 n 8 n 4 n 0 三个解图 n 5 n 7 n 8 n 4 n 0 人工智能 吉林大学珠海学院计算机科学与技术系 在定义中假定 AND/OR 图不含回路,即是说, 图中不存在 一个节点的后裔也是这个节点的祖先的情形。 不含回路 保证了节点间具有部分序关系, 从而保证了下面定义的 合理性。 设 N 是 AND/OR 图 G 的目标节点集合, 从图中任意一个节点 n 出发到 N 的一个解图是 AND/OR 图 G 的一个子图, 用G'表示, 递归定义如下: 如果 n 是 N 中的一个节点, 则G'只包括 n. 如果 n 有一条从 n 出发的 k 连弧 ai, 这个 k 连弧连接的儿子节 点是 {n1, n2, ..., nk}, 则解图G'由节点 n, k 连弧 ai, 和由 n1, n2, ..., nk 出发的解图构成。 否则, G 没有从 n 出发到 N 的解图。 人工智能 吉林大学珠海学院计算机科学与技术系 与或图 ? 设从节点 n 到目标节点集合 N 的费用用 c(n, N) 表示, 则 c(n, N) 定义如下: ? 如果 n 是 N 中的一个节点, 则 c(n, N)=0 , ? 如果 n 有一条从 n 出发的 k 连弧 ai, 这个 k 连弧连接的儿子节点 是 {n1, n2, ..., nk}, 则解图 G' 由节点 n, k 连弧 ai, 和由 n1, n2, ..., nk 出发的解图构成。这时,解图 G' 的费用定义为 ? c(n, N)= c(ai)+ c(n, n1)+…+ c(n, nk), 其中 c(ai) 是 k 连弧 ai 的 费用 . ? 否则, G 没有从 n 出发到 N 的解图。设其费用为无穷大 ∞ . 。 ? 例如,如果假定 k 连弧的费用是 k, 则图 3.4 所示的 AND/OR 图的两个解图中,左图的费用是 8 , 右图的费用是 7 。 人工智能 吉林大学珠海学院计算机科学与技术系 2.2 与或图的启发式搜索 AND/OR 图的启发搜索过程 AO* 1. 建立一个只由根节点 s 构成的搜索图 G, 设从 s 出发的解图的 费用为 q(s)=h(s), 如果 s 是目标节点, 用 SOLVED 标记 s. 2. until s 被标上 SOLVED, do: 3. begin 4. 通过跟踪从 s 出发的有标记的超弧计算候选解图 G'( 这些 标记在后 面的步骤 11 中给出 ) 5. 在 G' 中选一个不是目标节点的叶节点 n, 6. 扩展节点 n, 产生节点 n 的所有儿子 {n1, n2, ..., nk}, 并把这 些儿子连到图 G 上 , 对于每一个不曾在 G 中出现的儿子 nj, 设 q(nj)=h(nj), 如果这些儿子节点中的某些节点是目标节点 , 则 把这些节点标记为 SOLVED. 人工智能 吉林大学珠海学院计算机科学与技术系 7. 建立一个由 n 构成的单元素集合 S. 8. 直到 S 变空 , do: 9. begin 10. 从 S 中删除其儿子节点不在 S 中的节点 , 记此节点为 m. 11. 按以下步骤修改 m 的费用 q(m), 对于每一个从 m 出发的 指向节点集合 {ni1, ni2, ..., nik} 超弧 ai ,计算 qi(m)= c(ai)+ q(ni1)+…+ q(nik), 这里的 q( nij) 或者是在本循环内部的前面步骤 计算出的值,或者是在步骤 6 中指定的值。 设 q(m) 是所有 qi(m) 的最 小者, 标记实现这个最小值的超弧,如果本次标记与以前的标记不 同, 擦去以前的标记, 如果这些超弧指向的所有儿子节点都标记了 SOLVED, 则

文档评论(0)

wangsux + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档