题目:
8.3. STINGY SAT is the following problem: given a set of clauses (each a disjunction of literals) and
an integer k, find a satisfying assignment in which at most k variables are true, if such an
assignment exists. Prove that STINGY SAT is NP-complete.
题解:
1、对于一组给定真值少于K的literal组X,很显然我们可以在多项式时间里面验证这组X是否可以使得STINGY SAT的一个实例(f,k)为真,因此可以证明STINGY SAT为NP问题
2、为了证明STINGY SAT为一个NP完全问题,我们需要把SAT问题归约到STINGY SAT问题上。设一个仅有k个变量的SAT,其中一个实例为f,STINGY SAT有一个实例为(f,k),一组literal组X。
那么我们只需要证明:SAT可以归约到STINGY SAT,则X为f的解当且仅当X为(f,k)的解。
1)当x为(f,k)的解时,明显x为f的解。
2)当x为f的解时,因为SAT中有k个变量,因此x中最多只有k个变量为真,因此x带入(f,k)中也为真。
3)综上所述,SAT可以归约到STINGY SAT,则X为f的解当且仅当X为(f,k)的解,因此可以证明STINGY SAT为一个NP完全问题。