主幹導引式最短路徑演算法


A Heuristics Shortest Path Algorithm by Backbone Orientation


林啟榮

SMA*(Simplified Memory Bounded A-Star)為A*之變形, 目前最廣泛被應用於GPS導航系統之路徑規劃的演算法。 尋找路徑的計算過程中,A*與SMA*演算法利用中間節點與 目的地的方向(直線距離)作為啟發函式, 以預估中間節點到目的地之路徑長度挑選優先搜尋的路段, 而SMA*則因記憶體的限制會排除預估長度較長的路段, 以減少搜尋的路段數量與記憶體之使用量。 當起點與終點中存在障礙地形時或路段較崎嶇時, 以方向導引路徑搜尋之準確度便大幅降低, 導致A*與SMA*之搜尋數量增加,SMA*甚至會得到較差的路徑。 主幹導引式最短路徑搜尋演算法(Backbone Orientation) 以骨幹路徑導引路徑之搜尋,在障礙地形或道路崎嶇的情況下, 可有效避免SMA*之缺點,效能較佳。 主幹導引式最短路徑搜尋演算法分為二階段, 先由原始路網中提取骨幹路網,並計算出最佳骨幹路徑, 再利用骨幹路徑引導路徑的搜尋,在骨幹路徑的一定範圍內搜尋最短路徑。 本研究以台灣地區2007年之平面路網圖進行實驗, 以三種不同的實驗方式進行實驗,以驗證主幹導引式最短路徑搜尋演算法之效能, 證明在SMA*演算法之啟發函式效能低落時, 使用主幹導引式最短路徑搜尋演算法可以有效的改善SMA*在障礙地形之效能不彰的問題。