📜  证明旅行商问题是 NP Hard(1)

📅  最后修改于: 2023-12-03 14:57:40.727000             🧑  作者: Mango

证明旅行商问题是 NP Hard

在计算机科学中,有一个著名的问题叫做旅行商问题(Traveling Salesman Problem,缩写为TSP)。TSP是一个组合优化问题,要求找到一个最短的路径,使得一个旅行商能够访问一系列城市并回到起点城市。

NP Hard 问题

NP Hard 是一个重要的计算机科学概念,它代表了一类困难的问题。NP Hard 问题是那些在多项式时间内无法求解的问题,但对于任意一个给定的解,我们可以在多项式时间内验证其正确性。

证明一个问题是 NP Hard 可以采用约简归约的方法。这种方法是将一个已知的 NP Hard 问题转化为待证明问题的实例,如果能够在多项式时间内将待证明问题的实例转化为已知问题的实例,并且实例之间的关系是等价的,那么就可以得出待证明问题也是 NP Hard 问题的结论。

证明 TSP 是 NP Hard

我们将通过将一个已知的 NP Hard 问题——图的哈密顿回路问题(Hamiltonian Cycle Problem)约化为 TSP 来证明 TSP 是 NP Hard。

哈密顿回路问题是指在一个图中找到一个简单回路,经过图中的每个顶点恰好一次。这个问题已经被证明是 NP Hard 的。

约简归约

我们将通过将一个给定的图 G 转化为一个等价的 TSP 实例来约简归约。

步骤

  1. 对于图 G 的每个顶点,将其复制出来形成一个新的图 G'。
  2. 在图 G' 中,为每一对相邻顶点 u 和 v 添加一条边,并且边的长度为顶点 u 和 v 之间原本存在的边的长度。
  3. 在图 G' 中,将所有复制的顶点与图 G 中的起点相连,并且边的长度为起点到相应顶点的距离。
  4. 问题转化完成后,可以通过求解 TSP 来解决哈密顿回路问题。
归约过程分析

上述约简归约过程中,我们可以看到:

  • 构造出的图 G' 中,每个顶点都与其相邻的顶点相连,并且加入了额外的边。
  • 顶点之间的边的长度是根据原图 G 中的边来确定的,可以保证最优解的正确性。
  • 新增加的起点与复制的顶点相连,确保了从起点出发遍历所有复制的顶点,并且回到起点。

因此,我们可以得出以下结论:

  • TSP 实例的最优解对应于哈密顿回路问题的解。
  • 如果我们能够在多项式时间内求解 TSP,那么我们就能在多项式时间内求解哈密顿回路问题。
  • 由于哈密顿回路问题是 NP Hard 的,因此 TSP 也是 NP Hard 的。
总结

通过将一个已知的 NP Hard 问题(哈密顿回路问题)约化为 TSP,我们证明了 TSP 也是 NP Hard 的。这个证明过程说明了 TSP 问题的困难程度,并且为研究者提供了一个基准问题,以便将其他问题归约为 TSP 来进行研究。