算法概论 8.8证明题

2017-07-05  本文已影响25人  PentonBin

一、题目

在精确的4SAT(EXACT 4SAT)问题中,输入为一组子句,每个字句都是恰好4个文字的析取,且每个变量最多在每个子句中出现一次。目标是求它的满足赋值——如果该赋值存在。证明精确的4SAT是NP-完全问题。


二、证明

首先很明显,EXACT 4SAT属于NP。现在通过将3SAT规约到EXACT 4SAT来证明后者的NP完全性。

对于任意一个3SAT实例,如果其中某个子句中包含了同一个文字多次,那么可以缩减为一次,如果同时包含了某个变量的肯定及否定,那么可以将这个变量去掉。然后,可以再在每个字句中可以添加一些哑变量(即没用的的辅助变量),这样就可以将每个子句所包含的文字数目扩充到四个。至此,即已将该3SAT实例转化成了一个EXACT 4SAT问题。

上一篇下一篇

猜你喜欢

热点阅读