【预备知识】
证明一个问题是NPC问题,首先这个问题要是一个NP问题。
将A问题规约到B问题:A -> B,即A可以转化为B的一个实例。
如果B在多项式时间内有解,那么A在多项式时间内也有解。
如果A是NPC问题,那么B也是NPC问题。
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问题是一个NP问题。
考虑将SAT问题规约到 STINGY SAT问题:
对于SAT问题,给定一个合取范式S,设 k = S的变量数,则(S, k)则为stingy SAT问题的一个实例。
设X是满足S的一组解,因为一共只有k个变量,所以解X中的true的变量数 ≤ k,因此所有满足S的解同时也是(S, k)的解;
若X为(S, k)的解,则X也是S的解。
因为SAT是一个NPC问题,因此stingy SATY也是NP-complete问题
对于SAT问题,给定一个合取范式S,设 k = S的变量数,则(S, k)则为stingy SAT问题的一个实例。
设X是满足S的一组解,因为一共只有k个变量,所以解X中的true的变量数 ≤ k,因此所有满足S的解同时也是(S, k)的解;
若X为(S, k)的解,则X也是S的解。
因为SAT是一个NPC问题,因此stingy SATY也是NP-complete问题
8.8
In t
he EXACT 4SAT problem, the