问题描述: 吝啬SAT问题:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k个变量为true的满足赋值——如果该赋值存在。证明吝啬问题是NP-完全问题。
证明:
(1)证明吝啬SAT是NP问题;
假设x是一组与吝啬SAT问题中变量对应的赋值,x是否是可以使这个吝啬SAT问题为真的解,这是可在多项式时间内验证的,所以吝啬SAT是NP问题 。
(2)证明吝啬SAT是NP-完全问题;
假设h为包含n个变量的SAT问题的一个实例,令SAT问题实例h中变量为真的个数等于该问题包含的变量个数,即为k=n,则(h,k)为吝啬SAT问题的实例。于是,可知吝啬SAT为NP-完全问题。