赞
踩
h(n)
有着密切的关系。而h(n)
就是有信息搜索的关键信息。这里的有信息指的是所求解问题之外的,但是与求解问题相关的特定信息或知识。f(n)
) 从当前结点出发根据评价函数来选择下一结点。h(n)
)从结点n到目标结点之间所形成的路径的最小代价值。N
。N
点的路径消耗等于前一节点N-1
的路径消耗加上N-1
到N
节点的路径消耗g(x)
为从根节点到x节点的代价总和h(x)
为从x节点到目标节点的估计代价总和f(x) = g(x)
f(x) = h(x)
f(x) = g(x) + h(x)
g(x)
是问题的定义获取的信息,不是跟目标状态有关的信息,所以代价一致搜索不是有信息搜索f(n)
评估函数:Evaluation function f ( n ) = g ( n ) + h ( n ) f(n) = g(n) + h(n) f(n)=g(n)+h(n)
g(n)
= cost so far to reach n —到达节点n的耗散
h(n)
= estimated cost to goal from n —启发函数:从节点n到目标节点的最低耗散路径的耗散估计值
f(n)
= estimated total cost of path through n to goal —经过节点n的最低耗散的估计函数
h ( n ) ≤ h ∗ ( n ) h(n) ≤ h^*(n) h(n)≤h∗(n) where h ∗ ( n ) h^*(n) h∗(n) is the true cost from n.
E.g.,
h
S
L
D
(
n
)
h_{SLD(n)}
hSLD(n)never overestimates the actual road distance (SLD: Straight-Line
Distance)
举例:
A*启发式h(n)
是可采纳的:如果对于每个节点n
,
h
(
n
)
≤
h
∗
(
n
)
h(n)≤h^*(n)
h(n)≤h∗(n),其中
h
∗
(
n
)
h^*(n)
h∗(n)是从n
达到目标状态的真实成本
An admissible heuristic never overestimates the cost to reach the goal(从不会过高估计到达目标的耗散), i.e., it is optimistic(乐观的)
示例: h S L D ( n ) h_{SLD}(n) hSLD(n)(永远不会高估实际道路距离
定理:如果h(n)
是可采纳的,则使用TREE-SEARCH的A*是最优的
h(n)
是一致的,则使用GRAPH-SEARCH的A*是最优的提出可采纳的启发式方法是在实践中使用A*所涉及的大部分内容
完备性:满足(除非存在无限多个f≤f(G)
的节点)
时间复杂度:A*算法对于任何给定的启发函数都是效率最优,但仍然是指数级
空间复杂度:要保存所有结点在内存中
最优解:可以取得
h(n)
的一些性质,其中的一个关键性质为可采纳性(admissibility),一个具备可采纳性的启发式函数永远不会高估到达某个目标的代价。n
的后续节点是n'
,则从n
到目标节点之间的开销代价一定小于从n
到n'
的开销再(单调性)加上从n'
到目标节点之间的开销,满足以下条件:
h
(
n
)
≤
c
o
s
t
(
n
,
a
,
n
′
)
+
h
(
n
′
)
h(n)\le cost(n,a,n')+h(n')
h(n)≤cost(n,a,n′)+h(n′)n'
是n
经过行动a
所抵达的后续节点,c(n,a,n')
指n'
和n
之间的开销代价。则启发式函数h(n)
是一致的。h(n)
,则启发函数一定是可容的,因为其不会高估开销代价。g(n)
是从起始节点到节点n
的实际代价开销,且
f
(
n
)
=
g
(
n
)
+
h
(
n
)
f(n)=g(n)+h(n)
f(n)=g(n)+h(n),因此
f
(
n
)
f(n)
f(n)不会高估经过节点n
路径的实际开销。n
、节点n'
和目标结点Goal
之间组成了一个三角形。n'
,从节点n
到目标结点Goal
的路径,其代价开销小于h(n)
,则破坏了h(n)
是从节点n
到目标结点Goal
所形成的具有最小开销代价的路径这一定义。搜索等值线的概念更接近于地理上的等高线。如下图所示,在标记为400的等值线内,有
f
(
n
)
=
g
(
n
)
+
h
(
n
)
≤
400
f(n)=g(n)+h(n)≤400
f(n)=g(n)+h(n)≤400。由于A*搜索扩展的是f
最小的边界结点,因此它的等值线是从初始结点以扇形向外扩展的,而一致代价搜索因为只有g(n)
,因此是以圆形向外扩展的。
C
是f(n)
的最优解,那么对于满足f(n)<C
的结点n,称之为必然扩展结点(surely expanded node),f(n)=C
的结点。A搜索不会扩展f(n)>C
的结点,因此可以得出结论:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。