查找涵盖所有节点的最小游览数

时间:2014-04-17 10:06:13

标签: algorithm tree

我面临以下问题。

说明:

  1. 给出了许多具有位置的节点
  2. 中间有一个中心节点,它的位置也是如此。
  3. 路由被定义为从中心节点开始并至少访问一个节点并在中心节点中再次结束的路径。
  4. 路线长度必须短于给定的数字。
  5. 如何以最少的路由覆盖所有节点?

    如果有任何帮助可以提供解决方案或类似的着名问题,如果有任何问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

此问题为NP-Hard,只有TSP的简单缩减。

首先,定义此问题所接受的语言

L = { (G,x,i) | graph G, maximum length per path x, minimal number of travels required i }

很容易看出你的问题基本上是上面定义的存在问题的优化问题。

<强> TSP:
给定(G,x)形式的TSP实例,我们需要确定是否存在遍历所有长度更短/等于x的循环路径。

减少:
减少如下。给定TSP (G,x)的实例,为您的问题(G,x,1)提供实例。

<强>正确性:

  • 如果存在遍历所有长度x的循环路径 或者在TSP的解决方案中,还有一个解决方案 需要1次旅行的问题。
  • 如果长度为x或更短的问题需要1次旅行,则这是TSP找到的路线。

我们提出的减少是简单的多项式。

由此我们可以得出结论,你的问题是NP-Hard,因为TSP是NP-Hard。