证明 EXACT 4SAT是NP完全问题

题目

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. (算法概论-注释版 习题 8.8)

证明

首先,显然EXACT 4SAT属于NP问题。
接下来,将3SAT (3SAT属于NP-完全问题) 归约到EXACT 4SAT来证明其为NP-完全问题。
对于任意的一个3SAT实例,如果其中某个句子包含了同一个变量多次,则可以将该变量减少为一次。如果包含了某个变量的肯定以及否定,则可以将该变量去掉。
然后给该变量添加一些辅助变量,将该句子包含的变量个数扩充到4个。
此时,我们就将3SAT归约到了EXACT 4SAT,由于3SAT是NP-完全问题,因此EXACT 4SAT也是NP-完全问题。

你可能感兴趣的:(算法分析,Leetcode)