Algorithms exercise
8.8 In the EXACT 4SAT problem, 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 EXACT 4SAT is NP-complete.
solution:在精确4SAT问题(EXACT 4SAT)中,输入为一组子句,每个子句都恰好是4个文字的析取,且每个变量最多在每个子句中出现一次。目标是求它的满足赋值,如果赋值存在。证明该EXACT 4SAT问题是NP-完全问题。首先可以知道的是3SAT问题是NP-complete的,对于任意一个3SAT 实例,如果其中某个子句中包含了同一个文字多次,那么可以缩减为一次,如果同时包含了某个变量的肯定及否定,那么可以将这个变量去掉。然后,可以再在每个子句中可以添加一些辅助变量,这样就可以将每个子句所包含的文字数目扩充到四个。因此也就证明了EXACT 4SAT问题也是NP-complete的。