人工智能4概要1.pptVIP

  • 2
  • 0
  • 约 93页
  • 2017-07-09 发布于湖北
  • 举报
人工智能4概要1

人工智能 ━━ 一种现代方法 第四章 有信息的搜索和探索 启发式搜索 启发式搜索 启发式信息的强度: 强:降低搜索工作量,但可能导致找不到最优解 弱:极端情况变成盲目搜索,但找到最优解的可能性加大 希望:引入启发式知识,在找到最优解的情况下,尽可能减少搜索空间,提高搜索效率。 启发式搜索 基本思想:定义一个评价函数f,对当前的搜索状态进行评估,找出一个最有希望的节点来扩展。 --最佳优先搜索 贪婪最佳优先搜索 评价函数f(n) = h(n) h(n): 启发函数,从状态n到目标的最短路径的估计耗散值. A*搜索:最小化总的估计耗散值 A*搜索:最小化总的估计耗散值 A*搜索例子 A*搜索例子 h计算举例 h(n) = 4 S(4) A*算法 A*算法的特性分析 h1(n)=不在位的将牌数 h2(n)=将牌不在位的距离和 (城市距离) A*算法的特性分析 A*算法的假设 设ni、nj是任意两个节点,有:C(ni, nj) ε ε为大于0的常数 几个等式 f*(s) = f*(t) = h*(s) = g*(t)=f*(n) s为初始节点,t为目标节点,n为s到t的最佳路径上的节点 A*算法的特性分析 定理1:对有限图,如果从初始节点s到目标节点t有路径存在,则算法A*一定成功结束。 A*算法的特性分析 引理2.1:对无限图,如果从初始节点s到目标节点t有路径存在,则若算法A*不结束,在OPEN表中即使最小的一个f值也将增到任意大,或有f(n)f*(s)。 A*算法的特性分析 引理2.2:A*结束前,OPEN表中必存在f(n)=f*(s)。 存在一个节点n,n在最佳路径上。 f(n)=g(n) + h(n) =g*(n)+h(n) =g*(n)+h*(n) =f*(n) =f*(s) A*算法的特性分析 定理2:对无限图,若从初始节点s到目标节点t有路径存在,则算法A*一定成功结束。 引理2.1:如果从初始节点s到目标节点t有路径存在,则算法A*不结束时,在OPEN表中即使最小的一个f值也将增到任意大,或有f(n)f*(s)。 引理2.2:A*结束前,OPEN表中必存在f(n)=f*(s)。 所以,如果A*不结束,将导致矛盾。 A*算法的特性分析 A*算法的特性分析 因A*算法对l类节点可能要重新放回到OPEN表中,因此可能会导致多次重复扩展同一个节点,导致搜索效率下降。 出现多次扩展节点的原因: 在前面的扩展中,并没有找到从初始节点到当前节点的最短路径,如节点A。 方法一:对h加以限制 定义:一个启发函数h,如果对所有节点满足: h(n)=h(n’)+c(n,a,n’) (即h(n)-h(n’)=c(n,a,n’) ) 则称h是单调(或一致)的 A*算法的特性分析 定理4:若h(n)是单调的,则A*算法扩展了节点n之后,就已经找到了到达节点n的最优路径。 A*算法的特性分析 h单调的例子 8数码问题: 设h为不在位的将牌数 1 h(ni)-h(nj) = 0 (nj为ni的后续节点) -1 C(ni,nj) = 1 满足单调条件( h(ni)-h(nj) = C(ni,nj) ) 方法二:改进算法 根据结论: OPEN表上任一具有f(n) f*(s)的节点定会被扩展 A*算法选作扩展的任一节点,定有f(n) = f*(s) 改进的出发点 f*(s) OPEN = (… … … | … …) h的单调化方法 动态修改f值 如果令: f(n) = max( f(n的父节点), g(n)+h(n) ) 则这样处理后的h是单调的 A*算法的特性分析 A*算法的特性 对启发函数h的评价方法 有效分支因子b* : 设共扩展了d层节点,共搜索了N个节点,则: N=(1-b*(d+1))(1-b*) b*越小,说明h效果越好 实验表明,b*是一个比较稳定的常数,同一问题基本不随问题规模变化 对启发函数h的评价举例 例:8数码问题,随机产生若干初始状态 使用h1: d=14, N=539, b* = 1.44 d=20, N=7276, b* = 1.47 使用h2: d=14, N=113, b* = 1.23 d=20, N=676, b* = 1.27 A*的复杂性 一般

文档评论(0)

1亿VIP精品文档

相关文档