是否有一种算法或一组算法可以让您找到距离任意起始节点最短的步行距离,以便在一个权重无向图中访问每个节点?这不是旅行推销员,因为我不在乎是否多次访问一个节点。 (如果你把它重新开始也没关系 - 只要它是访问所有节点所需的最后一个节点,walker就可以在一些遥远的节点结束。)它不是最小的生成树,因为它可能是A - > B - > C - > A - > D是访问A,B,C和D的(非唯一的)最短路径。我的直觉说这不是一个NP问题,因为它没有使NP问题如此棘手的限制。当然,我完全错了。
答案 0 :(得分:9)
来自维基百科关于Travelling Salesman Problem的文章:
去除每个城市“只有一次”的条件并不能消除NP硬度,因为很容易看出在平面情况下有一个最佳的旅行只能访问每个城市一次(否则,三角形不等式) ,跳过重复访问的快捷方式不会增加游览时长。)
答案 1 :(得分:3)
不确定礼仪是什么,用已经接受的答案添加问题的答案。
我添加这个答案只是为了不必跳转到另一页,不必处理平面图和三角不等式以及这很简单且可能更容易理解的事实。
哈密尔顿路径问题可以简化为:
假设我们有一个多项式时间算法来解决我们找到一个访问所有顶点的最小权重的问题。
给定一个我们需要确定哈密尔顿路径是否存在的图表,我们只是按原样将其提供给当前的问题算法,设置边缘权重= 1.如果算法返回值> n-1,原始图中没有哈密顿路径,否则就有。
所以这个问题是NP-Hard。