- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.启发式搜索.ppt
人工智能 丁世飞 3.3 启发式搜索(1) 前面讨论的各种搜索方法都是按事先规定的路线进行搜索,没有用到问题本身的特征信息,具有较大的盲目性,产生的无用节点较多,搜索空间较大,效率不高。 如果能够利用问题自身的一些特征信息来指导搜索过程,则可以缩小搜索范围,提高搜索效率。 像这样利用问题自身特征信息来引导搜索过程的方法称为启发式方法。 启发式搜索通常用于两种不同类型的问题: 正向推理 反向推理 正向推理一般用于状态空间的搜索。在正向推理中,推理是从预选定义的初始状态出发向目标状态方向执行。 反向推理一般用于问题规约中。在反向推理中,推理是从给定的目标状态向初始状态执行。 3.3 启发式搜索(1) 在前一类使用启发式函数的搜索算法中,包括通常所谓的OR图算法或者最好优先算法,以及根据启发式函数的不同而得到的其他的一些算法,如A*算法等等。 另一方面,启发式反向推理算法通常称为AND-OR图搜索算法,AO*算法就是其中一种算法。 3.3.1 启发性信息和评估函数 (启发式搜索)如果在选择节点时能充分利用与问题有关的特征信息,估计出节点的重要性,就能在搜索时选择重要性较高的节点,以利于求得最优解。我们把这个过程为启发式搜索。 “启发式”实际上代表了“大拇指准则(Thumb Rules)”:在大多数情况下是成功的,但不能保证一定成功的准则。 用来评估节点重要性的函数称为评估函数。 评估函数的一般形式为: f(x)=g(x)+h(x) 启发式方法把问题状态的描述转换成了对问题解决程度的描述,这一程度用评估函数的值来表示。 如对8数码问题S0和Sg 评估函数可表示为: f(x)=d(x)+w(x) d(x)表示节点在x搜索树中的深度, w(x)表示节点x中不在目标状态中相应位置的数码个数,w(x)就包含了问题的启发式信息。 一般来说某节点的w(x)越大,即“不在目标位”的数码个数越多,说明它离目标节点越远。 对初始节点S0,由于d(S0)=0,w(S0)=4,因此,f(S0)=4。 这里只是说明了评估函数的含义及如何选择评估函数和计算评估函数值。 在搜索过程中除了需要计算初始节点的评估函数外,更多的是需要计算新生节点的评估函数。 大多数正向推理问题可以表示为OR图,其中图中的节点表示问题的状态,弧表示应用于当前状态的规则,该规则引起状态的转换。 当有多个规则可用于当前状态的时候,可以从该状态的各个子状态中选择一个比较好的状态作为下一个状态。 3.3.2 最好优先搜索算法 搜索是从最有希望的节点开始,并且生成其所有的子节点。 计算每个节点的性能(合适性),基于该性能选择最有希望的节点扩展。 这里是对所有的节点进行检测,然后选择最有希望的节点进行扩展,而不是仅仅从当前节点所生成的子节点中进行选择。 因此,如果在早期选择了一个错误的节点,最好优先搜索就提供了一个修改的余地。 优点:最好优先搜索算法是一个通用的算法。 缺点:该算法并没有明显地给出如何定义启发式函数,并且它不能保证当从起始节点到目标节点的最短路径存在时,一定能够找到它。 鉴于最好优先搜索的不足,需要对启发式函数等进行限制,A*算法就是对启发式函数加上限制后得到的一种启发式搜索算法。 在讨论A*算法之前,首先讨论通用的图搜索算法。 * * 人工智能 第3章 搜索策略 √3.3 启发式搜索(1) 3.1 引言 3.2 盲目搜索 3.3 启发式搜索(1) 其中:g(x)——从初始节点S0到节点x的实际代价; h(x)——从x到目标节点Sg的最优路径的评估代价,它体现了问题的启发式信息,其形式要根据问题的特性确定,h(x)称为启发式函数。 评估函数f(x)定义为从初始节点S0出发,约束地经过节点x到达目标节点Sg的所有路径中最小路径代价的估计值。 评估函数 评估函数 2 8 3 1 6 4 7 5 1 2 3 8 4 7 6 5 8数码问题的评估函数 S0= Sg= 图示:8数码问题 8数码问题的评估函数 8数码问题的评估函数 8数码问题的评估函数 最好优先的基本思想 最好优先的基本思想 注意: 最好优先算法 Procedure Best-First-Search Begin (1) 确定可能的开始状态并测量它们和目标点的距离(f); 把这些节点插入表L中; (2) While 表L不空 Begin (a)取出L中f值最小的节点;如果有多个节点具有最小
文档评论(0)