SAT问题:一个CNF由若干个字句组成,每个字句由逻辑或连接起来,每个文字是一个布尔变量或其否定。是否存在一个所有变量为真的真值指派(使所有字句为真的每个布尔变量的取值)。
吝啬SAT问题:一个CNF由若干个字句组成,每个字句由逻辑或连接起来,每个文字是一个布尔变量或其否定。是否存在一个至多K个变量为真的指派(使至多K字句为真的每个布尔变量的取值)。
1.若已知某个真值集合,很容易看出在多项式时间内可以验证是否有K个真值字句。所以吝啬SAT问题是NP问题。
2.NPC:B是NPC问题当且仅当(1)B是NP问题;(2)存在一个已知的NPC问题A,A能规约到B。
3.已知SAT问题是NPC问题。
4.假设SAT问题有n个变量,SAT等价于k=n的吝啬SAT问题。将SAT问题归约为吝啬SAT问题时间复杂度为O(1),所以吝啬SAT问题也是NPC问题。