为什么TSP NP难以在汉密尔顿路径NP完全?

时间:2016-07-28 20:45:03

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

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

它们看起来很相似。

2 个答案:

答案 0 :(得分:6)

对于问题X NP-complete ,它必须满足:

  1. X在NP 中,给定X的解,可以在多项式时间内验证解。
  2. X在NP-hard 中,也就是说,每个NP问题在多项式时间内都可以减少(你可以通过减少已知的NP难问题(例如哈密顿路径)来实现这一点) )。
  3. 旅行商问题(TSP)有两个版本:

    1. 优化版本(可能是您正在查看的版本),即找到TSP的最佳解决方案。这不是决策问题,因此不能在NP中,但它在NP-hard中可以通过Hamiltonian Path reduction来证明。因此,这不是NP完全问题。
    2. 决策版本 - 给定整数K是否存在通过长度<的图形中的每个顶点的路径。 K +这是一个决定(是/否)问题,并且可以在多项式时间内验证解决方案(只是遍历路径并查看它是否接触到每个顶点),因此它在NP中,但它也在NP-hard(通过与上述相同的证据)。由于它满足NP完全性的两个要求,因此它是NP完全问题。

答案 1 :(得分:4)

NP-硬度和NP-完整性的定义是相关的但不同。具体来说,如果NP中的每个问题在多项式时间内减少到NP,那么问题是NP难的,如果它既是NP难的又是NP本身的问题就是NP完全的。

NP类由决策问题,有/无答案的问题组成。因此,TSP不能在NP中,因为预期的答案是数字而不是是或否。因此,TSP可以是NP难的,但它不能是NP完全的。

另一方面,汉密尔顿路径问题要求是/否答案,而恰好是在NP中。因此,既然它也是NP难的,它就是NP完全的。

现在,您可以通过更改“最便宜的路径是什么?”中的问题来将TSP转换为决策问题。 “是否存在成本为X或更低的路径?”,后者的配方是NP,也恰好是NP完全的。