我们怎么知道NP完全问题是NP中最难的?

时间:2016-05-31 18:57:01

标签: big-o complexity-theory computation-theory turing-machines

如果你可以从“每个”问题中减少多项式时间,那么我知道这个问题至少和NP中的每个问题一样难。除此之外,我们怎么知道我们发现了NP中的每一个问题?难道不存在我们可能没有发现或证明存在于NP中的问题但是不能减少到任何np完全问题吗?或者这仍然是一个悬而未决的问题?

3 个答案:

答案 0 :(得分:2)

正如其他人已经正确地指出的那样,NP问题的存在,但不是NP完全意味着P!= NP,所以找到一个会带给你million dollar和永恒的荣耀。一个被认为属于这一类的着名问题是integer factorization。但是,你原来的问题是

  

不存在我们可能未发现或证明的问题   在NP中存在但是不能简化为任何np完全问题吗?

答案是。根据NP完全性的定义,两个中的一个 问题A的必要条件是NP完全是每个NP问题需要在多项式时间内减少到A.如果你想找出如何证明每个NP问题可以在多项式时间内减少到某些NP-完整的问题,看看Cook-Levin theorem证明3-SAT问题是NP完全的证据。这是第一个经过验证的NP完全问题,并且通过找到3-SAT对这些问题的适当减少,后来证明了许多其他NP完全问题是NP完全的。

答案 1 :(得分:1)

NP包含所有可以(理论上)通过能够进行幸运猜测,猜测解决方案并在多项式时间内检查解决方案是正确的问题来解决的问题。例如,旅行商问题"我可以访问美国所有50个州的国会大厦,行程少于9,825英里"可以通过猜测旅行并检查它是否太长来解决。

NP中的一个问题基本上是模拟具有各种输入的可编程计算机电路,并检查是否可以实现某个输出。并且该可编程计算机电路足以解决NP中的所有问题。

是的,我们知道关于NP中的所有问题。

(当然,NP完整问题可以按定义用于解决NP中的任何问题。如果存在无法解决的问题,则该问题不在NP中)。

答案 2 :(得分:1)

  

除此之外,我们怎么知道我们发现了NP中的每一个问题?

我们没有。宇宙中所有问题的集合不仅是无限的,而且是不可数的。

  

我们可能没有发现或证明存在的问题   NP存在但不能减少到任何np完全问题?

我们不知道。我们怀疑是这种情况,但目前尚未证实。如果我们要找到NP不完全的NP问题,那就证明P = / = NP。

这是CS中尚未解决的问题之一。许多才华横溢的人一直在努力,但这个坚果是一个难以解决的问题。