7.4 NP-completeness
1970年,Stephen Cook和Leonid Levin发现有一类问题. If a polynomial time algorithm exists for any of these problems, all peoblems in NP would be polynomial time solvable.
These problems are called NP-complete.
定理7.27(SAT问题)
is a satisfiable Boolean formula.
iff P=NP.
satisfiability problem:布尔表达式是否可能为true
e.g.
定义7.29(polynomial time reduction)
符号可以理解为:在以多项式为粒度的难度方面,,C更(或相同)难
TODO
定义7.34(NP-complete)
A language is NP-complete if it satisfies two conditions:
- is in NP, and
- every in NP is polynomial time reducible to
定理7.35(NP-complete和P=NP?的关系)
If is NP-complete and , then P=NP.
定理7.36(NP-complete内的等价关系)
If is NP-complete and for in NP, then is NP-complete.
再结合NP-complete的定义可知:
定理7.37(Cook-Levin定理)
is NP-complete.
推论7.42
is NP-complete.
证明方法: