启发式搜索
一、概念
用一个预估当前解至结束状态花费的预估函数来决定优先扩展的点的顺序的搜索;
启发式策略可以通过指导搜索向最有希望的方向前进,降低了复杂性,通过删除某些状态及其延伸,启发式算法可以得到较优的解;
普通的搜索是盲目的,不会理会目标的位置,会搜索所有的点,直到最终点;
启发式搜索则是会先搜索离目标近的状态,从而优化搜索的范围,即为 “搜索+贪心”;
二、估价函数
用来计算当前解与目标结点的大致距离,从而删除某些状态及其延伸的函数即为估价函数;
一般形式为
f
(
x
)
=
g
(
x
)
+
h
(
x
)
f(x) = g(x) + h(x)
f(x)=g(x)+h(x)
g
(
x
)
g(x)
g(x) 为从初始节点到节点x付出的实际代价;
h ( x ) h(x) h(x) 为从节点 x x x 到目标节点的最优路径的估计代价;
启发性信息主要体现在h(x)中,其形式要根据问题的特性来确定。
虽然启发式搜索有望能够很快到达目标节点,但需要花费一些时间来对新生节点进行评价;因此,在启发式搜索中,估计函数的定义是十分重要的;如定义不当,则上述搜索算法不一定能找到问题的解,即使找到解,也不一定是最优的;