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

2-1 搜索问题教学教材.ppt

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2-1 搜索问题教学教材.ppt

* D B s A 6 5 7 3 4 g=0 2 1 D E A g=3 g=6 g=4 g=9 g=8 g=7 D B s F A t C E 5 5 4 3 4 3 4 2 4 * D B s A 6 5 7 3 4 g=0 2 1 D E A B F 9 10 g=3 g=10 g=6 g=4 g=9 g=8 g=7 g=11 D B s F A t C E 5 5 4 3 4 3 4 2 4 * D B s A C E 6 5 7 3 4 g=0 2 1 D E A B F 9 10 11 12 g=3 g=10 g=6 g=4 g=9 g=8 g=7 g=11 g=12 g=11 D B s F A t C E 5 5 4 3 4 3 4 2 4 * D B s A t C E 6 5 7 3 4 g=0 2 1 D E A B F 9 10 11 12 g=3 g=10 g=6 g=4 g=9 g=8 g=7 g=11 g=12 g=11 g=13 D B s F A t C E 5 5 4 3 4 3 4 2 4 4-5 最佳图搜索算法A* 可采纳性 对任意一个图,当初始结点s到目标结点t有一条路径存在时,如果搜索算法总是在找到一条从初始结点s到目标结点t的最佳路径上结束,则称该算法是可采纳的 * 评价函数 f(n) = g(n) + h(n) 启发函数 h(n) A*算法 使用的启发函数h(n)处在h*(n)的下界范围, 即满足 h(n) ? h*(n) 则A*算法具有可采纳性 * 计算机导论 · 张 伟 关于“评价函数”与“启发函数” 对任意一个图,当初始结点s到目标结点t有一条路径存在时,如果搜索算法总是在找到一条从初始结点s到目标结点t的最佳路径上结束,则称该算法是可采纳的 h*(n) h(n) 启发信息增强 0 无启发信息 算法是可采纳的 定理1.1 对有限图,如果从初始结点s到目标结点t有路径存在,则算法A一定成功结束 证明:反证法 设A搜索失败,则算法在②结束,OPEN为空,CLOSED表示算法结束前被扩展过的结点 根据前提,有解路径,设为n0=s, n1, n2,…, nk=t 解路径上必有ni?CLOSED, ni+1?CLOSED 所以, ni扩展过,ni+1在OPEN中→扩展ni+1→ ni+1在CLOSED中,或者搜索成功。矛盾! * 引理1.1 对无限图,若存在从初始结点s到目标结点t的一条路径,则A*不结束时,在OPEN表中即使最小的一个f值也将增加到任意大,或有f(n)f*(s). 证明: d*(n)为s到n的最短路径长度(单位弧长) e = min C(ni,ni+1), 则g*(n)? d*(n)e ∵ g(n)? g*(n)? d*(n)e ∴ f(n)= g(n) +h(n) ? g(n) ? d*(n) e (设h(n) ?0 ) 若A*不结束, d*(n) 趋向于?,f值将增大到任意大。 * 设M=f*(s)/e,M是一个定数,所以搜索到一定程度时会有d*(n)M,或d*(n)/M1 ∴ * ) ( * ) ( * ) ( * ) ( * ) ( * ) ( * ) ( s f M n d s f M s f n d e n d n f = = 3 * 1 4 3 2 s 6 5 * 1 4 3 2 s 6 5 * 1 4 3 2 s 6 5 * 1 4 3 2 s 6 5 * 1 4 3 2 s 6 5 本章内容 什么是搜索 回溯策略 图搜索策略 无信息图搜索过程 启发式搜索过程 * 3.无信息图搜索过程 一般图搜索算法中第⑧步任意排列OPEN表中的结点顺序,有两种排列方式,分为: 深度优先 宽度优先 * 深度优先 过程DEPTH-FIRST-SEARCH ① G:=G0(G0=s),OPEN:=(s), CLOSED:=(); ② LOOP: IF OPEN=(),THEN EXIT(FAIL); ③ n:=FIRST(OPEN); ④ IF GOAL(n), THEN EXIT(SUCCESS); ⑤ REMOVE(n,OPEN), ADD(n,CLOSED); ⑥ EXPAND(n)→{mi}, G:=ADD(mi,G); ⑦ ADD(mj,OPEN), 并标记mj到n的指针;把不在OPEN或CLOSED表中的结点放在OPEN表的最前面,使深度最大的结点优先扩展; ⑧ GO LOOP * 关键在OPEN表中的结点排序,深度优先搜索时,总是把深度最大的结点排在OPEN表的前面,优先扩展 为防止陷入“深渊”,可以增加搜索

文档评论(0)

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

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

1亿VIP精品文档

相关文档