一.A*算法
A*算法,作爲啓發式算法中很重要的一種,被廣泛應用在最優路徑求解和一些策略設計的問題中。而A*算法最爲核心的部分,就在於它的一個估值函數的設計上:
公式表示爲: f(n)=g(n)+h(n)
其中, f(n) 是從初始狀態經由狀態n到目標狀態的代價估計,
g(n) 是在狀態空間中從初始狀態到狀態n的實際代價,
h(n) 是從狀態n到目標狀態的最佳路徑的估計代價。
(對於路徑搜索問題,狀態就是圖中的節點,代價就是距離)
注意:h(n)是啓發式搜索中最爲重要的一部分, h(n)設計的好壞,直接影響着具有此種啓發式函數的啓發式算法是否能稱爲A*算法