定理已证明
一个NP完全问题若易解则P与NP塌缩
命题陈述
若 是NP完全的且 ,则 。
为什么成立?
的NP完全性意味着每个NP问题都可以在多项式时间内被改写为 的一个实例。若 本身能在多项式时间内求解,将改写步骤与求解步骤串联起来,就同样能在多项式时间内解出原来的NP问题——因此,只要有一个可行的(易解的)NP完全问题,就会把所有NP问题一起拖入P。
证明思路
设 是NP完全的,且存在一个在时间 内求解 的算法。任取 ;由 的NP完全性可知 ,即存在一个在时间 内可计算的归约函数 ,把 的实例映射为 的实例,同时保持是/否答案不变。
对 的一个长度为 的输入 ,先计算 :这需要时间 ,特别地输出 的长度至多为 (多项式时间算法写出的输出不能比其运行时间更长)。然后在 上运行求解 的多项式时间算法:由于 ,这需要时间 。
总运行时间为 ,仍是关于 的多项式(两个多项式的复合仍是多项式)。由归约的正确性, 是 的「是」实例当且仅当 是 的「是」实例,因此这一组合过程能在多项式时间内正确判定 。
由于 是任意的,每个NP问题都有多项式时间算法,即 。结合恒成立的包含关系 ,即得 。
用到此定理的主题
分步证明
该定理暂无分步证明。
参考文献
- Stephen A. Cook (1971). The Complexity of Theorem-Proving Procedures · DOI:10.1145/800157.805047
- Michael Sipser (2012). Introduction to the Theory of Computation
- Michael R. Garey, David S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness
- Clay Mathematics Institute (2000). P vs NP Problem