人工智能原理之搜索技术.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文档。上传文档
查看更多
A*算法的性质(2) 如果要求不以指数级增长,则启发函数需要满足条件 对于几乎所有的启发函数来说,偏差至少都是与路径耗散成正比的,而不是路径耗散的对数 / 所以,在实际应用中,往往不是坚持找到最优解,而是采用以下两种方式: 使用A*算法的变种算法快速找到非最优解 设计准确而非严格可采纳的启发函数 第2章 搜索技术 * A*算法在空间方面的改进 A*算法在内存中保留所有生成的节点,消耗极大—因而对于许多大规模问题时不实用的 A*算法要减少对内存的需求—改进 递归最佳优先搜索RBFS—模仿标准的最佳优先搜索的递归算法,只是用线性存储空间 如果h(n)是可采纳的,则RBFS最优 MA*(存储限制A*)和SMA*(简化的MA*)—充分利用可用的内存 SMA*的思想—当内存放满时,就丢弃最差的一个子节点而加入新节点 如果任何最优解是可到达的,则SMA*是最优的 第2章 搜索技术 * 2.3.3 启发函数 A*搜索的关键就是设计可采纳的或者一致的(单调的)启发函数 如何评价启发函数 / 如何设计启发函数 例子—八数码问题 关于八数码问题的一些数据: 随机产生的八数码游戏的平均解的步数=22 分支因子约为3 穷举搜索(盲目搜索)考虑的状态个数322≈3.1*1010 实际可到达的不同状态个数9!/2=181440 第2章 搜索技术 * 八数码问题的启发函数 启发函数的核心—决不高估到达目标的步数 / 对于八数码问题的常用候选: h1(n)=不在位棋子数—这是一个可采纳的启发函数,因为要把“不在位”的棋子都移动到正确位置上,每个错位的棋子至少要移动一次 / 所以有h1(n)≤h*(n) h2(n)=所有棋子到达其目标位置的距离和—计算水平距离(曼哈顿距离) / 该函数也是可采纳的,因为到达其目标位置至少要移动这些距离长度 第2章 搜索技术 * 启发函数精确度对算法性能的影响 刻画启发函数质量的一个度量是有效分支因子b* b*是深度为d的一致搜索树为了能够包括N(生成的总节点数)+1个节点所必需的分支因子 N+1=1+b*+(b*)2+……+(b*)d 例如:52个节点在第5层找到解,则b*=1.92 有效分支因子可以根据问题实例发生变化,但是在足够难的问题中是稳定的 / 因此小规模实验中测得b*值可以为启发函数的总体有效性提供指导 第2章 搜索技术 * 八数码问题启发函数的比较 良好设计的启发函数使b*值接近1,允许对大规模的问题进行求解 启发函数越接近于真实最优解的值,则相应的搜索算法效率越高 / 显然此时有—如果h1(n)≤h2(n),则h2(n)优于h1(n) (此时h2(n)信息量比h1(n)多) p85页给出了八数码问题的启发函数h1/h2的比较数据 “优于”的含义—使用h2的算法不会比使用h1的算法扩展更多的节点 第2章 搜索技术 * 如何设计启发函数 A*搜索的关键如何找到是一个合适的启发函数 寻找策略: 从松弛问题中获得—松弛问题的最优解的耗散是原问题的一个可采纳的启发函数 从给定问题子问题的解耗散中获得—建立模式数据库,存储每个可能子问题实例 从经验中学习—使用归纳学习算法,使用相关状态特征来预测 第2章 搜索技术 * 松弛问题最优解作为启发函数 松弛问题—降低了行动限制的问题 松弛问题的最优解耗散是原问题的一个可采纳的启发函数 根据定义,原始问题的最优解也是该松弛问题的解,其耗散不低于松弛问题的最优解 松弛问题的最优解是确切耗散,一定满足三角不等式,因而是单调的,所以作为启发函数一定是可采纳的 如果问题定义通过形式化语言描述,则自动地构造其松弛问题是可能的 / 例子—八数码问题 第2章 搜索技术 * 子问题的解耗散作为启发函数 子问题的最优解耗散是完整问题的耗散下界 建立模式数据库—存储每个可能子问题实例的精确解耗散 从目标状态向后搜索并记录下每个子问题模式的耗散,存储于数据库 搜索中遇到的每个完整状态通过在数据库中查找出相应子问题布局而设计出一个可采纳的启发函数 对于八数码问题,这样的启发函数要比曼哈顿距离精确得多(具体数值见p87) 第2章 搜索技术 * 从经验中学习启发函数 从实例中学习—每个实例包含了解路径上的各状态及其到达解的耗散 每个最优解实例提供了可学习h(n)的实例 收集实际解消耗的统计数据,以此产生可预测其他状态解消耗的启发函数h(n) 使用归纳学习方法 八数码问题的讨论(p87) 第2章 搜索技术 * A*搜索的例子(1) 积木块移动游戏 初始状态: 目标状态: 移动规则: (1)积木移到空格/代价=1 (2)积木跨越1个积木移到空格/代价=1 (3)积木跨越2个积木移到空格/代价=2 第2章 搜索技术 * A*搜索的例子(2) A*搜索:至少代价=每个W左边B的个数(B到W右边的必须跨越W

文档评论(0)

天星 + 关注
官方认证
文档贡献者

人人为我,我为人人。

版权声明书
用户编号:5342242001000034
认证主体四川龙斌文化科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6ADW1H0N

1亿VIP精品文档

相关文档