【启发式搜索】

运用启发式策略的两种基本情况:

(1) 一个问题由于存在问题陈述和数据获取的模糊性,可能会使它没有一个确定的解。
(2)虽然一个问题可能有确定解,但是其状态空间特别大,搜索中生成扩展的状态数会随着搜索的深度呈指数级增长。

启发式信息

用来简化搜索过程有关具体问题领域的特性的信息叫做启发信息。

估价函数

估价函数(evaluation function):估算节点“希望”度的量度。
估价函数值f(n):从初始节点经过节点到达目标节点路径的最小代价估计值,其一般形式是
f(n) = g(n)+ h(n)
g(n):从初始节点S到节点n的实际代价;
h(n):从节点n到目标节点S的最优路径的估计代价,称为启发函数。
h(n)比重大:降低搜索工作量,但可能导致找不到最优解;
h(n)比重小:一般导致工作量加大,极限情况下变为盲目搜索,但可能可以找到最优解。

137db9949a894dd58892028a84f72947.jpg

A*搜索算法

使用了估价函数f的最佳优先搜索。
估价函数n)= g(n) +h(n)
如何寻找并设计启发函数(n),然后以fn)的大小来排列OPEN表中待扩展状态的次序,每次选择n)值最小
者进行扩展。
g(n):状态n的实际代价,例如搜索的深度;
h(n):对状态n与目标“接近程度”的某种启发式估计。

58974673c77542bf896707bcb390858d.jpg

例题

ef73f2c972ea4b2bbfbaa2a1c50a227e.jpg 

09b8074421a945ed8b5e9ea07ed6f6c2.jpg 

 特性

可采纳性

当一个搜索算法在最短路径存在时能保证找到它,就称该算法是可采纳的。

单调性

A*搜索算法并不要求g(n)=g*(n),则可能会沿着一条非最佳路径搜索到某一中间状态。

如果对启发函数h(n)加上单调性的限制,就可以总从祖先状态沿着最佳路径到达任一状态。

信息性

在两个A启发策略的h,和h中,如果对搜索空间中的一状态n都有,(n) s h.(n),就称策略比h具有更多的信息性。
如果某一搜索策略的h(n)越大,则A*算法搜索的信息性越多,所搜索的状态越少。
但更多的信息性需要更多的计算时间,可能抵消减少搜索空间所带来的益处。

猜你喜欢

转载自blog.csdn.net/David_Hzy/article/details/133160648