人工智能产生式系统搜索策略.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 迷宫走法规定为向东、南、西、北前进一步,由此可得规则集简化形式如下: R1:if (x,y) then (x+1,y) (东) R2:if (x,y) then (x,y-1) (南) R3:if (x,y) then (x-1,y) (西) R4:if (x,y) then (x,y+1) (北) 图3-24为这个简单问题的状态空间图。(主要考虑有分岔的情况) 为求得最佳的路径,可使用A*算法,假定搜索一步取单位耗散,则可定义 h(n)=|XG-xn|+|YG-yn|, 其中(XG,YG)为目标点坐标,(xn ,yn)为当前节点n的坐标,显然有h(n)≤h*(n)。取g(n)=d(n),有f(n)=d(n)+h(n)。 再设搜索过程在OPEN表中f(n)相等时,以深度优先排序,则搜索图如图3-25所示。最短路径为((1,1),(2,3),(2,4),(3,4),(3,3),(4,3),(4,4))。 图3-25、迷宫问题启发式搜索图 3.5.6 评价函数的启发能力 一般来讲,启发函数的启发能力越强,搜索效率越高。有时,如果选用不满足A*算法的h函数,虽然会牺牲找到最佳解的可能,但可使启发能力得到改善。以八数码问题为例。 初始状态 目标状态 如果我们给启发函数增加一个分量S(n),反映状态n时的将牌排列次序,使启发能力得到加强,但将使其不满足A*算法。 S(n)的估分值采用如下方法计算: 1)对于非中心格中的数码,如果其后(顺时针)紧跟的数码和目标的状态相比顺序正确,则令Si(n)=0,否则令Si(n)=2。 2)若中心格无将牌,则令Si(n)=0,否则令Si(n)=1。 3)S(n)为全部Si(n)之和,即S(n)= ΣSi(n)。 我们定义函数h3(n)= p(n)+ 3S(n),则f(n)= g(n)+ h3 (n)= g(n)+ p(n)+ 3S(n). f(n)值小的节点,确能反映该节点越有希望处于到达目标节点的最佳路径上。 使用新定义的f(n)函数搜索过程如图3-26所示,图中圆圈中的数字是f函数值,不带圈的数字表示扩展顺序。 总结如下: 1)?? h (n)=0,则f (n)= g (n),等同于分支界限法。当g (n)= d (n), 等同于宽度优先。保证可采纳性,但搜索效率很低。 2)? 当f(n)= g(n)+ w*h (n),w足够大,相当于g(n)=0,变成爬山法,搜索效率高,有可能牺牲可采纳性。 3) 满足A*算法,保持可采纳性,扩展节点少。但需尽可能多的准确可靠的启发性知识,而且计算这样的启发函数需较大的工作量。 影响算法搜索性能的主要因素: 1)路径的耗散值 2)扩展的节点数目 3)计算h所需的工作量 * * 人的成长!(上大学) * * * * * 考大学? * * 上学 * * * * * * 问一下! * * * * * * * * * * * Procedure depth_first_search Begin Open:=[start]; closed:=[];d:= 深度限制值 *初始化 While Open ≠ [] do Begin 从Open表中删除第一个状态,称之为n; 将 n放入closed表中; if n=目的状态 then return(success); else if n的深度d then continue; *回溯 else 生成n的所有子状态; 从n的子状态中删除已在Open或closed表中出现的状态; *避免循环搜索; 将n的其余子状态,按生成的次序加入到Open表的前端. End; End. 深度优先搜索过程: 例、订票问题:一名顾客希望订一张美国航空公司从纽约到洛杉矶的飞机票,如果没有从纽约到洛杉矶的直达航班(航班表如下所示),但他坚持要乘座美国航空公司的航班,问如何为其订票? 纽约→芝加哥 1000英里; 芝加哥→丹佛 1000英里; 纽约→多伦多 800英里;

文档评论(0)

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

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

1亿VIP精品文档

相关文档