高級搜索——A*+堆優化Dijkstra

一.A*算法

A*算法,作爲啓發式算法中很重要的一種,被廣泛應用在最優路徑求解和一些策略設計的問題中。而A*算法最爲核心的部分,就在於它的一個估值函數的設計上:          

       公式表示爲: f(n)=g(n)+h(n)

       其中f(n) 是從初始狀態經由狀態n到目標狀態的代價估計,

                  g(n) 是在狀態空間中從初始狀態到狀態n的實際代價,

                  h(n) 是從狀態n到目標狀態的最佳路徑的估計代價

     (對於路徑搜索問題,狀態就是圖中的節點,代價就是距離

注意:h(n)是啓發式搜索中最爲重要的一部分, h(n)設計的好壞,直接影響着具有此種啓發式函數的啓發式算法是否能稱爲A*算法

二.堆優化Dijkstra

點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章