A 演算法簡介
A *(星號)是一種搜尋演算法,用於查詢從一個節點到另一個節點的路徑。因此,它可以與廣度優先搜尋 ,或 Dijkstra 演算法 ,或深度優先搜尋 ,或最佳優先搜尋進行比較。A *演算法廣泛用於圖搜尋,以提高效率和準確性,其中圖預處理不是一種選擇。
A *是 Best First Search 的專業化,其中評估函式 f 以特定方式定義。
f(n)
= g(n)
+ h(n)
是從初始節點到目標條件的思想節點 n 的最小成本。
g(n)
是從初始節點到 n 的最小成本。
H(N)
是從最小成本 N 到最接近目標到 N
A *是一種知情搜尋演算法,它始終保證在最短的時間內找到最小路徑(具有最低成本的路徑)(如果使用允許的啟發式演算法 )。所以它既完整又優化。以下動畫演示 A *搜尋 -