A*算法學習

 

A*算法 = Dijkstra算法 + BFS算法

它把Dijkstra算法(靠近初始點的結點)和BFS算法(靠近目標點的結點)的信息塊結合起來。在討論A*的標準術語中,

  • g(n)表示從 初始結點  ~  結點n  的代價
  • h(n)表示從 結點n       ~  目標點預計代價(不是精確的值)

在上圖中,

  • yellow(h)表示遠離目標的結點
  • teal(g)表示遠離初始點的結點。

當從初始點向目標點移動時,A*權衡這兩者。每次進行主循環時,它檢查f(n)最小的結點n,其中f(n) = g(n) + h(n)。

A*算法                                                                                  Dijkstra算法

參考:

http://www.cnblogs.com/technology/archive/2011/05/26/2058842.html

https://blog.csdn.net/denghecsdn/article/details/78778769

 

 

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