课后习题8.8,证明4SAT是NP完全的
总体思路是将3SAT问题归约到4SAT问题,这样就可以证明EXACT 4SAT是NP完全的。
对于一个3SAT问题实例中的子句,可以通过如下方式转换为EXACT 4SAT
- 如果存在重复的文字,我们可以只保留其中一个,如
x∨y∨y∨y变为x∨y
- 如果子句中同时存在
x
和
¬x 这两种文字,可以直接去掉。如形如x∨y∨¬y变为
x - 添加无关变量将其扩充到4个文字,如
x∨y∨z
我们可以加入p,变为
(x∨y∨z∨p)(x∨y∨z∨¬p)
这样就完成了3SAT问题到EXACT 4SAT问题的转化。即3SAT问题可以归约为精确4SAT问题,由于3SAT是NP完全的,所以精确4SAT也是NP完全的。