作者:
noodleT (麵T)
2016-07-25 22:25:26http://www.tcgs.tc.edu.tw:1218/ShowProblem?problemid=d062
題目如上面連結。
我的做法是先求出任兩點間的最短路徑值,
接著利用貪婪法決定下一個拜訪(最近)的城市。
但如果離起點(當下位置)最近的有兩個以上,
則把這些路徑都測試過一遍。
雖然有通過測驗,但這種作法是正確的嗎?
還是運氣好罷了?
會提出這問題是因為想到 TSP 無法用貪婪解。
作者:
FRAXIS (喔喔)
2016-07-25 22:37:00這問題跟 TSP 應該是等價的吧 所以 greedy 應該不 work..TSP 中的 edge weight 是輸入的一部分你想的 TSP 是 edge weight 被設定為 Euclidean distance所以只是 TSP 的特例而已..不過這題的圖是定死的 而且是 grid 的 subgraph所以應該有比較快的方法作吧
作者:
DJWS (...)
2016-07-26 06:52:00運氣好
作者:
FRAXIS (喔喔)
2016-07-26 11:49:00我查了一下 TSP 在 grid graph 中還是 NPC 的HAMILTON PATHS IN GRID GRAPHS 論文 title不過如果 grid graph 上面沒有洞的話是多項式可解的
作者:
noodleT (麵T)
2016-07-26 12:15:00在這張圖上有什麼例子是貪婪解不出來的?看很久沒看出來
作者: yvb 2016-07-26 14:07:00
從 n 出發, 須拜訪 a, b, f, j, p.
作者:
noodleT (麵T)
2016-07-26 19:57:00謝謝樓上,我再想想其他解法
作者:
FRAXIS (喔喔)
2016-07-26 21:38:00應該就 backtracking 吧
作者:
DJWS (...)
2016-07-28 22:00:00TSP可以用動態規劃解 時間從O(n!)變O(2^n * n) 快了很多O(2^n * n^2)
作者:
noodleT (麵T)
2016-08-01 16:38:00加入限制條件後就快多了
作者:
FRAXIS (喔喔)
2016-08-01 21:01:00你還可以嘗試 A star
作者:
noodleT (麵T)
2016-08-01 21:17:00好的
作者:
FRAXIS (喔喔)
2016-08-06 22:02:00A* 如果你 heuristic 設計的對是保證會有最佳解的..
作者:
DJWS (...)
2016-08-10 07:06:00這題的heuristic要怎麼設計?我是第一次聽說這種題目可以A*
作者:
FRAXIS (喔喔)
2016-08-10 08:02:00要設計不難啊 有沒有用又是另外一回事..MST 的 cost 應該可以當 heuristic 吧
作者:
DJWS (...)
2016-08-10 21:43:00是可以,不過總共得算多少次MST呢?