Problem
吝啬SAT问题是这样的:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k各变量为true的满足赋值 —— 如果该赋值存在。证明吝啬SAT是NP完全问题。
Solution
可以将SAT问题归约到此问题。
首先,若得到了吝啬SAT问题的一个解,按照此解对吝啬SAT的每个子句赋值,即可验证这个解是否成立,这个过程是多项式时间的,所以吝啬SAT是NP问题。
下面将SAT问题归约到吝啬SAT问题,令吝啬SAT问题中的k为SAT问题中所有变量的总个数,此时吝啬SAT问题转化为SAT问题。由于SAT问题是NP完全问题,可知吝啬SAT问题也是NP完全问题。
因此吝啬SAT问题是一个NP完全问题,证毕。