Prob_Solve 板


LINE

http://www.tcgs.tc.edu.tw:1218/ShowProblem?problemid=d062 题目如上面连结。 我的做法是先求出任两点间的最短路径值, 接着利用贪婪法决定下一个拜访(最近)的城市。 但如果离起点(当下位置)最近的有两个以上, 则把这些路径都测试过一遍。 虽然有通过测验,但这种作法是正确的吗? 还是运气好罢了? 会提出这问题是因为想到 TSP 无法用贪婪解。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.12.195.169
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Prob_Solve/M.1469456729.A.513.html ※ 编辑: noodleT (39.12.195.169), 07/25/2016 22:26:21
1F:推 FRAXIS: 这问题跟 TSP 应该是等价的吧 所以 greedy 应该不 work.. 07/25 22:37
我认为是不等价的, TSP 中 af 距离为 sqrt(2) 而在此题中 af = ab + bf = 2 观念若有错请多包涵 ※ 编辑: noodleT (39.12.195.169), 07/25/2016 22:55:35
2F:推 FRAXIS: TSP 中的 edge weight 是输入的一部分 07/25 23:03
3F:→ FRAXIS: 你想的 TSP 是 edge weight 被设定为 Euclidean distance 07/25 23:03
4F:→ FRAXIS: 所以只是 TSP 的特例而已.. 07/25 23:03
5F:推 FRAXIS: 不过这题的图是定死的 而且是 grid 的 subgraph 07/25 23:05
6F:→ FRAXIS: 所以应该有比较快的方法作吧 07/25 23:06
7F:推 DJWS: 运气好 07/26 06:52
8F:推 FRAXIS: 我查了一下 TSP 在 grid graph 中还是 NPC 的 07/26 11:49
9F:→ FRAXIS: HAMILTON PATHS IN GRID GRAPHS 论文 title 07/26 11:49
10F:→ FRAXIS: 不过如果 grid graph 上面没有洞的话是多项式可解的 07/26 11:50
11F:→ noodleT: 在这张图上有什麽例子是贪婪解不出来的? 07/26 12:15
12F:→ noodleT: 看很久没看出来 07/26 12:16
13F:推 yvb: 从 n 出发, 须拜访 a, b, f, j, p. 07/26 14:07
14F:→ noodleT: 谢谢楼上,我再想想其他解法 07/26 19:57
15F:→ FRAXIS: 应该就 backtracking 吧 07/26 21:38
目前利用一张表来储存子问题(应该是属於动态规划解),但效果不彰。 从 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
16F:推 FRAXIS: 应该是要的吧 不然你的方法就等同产生所有排列了.. 07/28 09:16
17F:推 DJWS: TSP可以用动态规划解 时间从O(n!)变O(2^n * n) 快了很多 07/28 22:00
18F:→ DJWS: O(2^n * n^2) 07/28 22:04
19F:→ noodleT: 加入限制条件後就快多了 08/01 16:38
20F:推 FRAXIS: 你还可以尝试 A star 08/01 21:01
21F:→ noodleT: 好的 08/01 21:17
22F:→ noodleT: a start 似乎没有保证最佳解 08/06 21:48
23F:推 FRAXIS: A* 如果你 heuristic 设计的对是保证会有最佳解的.. 08/06 22:02
24F:推 DJWS: 这题的heuristic要怎麽设计?我是第一次听说这种题目可以A* 08/10 07:06
25F:推 FRAXIS: 要设计不难啊 有没有用又是另外一回事.. 08/10 08:02
26F:→ FRAXIS: MST 的 cost 应该可以当 heuristic 吧 08/10 08:03
27F:推 DJWS: 是可以,不过总共得算多少次MST呢? 08/10 21:43







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP