第3章图搜索与问题求解.ppt.ppt

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

第 3 章 图搜索与问题求解 ;3.1 状态图搜索 ;图 3-2 迷宫的有向图表示 ;图 3-3 八数码问题示例 ;3.1.2 状态图搜索  1. 搜索方式   ●树式搜索 ●线式搜索 2. 搜索策略    ●盲目搜索 ●启发式(heuristic)搜索  ;图 3-4 OPEN表与CLOSED表示例 ;树式搜索算法: ; (1) 删除N的先辈节点(如果有的话)。 (2)对已存在于OPEN表的节点(如果有的话)也删除之;但删除之前要比较其返回初始节点的新路径与原路径,如果新路径“短”, 则修改这些节点在OPEN表中的原返回指针,使其沿新路返回(如图3-5所示 )。 (3)对已存在于CLOSED表的节点(如果有的话), 做与(2)同样的处理, 并且再将其移出CLOSED表, 放入OPEN表重新扩展(为了重新计算代价)。  (4)对其余子节点配上指向N的返回指针后放入OPEN表中某处, 或对OPEN表进行重新排序, 转步2。 ;图 3-5 修改返回指针示例 ;  说明: (1) 这里的返回指针也就是父节点在CLOSED表中的编号。 (2) 步6中修改返回指针的原因是, 因为这些节点又被第二次生成, 所以它们返回初始节点的路径已有两条, 但这两条路径的“长度”可能不同。 那么, 当新路短时自然要走新路。   (3) 这里对路径的长短是按路径上的节点数来衡量的, 后面我们将会看到路径的长短也可以其“代价”(如距离、费用、时间等)衡量。若按其代价衡量, 则在需修改返回指针的同时还要修改相应的代价值, 或者不修改返回指针也要修改代价值(为了实现代价小者优先扩展)。 ;线式搜索算法: · 不回溯的线式搜索 ;  · 可回溯的线式搜索    步1 把初始节点So放入CLOSED表中。   步2令N=So。   步3若N是目标节点, 则搜索成功, 结束。    步4 若N不可扩展, 则移出CLOSED表的末端节点Ne,若Ne=So,则搜索失败, 退出。否则, 以CLOSED表新的末端节点Ne作为N,即令N=Ne, 转步4。   步5扩展N, 选取其一个未在CLOSED表用出现过的子节点N1放入CLOSED表中, 令N=N1,转步3。  ;3.1.3 穷举式搜索  1.广度优先搜索 ;   广度优先搜索算法:    步1 把初始节点So放入OPEN表中。   步2 若OPEN表为空, 则搜索失败,退出。    步3 取OPEN表中前面第一个节点N??在CLOSED表中, 并冠以顺序编号n。   步4 若目标节点Sg=N,则搜索成功, 结束。    步5 若N不可扩展, 则转步2。   步6 扩展N, 将其所有子节点配上指向N的指针依次放入OPEN表尾部, 转步2。 ; 2.深度优先搜索 ;   深度优先搜索算法:    步1 把初始节点So放入OPEN表中。   步2 若OPEN表为空, 则搜索失败, 退出。    步3 取OPEN表中前面第一个节点N放入CLOSED表中,并冠以顺序编号n。   步4 若目标节点Sg=N, 则搜索成功,结束。    步5 若N不可扩展, 则转步2。   步6扩展N, 将其所有子节点配上指向N的返回指针依次放入OPEN表的首部, 转步2。 ; 3. 有界深度优先搜索 步1 把So放入OPEN表中,置So的深度d(So)=0。   步2 若OPEN表为空, 则失败, 退出。    步3 取OPEN表中前面第一个节点N,放入CLOSED表中, 并冠以顺序编号n。   步4 若目标节点Sg=N, 则成功, 结束。    步5 若N的深度d(N)=dm(深度限制值), 或者若N无子节点, 则转步2。   步6 扩展N, 将其所有子节点Ni配上指向N的返回指针后依次放入OPEN表中前部, 置d(Ni)=d(N)+1,转步2。 ;3.1.4 启发式搜索  1. 问题的提出 2. 启发性信息   按其用途划分, 启发性信息可分为以下三类:  (1) 用于扩展节点的选择, 即用于决定应先扩展哪一个节点, 以免盲目扩展。  (2) 用于生成节点的选择,即用于决定应生成哪些后续节点,以免盲目地生成过多无用节点。  (3) 用于删除节点的选择,即用于决定应删除哪些无用节点, 以免造成进一步的时空浪费。 ;3.启发函数   启发函数是用来估计搜索树上节点x与目标节点Sg接近程度的一种函数, 通常记为h(x)。 4.启发式搜索算法  1) 全局择优搜索  2) 局部择优搜索  ;全局择优搜索算法: ;图 3-8 八数码问题的全

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档