Ch 5 状态空间搜索策略new.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch 5 状态空间搜索策略new.ppt

根据搜索过程中选择扩展节点的范围,分为全局择优搜索和局部择优搜索。 1. 全局择优 在Open表的所有节点中选择一个估价函数值最小的节点进行扩展 2. 局部择优 在刚生成的子节点中选择一个估价函数值最小的节点进行扩展。 局部最佳优先搜索算法 对OPEN表中所有节点的f n 进行比较,按从小到大的顺序重排OPEN表。 其算法效率类似于纵向搜索算法,但使用了与问题特性相关的估价函数来确定下一步待扩展的节点,因此是一种启发式搜索方法。 开始 把S放入OPEN表,计算估价函数 f s OPEN表为空表? 把OPEN表中的第一个节点n放入CLOSED表 n为目标节点吗? 扩展n,计算所有子节点的估价函数值,并提供它们返回节点n的指针。 失败 成功 局部最佳优先搜索算法框图 是 否 是 否 把子节点送入OPEN表,并对其中的所有节点按估价函数值由小到大重排。 举例: 八数码魔方(8-puzzle problem) 1 2 3 8 4 5 6 7 (目标状态) 1 2 3 8 4 5 6 7 (初始状态) 5 7 ① ④ ⑤ ⑥ ③ 1 2 3 8 4 5 6 7 1 2 3 8 4 5 6 7 1 2 3 8 4 5 6 7 3 5 5 ② 1 2 3 8 4 5 6 7 1 2 3 8 4 5 6 7 1 2 3 8 4 5 6 7 4 3 3 1 2 3 8 4 5 6 7 1 2 3 8 4 5 6 7 2 4 1 2 3 8 4 5 6 7 1 2 3 8 4 5 6 7 3 4 1 2 3 8 4 5 6 7 1 8 1 3 2 4 5 6 7 1 2 3 8 4 5 6 7 0 2 八数码魔方的局部最佳优先搜索树 1 2 3 8 4 6 4 7 5 ⑦ 搜索得到的路径如黄线所示 本题采用了简单的估价函数 f n W n 其中:W n 用来计算对应于节点n的数据库中错放的棋子个数。因此,初始节点棋局 的f n 值等于4。 1 2 3 8 4 5 6 7 第②步有三种情况,我们选择其中f n 最小的: 其它依次类推.最后用了7步得出了结果. 1 2 3 8 4 5 6 7 1 2 3 8 4 5 6 7 1 2 3 8 4 5 6 7 3 5 5 ? 最佳优先算法有时无法得到最优解,因为它的估价函数f的选取时,忽略了从初始节点到目前节点的代价值。所以,可考虑对估价函数f n 进行某些修改或限制。 5.5 A*算法 对估价函数加上一些限制,以保证得到最优解的启发式搜索算法 最优估价函数 f* n = g* n + h* n 初始节点到节点n的最小代价 节点n到目标节点的最小代价 有关限制 1. g n 是对g* n 的估计,且g n >0; 2. h n 是h* n 的下界,即对任意节点n均有h n ≤h* n A*算法例1:八数码问题 解1: h n W n 。尽管不能确切知道h* n ,但当采用单位代价时,通过对“不在位”数码个数的估计,可以得出至少要移动W n 步才能到达目标,显然有W n ≤h* n ,满足A*算法的限制条件。 解2:h n P n ,P n 定义为每一个数码与其目标位置之间距离(不考虑夹在其间的数码)的总和,同样可以断定至少要移动P n 步才能到达目标,因此有P n ≤h* n ,即满足A*算法的限制条件。 2 8 3 1 4 7 6 5 h 4, f 4 S0 2 3 1 8 4 7 6 5 2 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5 2 8 3 1 4 7 6 5 g 1 2 3 1 8 4 7 6 5 2 3 1 8 4 7 6 5 g 2 1 2 3 8 4 7 6 5 1 2 3 7 8 4 6 5 Sg g 4 h 5, f 6 h 5, f 6 h 3, f 4 h 5, f 6 h 2, f 4 h 3, f 5 1 2 3 8 4 7 6 5 g 3 h 1, f 4 h 0, f 4 h 2, f 6 八数码难题的的A*搜索图 (h n P n ) A*算法例2:修道士和野人问题 设在河的左岸有三个修道士、三个野人和一条船,修道士想用这条船把所有的人运到河对岸,但受以下条件的约束: 1.修道士和野人都会划船,但每次船上至多可载两个人; 2.河的任一岸如果野人数目超过修道士数,修道士就会被野人吃掉。 请给出一个确保修道士和野人都能过河,且没有修道士被野人吃掉的过河规划 问题表示:需要考虑两岸的修道士人数和野人人数,船的位置。用三元式表示状态: S m, c, b 其中,m表示左岸修道士人数,c表示左岸野人人数,b表示左岸船的数目。 解:

文档评论(0)

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

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

1亿VIP精品文档

相关文档