NP-complete problems

先介绍下关于这个NP完全问题的一些基本概念:


1) P
多项式时间内可以被确定型图灵机求解的问题。
2) NP
一般有两个定义:
1. 多项式时间内可以被非确定型图灵机求解的问题;
2. 多项式时间内可以通过确定型图灵机验证解的问题;

3) NP-hard:

比所有的NP问题都难的问题

4)NP-complete:满足两点:
  1. 是NP hard的问题
  2. 是NP问题


8.3

吝啬SAT问题是这样描述的:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k个变量为true的满足赋值——如果该赋值存在。而我们的目的就是证明吝啬SAT问题为NP完全问题。

证明:吝啬SAT问题是NP问题。 
已知SAT是NP完全问题,因此,只要能把SAT归约到吝啬SAT问题,即可证明。 
归约过程:假设SAT问题有n个变量,即等价于k=n的吝啬SAT问题。这个归约过程的可以在多项式时间O(1)内完成,因此命题得证。

NP-complete problems