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 *搜尋 -

https://i.stack.imgur.com/TGfc9.gif