我正在上Algorithms: Design and Analysis II类,其中一个问题问:
以下哪项是正确的?
- 考虑一个TSP实例,其中每个边缘成本为1或2。然后可以在多项式时间内计算出最优行程。
- 考虑一个TSP实例,其中每个边缘成本均为负。视频讲座中涉及的动态编程算法可能不会 正确计算最佳巡边(即边长的最小和) 这个实例。
- 考虑一个TSP实例,其中每个边缘成本均为负。删除顶点及其所有入射边不会增加 最佳(即边长的最小总和)游览的费用。
- 考虑一个TSP实例,其中每个边缘成本是该位置两点之间的欧几里得距离(就像在编程中一样) 作业5)。删除顶点及其所有入射边不能 增加最优成本(即边长的最小总和) 游览。
我认为如下:
DP算法没有对边缘成本进行任何假设,因此选项2不正确。
如果所有边缘权重均为负,则删除一个顶点及其所有入射边缘肯定会增加最小值总和,因为实际上该边缘权重现已添加到先前的最小值中。因此,选项3不正确。
在原始实例中进行最佳游览。现在,不用再访问已删除的顶点v,而是可以直接从v的前任跳到其后继。因为欧几里得距离满足“三角不等式”,所以此快捷方式仅减少了行进的总距离。最好的游览当然只能更好。因此,选项4是正确的。
但是,对于单位边缘成本的TSP问题,我找不到任何意义。选项1仅仅是一个把戏,还是更多呢?
答案 0 :(得分:0)
在此处操作
Papadimitriou and Yannakakis已表明,可以在多项式时间内将TSP问题1近似为7/6。 Bläser and Shankar Ram进一步将这一保证提高到65/56。但是,无论这些结果有多好,它们仍然是近似值,而不是最佳解决方案。因此,选项1不正确。