您的位置:首页 > 其它

[NPC] 证明EXACT 4SAT问题是NPC问题

2016-11-25 18:28 1051 查看

-题目-

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

-思路-

这道题是比较简单的一题,按照书上所说的证明NPC问题的方法,我们只要把目前已知的NPC问题规约到精确的4SAT问题就可以证明精确的4SAT问题是NPC问题。那么根据精确4SAT问题的形式,很容易想到最接近的已知NPC问题是3SAT问题。

因此,接下来,我们证明3SAT问题可以规约到精确的4SAT问题,以证明精确4SAT问题是NPC问题。

-证明-

对于一个已有的3SAT问题,它的基本形式如下:



我们可以将一个3SAT问题扩充到任意一个精确的4SAT问题。也即在这些子句中加入一些哑元变量。对上例如下图:



那么这种加入哑元变量使得3SAT的公式变成精确4SAT的方法显然是多项式时间的。这样的规约是有效的因为对于3SAT的可满足的取值,必存在一组变量a使得对应的精确4SAT公式也满足。

反之,令精确4SAT公式中新加入的哑元变量取值都为1,则精确4SAT问题又回到了3SAT问题。

因此以上的推理证明了3SAT问题是可以规约到精确4SAT问题的,也即精确4SAT是一个NPC问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: