古詩詞大全網 - 成語解釋 - A*算法 和 最佳優先搜索算法(Best-First-Search)

A*算法 和 最佳優先搜索算法(Best-First-Search)

最佳優先搜索算法是壹種啟發式搜索算法(Heuristic Algorithm),其基於廣度優先搜索算法,不同點是其依賴於估價函數對將要遍歷的節點進行估價,選擇代價小的節點進行遍歷,直到找到目標點為止。 BFS算法不能保證找到的路徑是壹條最短路徑,但是其計算過程相對於Dijkstra

算法會快很多

最佳優先搜索是壹種啟發式搜索算法。廣度優先搜索和深度優先搜索都屬於窮舉類型的搜索,需要依次遍歷所有的節點,當空間非常大的時候,這種方式的效率就會非常差。而啟發式的搜索是對狀態控件中的每個點進行評估,然後選出最好的位置。

啟發估價函數公式為:

n表示當前的點,g(n)為從起始點到點n的實際代價,h(n)為從點n到目標點的估價。

(圖片來源於網絡)

A*算法將BFS算法和Dijkstra算法結合在壹起,結合兩算法的優點,既可以查找最短路徑的,有擁有和BFS差不多的效率。

(圖片來源於網絡)

A*算法詳解

模擬尋路的地址