题目描述:
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.
简要题解:
先理清题意。本题给出了STINGY SAT的定义,即给定一组子句(每个子句都是其中文字的析取)和整数k, 求一个最多有k个变量为true的可满足赋值(若该赋值存在)。需要证明STINGY SAT是NP-完全问题。
证明如下:
先证明STINGY SAT是NP问题。给定STINGY SAT的实例 I' 。 则在多项式时间内,可以验证最多有k个变量为true的赋值是否能使得实例为真。故STINGY SAT是NP问题。
接下来再证明STINGY SAT是NP完全问题。我们知道SAT是NP-完全的,为了证明STINGY SAT是NP-完全问题,可以将SAT归约到STINGY SAT。给定SAT的实例 I (有k个变量)和 STINGY SA