[問題] 最短路徑問題
看板Prob_Solve (計算數學 Problem Solving)作者noodleT (麵T)時間8年前 (2016/07/25 22:25)推噓13(13推 0噓 14→)留言27則, 4人參與討論串1/2 (看更多)
http://www.tcgs.tc.edu.tw:1218/ShowProblem?problemid=d062
題目如上面連結。
我的做法是先求出任兩點間的最短路徑值,
接著利用貪婪法決定下一個拜訪(最近)的城市。
但如果離起點(當下位置)最近的有兩個以上,
則把這些路徑都測試過一遍。
雖然有通過測驗,但這種作法是正確的嗎?
還是運氣好罷了?
會提出這問題是因為想到 TSP 無法用貪婪解。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.12.195.169
※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1469456729.A.513.html
※ 編輯: noodleT (39.12.195.169), 07/25/2016 22:26:21
推
07/25 22:37, , 1F
07/25 22:37, 1F
我認為是不等價的,
TSP 中 af 距離為 sqrt(2)
而在此題中 af = ab + bf = 2
觀念若有錯請多包涵
※ 編輯: noodleT (39.12.195.169), 07/25/2016 22:55:35
推
07/25 23:03, , 2F
07/25 23:03, 2F
→
07/25 23:03, , 3F
07/25 23:03, 3F
→
07/25 23:03, , 4F
07/25 23:03, 4F
推
07/25 23:05, , 5F
07/25 23:05, 5F
→
07/25 23:06, , 6F
07/25 23:06, 6F
推
07/26 06:52, , 7F
07/26 06:52, 7F
推
07/26 11:49, , 8F
07/26 11:49, 8F
→
07/26 11:49, , 9F
07/26 11:49, 9F
→
07/26 11:50, , 10F
07/26 11:50, 10F
→
07/26 12:15, , 11F
07/26 12:15, 11F
→
07/26 12:16, , 12F
07/26 12:16, 12F
推
07/26 14:07, , 13F
07/26 14:07, 13F
→
07/26 19:57, , 14F
07/26 19:57, 14F
→
07/26 21:38, , 15F
07/26 21:38, 15F
目前利用一張表來儲存子問題(應該是屬於動態規劃解),但效果不彰。
從 a 出發把所有點走一遍需要跑 30 秒左右(答案 15?)
unsigned SortestVisitWithBacktracking
(char begin,const std::vector<char> &visit)const
{
//map<pair<起點,拜訪點向量>,最小路徑>
static std::map<std::pair<char,std::vector<char> >,unsigned> table;
//...
}
在思考是不是需要改成
unsigned SortestVisitWithBacktracking
(char begin,const std::vector<char> &visit,unsigned 剩餘步數限制)const
利用貪婪求一開始的剩餘步數限制,
然後每次遞迴都更新(縮小)剩餘步數限制
※ 編輯: noodleT (110.28.205.127), 07/28/2016 00:00:13
推
07/28 09:16, , 16F
07/28 09:16, 16F
推
07/28 22:00, , 17F
07/28 22:00, 17F
→
07/28 22:04, , 18F
07/28 22:04, 18F
→
08/01 16:38, , 19F
08/01 16:38, 19F
推
08/01 21:01, , 20F
08/01 21:01, 20F
→
08/01 21:17, , 21F
08/01 21:17, 21F
→
08/06 21:48, , 22F
08/06 21:48, 22F
推
08/06 22:02, , 23F
08/06 22:02, 23F
推
08/10 07:06, , 24F
08/10 07:06, 24F
推
08/10 08:02, , 25F
08/10 08:02, 25F
→
08/10 08:03, , 26F
08/10 08:03, 26F
推
08/10 21:43, , 27F
08/10 21:43, 27F
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章