您的位置:首页 > 其它

证明精确4SAT问题是NPC问题

2017-06-26 12:14 393 查看

证明精确4SAT问题是NPC问题

问题:

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

分析:

证明某个问题是NPC问题,一般思路是找一个已知的NPC问题来归约带该问题。其中3SAT问题是已知的NPC问题,所以接下来只要证明3SAT问题可以归约到精确的4SAT问题即可。

证明过程:

3SAT问题:A = (a1 ∨ a2 ∨ a3) ∧ (a4 ∨ a5 ∨ a6) ∧ ….∧(a ∨ a ∨ a)

精确4SAT问题: A = (a1 ∨ a2 ∨ a3 ∨ a4) ∧ (a5 ∨ a6 ∨ a7 ∨ a8) ∧…. ∧(a ∨ a ∨ a ∨ a)

容易证明(a1 ∨ a2 ∨ a3) 等价于 (a1 ∨ a2 ∨ a3 ∨ y) ∧ (a1 ∨ a2 ∨ a3 ∨ !y)

这样可以通过如下形式把3SAT问题形式变成精确4SAT问题形式

即A = (a1 ∨ a2 ∨ a3 ∨ y1) ∧ (a1 ∨ a2 ∨ a3 ∨ !y1) ∧(a4 ∨ a5 ∨ a6 ∨ y2) ∧ (a4 ∨ a5 ∨ a6 ∨ !y2) ∧ ….∧(a ∨ a ∨ a ∨ y)∧(a ∨ a ∨ a ∨ !y)

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