Theta*
閱讀設定
Theta* 係一個進階版嘅 A* 搜尋演算法,特徵係曉靠自己檢查現時位置周圍嘅點(睇埋任何角度路線計劃):Theta* 嘅主要過程同 A* 一樣,不過喺每次睇周圍節點嗰陣,唔淨只會睇同現時點 有連繫嘅節點,而係睇嗮所有由 望得到嘅點,而如果有個點 係由 望得到嘅,噉個演算法有可能會選擇由 直接移去 -就算 同 之間冇直接嘅連繫都一樣[1][2]。虛擬碼大致上係噉:
... // 其餘部份同一般嘅 A* 一樣。 Foreach 由現時點去得到嘅點, if 嗰點喺 closed list 入面,忽略佢; if 呢點唔喺 open list 入面,將佢擺入去 open list; Update vertex // 呢個子程序係 theta* 同 A* 嘅分別;簡單講係睇勻周圍嘅望得到嘅點,揀成本最低嗰個,然後再由現時點直接畫條路去嗰度。 將現時點設做呢點嘅 parent; 計呢點嘅 f 值; ...
攷
[編輯]- ↑ A. Nash, K. Daniel, S. Koenig and A. Felner. Theta*: Any-Angle Path Planning on Grids (PDF). In Proceedings of the AAAI Conference on Artificial Intelligence, pages 1177–1183, 2007.
- ↑ Daniel, K.; Nash, A.; Koenig, S.; Felner, A. (2010). "Theta*: Any-Angle Path Planning on Grids 互聯網檔案館嘅歸檔,歸檔日期2021年4月11號,." (PDF). Journal of Artificial Intelligence Research. 39: 533–579.