算法概论习题8.8 证明精确的4SAT问题是NP完全问题
题目描述:
8.8. In theEXACT4SATproblem, the input is a set of clauses, each of which is a disjunction of exactly
four literals, and such that each variable occurs at most once in each clause. The goal is to find
a satisfying assignment, if one exists. Prove that EXACT4SATis NP-complete.
证明:
已知3SAT问题是NP完全问题,下面将证明可以在多项式时间内将3SAT问题规约为精确的4SAT问题,则即可证明精确的4SAT问题是NP完全问题。
对于3SAT问题中的任意子句C,假设C = x1 V x2 V x3,则C = (x1 V x2 V x3) V (x4∧~x4) = (x1 V x2 V x3 V x4)∧(x1 V x2 V x3 V ~x4),将3SAT问题中的所有子句都按照这样的方式转化,则3SAT问题规约为精确的4SAT问题,且规约能在多项式时间内完成。
综上所述,精确的4SAT问题是NP完全问题。