证明PATH问题不是NP完全问题

时间:2019-06-10 10:46:14

标签: computer-science computation-theory np-complete

PATH是指图形G中是否存在从s到t的有向路径的问题。我知道PATH∈P,但是我很难证明它不是 NP完全问题。如果以某种方式证明了这一点,那是否意味着P≠NP?

1 个答案:

答案 0 :(得分:0)

要使问题成为NP完全问题:

  • 它必须是NP硬
  • 它必须在NP中

要使问题成为NP难题,它必须至少与NP中最困难的难题一样困难。 这意味着必须有可能使用NP难题来在多项式时间内解决NP中的任何其他问题。

我们想证明PATH并不是NP完整的,但我们已经知道它在P中,因此它也肯定在NP中(很明显,每个确定性Turing Machine都可以由非确定性Turing Machine进行模拟)。

enter image description here

因此,证明PATH不是NP完全的唯一方法是证明至少有一个NP问题不能在多项式时间内简化为PATH。 不幸的是,您会发现这取决于P vs NP开放问题。

矛盾证明

让我们使用旅行商问题(TSP),这是一个NP完全问题,似乎与PATH密切相关。 假设TSP简化为PATH,即针对TSP问题的实例进行了多项式时间修改,以便随后可以由PATH Turing Machine正确解决。

我们知道所有P问题都可以在多项式时间内相互简化。 另外,我们知道所有NP问题都可以在多项式时间内转化为TSP。

因此,通过传递性,所有NP问题都归结为TSP,TSP将归结为PATH,而PATH归结为所有其他P问题。 这样得出P = NP = NP完全。

只有当P = NP = NP完全时,PATH才是NP完全的问题。

类似地,证明PATH不是NP完全性问题就等于证明P≠NP≠NP完全性。如果PATH不是NP完全性问题,那么就没有问题在P中,因为所有P问题都可以在多项式时间内相互简化。