【问题标题】:Why is TSP NP-hard while the Hamiltonian path NP-complete?为什么 TSP NP-hard 而哈密顿路径 NP-complete?
【发布时间】:2016-12-03 10:30:22
【问题描述】:

为什么TSPHamiltonian path problem这两个问题都不是NP完全的?

它们看起来一模一样。

【问题讨论】:

    标签: algorithm graph-theory np-complete np-hard


    【解决方案1】:

    NP-hardness 和 NP-completeness 的定义相关但不同。具体来说,如果 NP 中的每个问题在多项式时间内都归结为该问题,则该问题是 NP 难的;如果问题在 NP 中既是 NP 难的,又是其自身的问题,则该问题是 NP 完全的。

    NP 类由决策问题组成,即有是/否答案的问题。结果,TSP 不能在 NP 中,因为预期的答案是一个数字,而不是是或否。因此,TSP 可以是 NP-hard,但不能是 NP-complete。

    另一方面,哈密顿路径问题要求一个是/否的答案,它恰好在 NP 中。因此,由于它也是 NP 难的,所以它是 NP 完全的。

    现在,您可以通过将问题从“最便宜的路径是什么?”更改为 TSP 并将其转换为决策问题。到“是否有一条花费 X 或更少的路径?”,后一种表述是 NP 的,而且恰好是 NP 完全的。

    【讨论】:

      【解决方案2】:

      要使问题 X NP-完全,它必须满足:

      1. X 在 NP 中,给定 X 的解,该解可以在多项式时间内得到验证。
      2. X 属于 NP-hard,也就是说,每个 NP 问题都可以在多项式时间内归约到它(您可以通过从已知的 NP-hard 问题(例如哈密顿路径)进行归约来做到这一点)。

      旅行商问题 (TSP) 有两个版本:

      1. 优化版本(可能是你正在看的那个),即找到TSP的最优解。这不是一个决策问题,因此不能在 NP 中,但它在 NP-hard 中,可以通过Hamiltonian Path reduction 证明。因此,这不是一个 NP 完全问题。
      2. 决策版本 - 给定一个整数 K,是否有一条路径通过长度

      【讨论】:

      • 那么优化问题是NP难的?
      • 我认为您的定义中有几个错误。决策问题可能没有可在多时间内验证的解决方案(它只是任何带有是/否答案的问题)。 NP-hard 不是根据其他 NP-hard 问题来定义的(尽管您的定义已经足够,但不是必须的)——定义是每个 NP 问题都可以在多时间内归约到它。
      • @PaulHankin 是的,您当然是正确的,非常感谢您的评论。对于 NP-hard 的定义,我只想给出一个直观的定义,证明问题 X 所需的步骤是 NP-hard。我更新了我的答案。
      • 问题:对于 TSP 决策问题,假设答案是否定的。您将如何在 polytime 中检查?
      • @wjmccann 通过遍历给定的解决方案并验证它确实是“否”。你不能简单地说“不”——你需要证明为什么答案是“不”——从那里你可以简单地检查它,因为你只需要遍历 n 个节点从解决方案。
      猜你喜欢
      • 1970-01-01
      • 2018-05-29
      • 2012-10-23
      • 2012-01-06
      • 2011-04-09
      • 2011-08-04
      • 2020-10-03
      • 2011-04-18
      • 1970-01-01
      相关资源
      最近更新 更多