搜索问题_人工智能教材.ppt

  1. 1、本文档共152页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OPEN表: 1)初始化(s(4)) 2)第一循环结束(B(4) A(6) C(6)) 3) 第二循环结束 (D(5) E(5) A(6) C(6) F(6)) 4) 第三循环结束 (E(5) A(6) C(6) F(6)G(6) H(7)) 5) 第四循环结束(I(5) A(6) C(6) F(6) G(6) H(7)J(7)) 6) 第五循环结束 (K(5) A(6) C(6) F(6) G(6) H(7) J(7)) 7) 第六循环结束(L(5) A(6) C(6) F(6) G(6)H(7) J(7) M(7)) 第七循环结束 在算法第4步成功退出 CLOSED表: 1)( ) 2)(s(4)) 3)(s(4) B(4)) 4)(s(4) B(4) D(5)) 5)(s(4) B(4) D(5) E(5)) 6)(s(4) B(4) D(5) E(5) I(5)) 7)(s(4) B(4) D(5) E(5) I(5) K(5)) A算法的表现极大地依赖于评价函数,特别是h(n),即:从节点n到目标节点最佳路径的估计耗散 假定h*(n)表示节点n到目标节点最佳路径的实际耗散 如果 h(n) h*(n) , 搜索的节点数少,搜索范围小,效率高,但不能保证得到最优解。 如果h(n)= h*(n) ,这种情况下,搜索的节点数多,搜索范围大,效率低,但能得到最优解 满足h(n)= h*(n) 条件的A搜索,称为A* (A-star)搜索 A* 搜索中,h(n)越接近h*(n) ,搜索效率越高 宽度优先算法可以看作A*算法的特例,即:g(n)是节点所在的层数,h(n)=0 代价树宽度搜索也可以看作A*算法的特例,即:g(n)是节点n的实际路径耗散,h(n)=0 跟前两个算法一样,A*算法也具有完备性和最优性 例:八数码问题 启发函数1:h1(n)=不在位的数码的总数 问题1:图中S0状态h(S0)是什么, h*(S0) 又是什么 问题2:这个启发函数是否一定满足h(n)= h*(n) 问题3:对于八数码问题,还能提出其他的启发函数吗? h(S0)=4 h*(S0)=5 例:八数码问题 启发函数2: h2(n)=所有数码到目标位置的距离和(曼哈顿距离) 问题1:图中S0状态h(S0)是什么, h*(S0) 又是什么 问题2:这个启发函数是否一定满足h(n)= h*(n) 数码1:1 数码2:1 数码3:0 数码4:0 数码5:0 数码6:1 数码7:0 数码8:2 h2(S0)=5 A*算法 当h(n)= h*(n) 时,同时满足完备性和最优性要求 h(n)越接近于真实耗散h*(n),算法的搜索效率越高,对内存和时间的需求越小 如果满足h(n)= h*(n),是最完美的A*算法 h(n)的设计是A*算法的核心,也是最困难的地方 例:传教士和野人问题 有3个传教士和3个野人过河 只有一条能装下两个人的船 在河的任何一方或者船上,如果野人的人数大于传教士的人数,那么传教士就会有危险. 要求安全渡河 分析: 由于传教士与野人的总数目是一常数, 所以只要表示出河的某一岸上的情况就可以了 另外还需要表示出船的位置 因此用一个三元组(M, C, B), 来表示系统状态 M表示河左岸传教士的人数 C表示河左岸野人的人数 B表示船的位置,1表示船在左岸,0表示船在右岸 于是,初始状态为 目标状态为 沿着树的宽度遍历树的节点,它从深度为0的层开始,直到最深的层次。它可以很容易地用队列实现。 一般不能保证找到最优解 当深度限制不合理时,可能找不到解,可以将算法改为可变深度限制 最坏情况时,搜索空间等同于穷举 与回溯法的差别:图搜索 是一个通用的与问题无关的方法 宽度优先搜索是一种盲目搜索,时间和空间复杂度都比较高,当目标节点距离初始节点较远时会产生许多无用的节点,搜索效率低。 宽度优先搜索中,时间需求是一个很大的问题,特别是当搜索的深度比较大时,尤为严重,但是空间需求是比执行时间更严重的问题。 宽度优先搜索优点: 目标节点如果存在,用宽度优先搜索算法总可以找到该目标节点,而且是最小(即最短路径)的节点。 深度优先搜索的优点是比宽度优先搜索算法需要较少的空间,该算法只需要保存搜索树的一部分,它由当前正在搜索的路径和该路径上还没有完全展开的节点标志所组成。 深度优先搜索的存储器要求是深度约束的线性函数。 目的 解决宽度优先方法的空间问题和回溯方法不能找到最优解的问题。 思想 首先给回溯法一个比较小的深度限制,然后逐渐增加深度限制,直到找到解或找遍所以分支为止。 有界深度优先搜索过程总体上按深度优先算法方法进行,但对搜索深度需要给出一个深度限制dm,当深度达到了dm的时候,如果还没有找到解

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档