Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如果P=NP,那么我们怎么能说P=NP=NP完全?_Algorithm_Time Complexity_Np - Fatal编程技术网

Algorithm 如果P=NP,那么我们怎么能说P=NP=NP完全?

Algorithm 如果P=NP,那么我们怎么能说P=NP=NP完全?,algorithm,time-complexity,np,Algorithm,Time Complexity,Np,我在维基百科上找到了这个图表。我不知道在假设p=np的情况下,我们是如何得到p=np=np完整的?不确定这是关于堆栈溢出的主题(理论上的Comp Sci),但np难,正如图中正确显示的那样是“至少与np中的问题一样难的问题集”;这包括在某种意义上比NP更糟糕的问题 NP完全问题是NP难中的那些问题,它们与NP中已知的特定问题具有可约性关系。本质上,每一个可以在多项式时间内或更好地转化为NP完全问题的问题都和其他问题一样困难 这里有几个很好的例子来说明这个问题: NP类由多项式时间内“可验证”的问


我在维基百科上找到了这个图表。我不知道在假设p=np的情况下,我们是如何得到p=np=np完整的?

不确定这是关于堆栈溢出的主题(理论上的Comp Sci),但np难,正如图中正确显示的那样是“至少与np中的问题一样难的问题集”;这包括在某种意义上比NP更糟糕的问题

NP完全问题是NP难中的那些问题,它们与NP中已知的特定问题具有可约性关系。本质上,每一个可以在多项式时间内或更好地转化为NP完全问题的问题都和其他问题一样困难

这里有几个很好的例子来说明这个问题:

NP类由多项式时间内“可验证”的问题组成。我们所说的可验证问题是什么意思?如果我们以某种方式获得了一个解决方案的“证书”,那么我们就可以验证该证书在问题输入大小的时间多项式中是正确的


非正式地说,一个问题在NPC类中,如果它在NP中,并且和NP中的任何问题一样“难”,我们称之为NP完全问题


可判定语言L是NP完全的,如果:

  • L是NP,而且
  • 对于NP中的每一个L,L'可以在多项式时间内化简为L
  • 如果语言L满足属性2,但不一定满足属性1,我们就说L是NP难的。我们还将NPC定义为NP完全语言类

    (我可能把L'和L倒过来了,可还原性符号是从英语的读法倒过来的。)


    那么重点是什么呢?你可以用集合论来解决它:NP完全是NP的子集,如果p=NP,那么NP完全就是p的子集(事实上,在这一点上,它们都是相等的,因为你可以先把它们改成你神奇的p算法可以处理的东西来解决它们).NP-hard仍然包括一些NP完全问题,但也有其他问题在外面,它们只是

    这个问题似乎离题了,因为它是关于或的。为什么离题?p-NP是程序员应该具备的一个非常必要的概念。通常更适合于关于实际代码的问题。Quest关于计算机科学理论的讨论更适合于上面提到的网站之一。这更像是“这更适合那里”的例子,因为“这绝对不属于这里”好的,我明白了。所以,如果p=np,那么np中的每个问题都可以在多项式时间内求解,因此npc中的每个问题也可以在多项式时间内求解。所以p=np=npc。