第三章节搜索(2)—启发式搜索.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
——纽厄尔和西蒙(Newell and Simon) ,1976年度ACM 图灵奖获奖演说 当问题和问题空间确定后,符号系统所要解决 的任务就是如何使用有限的处理资源来产生可能 解,直到发现一个可以通过(问题所定义)检验 的解。 如果符号系统可以对可能解的产生顺序进行 某种控制,并对这个产生顺序加以组织以使高可 能性的解出现,那么这是非常理想的。如果符号 系统成功地做到了这一点,那么它便展示出了智 能。 对于一个处于有限资源下的系统来说,智能 体现在明智地选择下一步该做什么……… 内容 3.0 简介 3.1 启发式搜索算法 3.1.0 局部择优搜索 3.1.1 全局择优搜索(A算法) 3.1.2 A*算法 3.1.3 其它启发式搜索算法 3.2 应用举例 3.0 简介 启发式搜索 利用问题自身的特性信息(启发信息)来引导搜索过程,达到减少搜索范围,降低问题复杂度的搜索方法。 引入启发知识,在保证找到最佳解的情况下,尽可能减少搜索范围,提高搜索效率。 启发信息的强度 强 降低搜索工作量,但可能导致找不到最优解。 弱: 一般导致工作量加大,极限情况下变为盲目搜索,但可能可以找到最优解。 3.0 简介 【例1】 3.0 简介 【例2】 通过对称抵消后的九宫游戏状态空间的前三层 3.0 简介 假定采用如下“启发”裁减九宫游戏状态空间。 移动到×方胜利路线最多的状态 3.0 简介 3.0 简介 启发式搜索基本思想: 定义一个评价函数f,对当前的搜索状态进行评估,找出一个最有希望的节点来扩展。 3.0 简介 评价函数 f(n) = g(n) + h(n) f(n):评价函数 h(n):启发函数 符号的意义 f*(n)=g*(n)+h*(n) f*(n):从s经过n到g的最短路径的耗散值。 g*(n):从s到n的最短路径的耗散值。 h*(n):从n到g的最短路径的耗散值。 注意: g(n)、h(n)、f(n)分别是g*(n)、h*(n)、f*(n)的估计值。 3.0 简介 对启发式搜索算法,可根据搜索过程中选择扩展节点的范围,将其分为: 局部择优搜索算法 局部最佳优先搜索算法(Local-Best-First-Search) 全局择优搜索算法 最佳优先搜索算法(Best-First-Search) A算法 A*算法 内容 3.0 简介 3.1 启发式搜索算法 3.1.0 局部择优搜索 3.1.1 全局择优搜索(A算法) 3.1.2 A*算法 3.1.3 其它启发式搜索算法 3.2 应用举例 3.1.0 局部择优搜索 (1)把初始节点S0放入 Open表中,f(S0)=g(S0)+h(S0) ; (2)如果Open表为空,则问题无解,失败退出; (3)把Open表的第一个节点取出放入Closed表,并记该节点 为n; (4)考察节点n是否为目标节点。若是,则找到了问题的解, 成功退出; (5)若节点n不可扩展,则转第(2)步; (6)扩展节点n,生成其子节点ni(i=1,2,…),计算每一个 子节点的估价值f(ni)(i=1,2,…),并按估价值 从小到大的顺序依次放入Open表的首部,并为每一个子 节点设置指向父节点的指针,然后转第(2)步。 3.1.0 局部择优搜索 问题: 使用局部择优搜索从Arad到Bucharest(布加勒斯特)的最短路径。 令:f(n)=h(n) 3.1.0 局部择优搜索 3.1.0 局部择优搜索 分析: 深度优先搜索、代价树的深度优先搜索以及局部优先搜索都是以子节点作为考察范围,但选择节点的标准不一样。 对于局部择优搜索算法: 如果取估价函数f( n)= g(n),则它将退化为代价树的深度优先搜索。 如果取估价函数f(n)= d(n),则它将退化为深度优先搜索。 因此,深度优先搜索和代价树的深度优先搜索是局部择优搜索的两个特例。 内容 3.0 简介 3.1 启发式搜索算法 3.1.0 局部择优搜索 3.1.1 全局择优搜索(A算法) 3.1.2 A*算法 3.1.3 其它启发式搜索算法 3.2 应用举例 3.1.1 A算法 A算法也称为最佳优先搜索(best-first search) 搜索的每一步都利用估价函数f(n)对Open表中的所有节点进行排序。 f(n)=g(n)+h(n) 3.1.1 A算法 (1)把初始节点S0放入Open表中,f(S0)=g(S0)+h(S0); (2)如果Open表为空,则问题无解,失败退出; (3)把Open表的第一个节点取出放入Closed表,并记该节点 为n; (4)考察节点n是否为目标节点。若

文档评论(0)

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

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

1亿VIP精品文档

相关文档