算法概论 - 8.8
来源:互联网 发布:万物生长齐溪好丑 知乎 编辑:程序博客网 时间:2024/05/02 01:32
Problem
在精确的4SAT(EXACT 4SAT)问题中,输入为一组子句,每个子句都是恰好4个文字的析取,且每个变量最多在每个子句中出现一次。目标是求它的满足赋值————如果该赋值存在。证明精确的4SAT是NP-完全问题。
Solution
考虑通过将3SAT问题归约到4SAT(EXACT 4SAT)问题来验证4SAT(EXACT 4SAT)问题的NP完全性。
对于任意一个3SAT实例,考虑其每个子句。若该子句中多次包含同一文字,则这些文字可以缩减成一次,即
... ∨ p ∨ ... ∨ p ∨ ... ∨ p ∨ ...=... ∨ p ∨ ... ;
若该子句中某个包含某个文字本身及其否定,则这些文字可以相互抵消去掉,即
... ∨ p ∨ ... ∨ ┐p ∨ ... ∨ ┐p ∨ ...=... ;
经过上述简化后,在子句中添加若干哑变量,是每个子句包含的文字数目为4个。此时,3SAT实例成功转化为一个4SAT实例。显然,上述过程能使任意一个3SAT实例转化为一个4SAT实例,于是3SAT问题成功归约为一个4SAT(EXACT 4SAT)问题。
0 0
- 《算法概论》习题8.8
- 《算法概论》8.8
- 算法概论 - 8.8
- 算法概论 8.8
- 《算法概论》 习题8.8
- 算法概论8.8
- 算法概论习题8.8
- 算法概论8.8
- 算法概论 8.8习题证明
- 算法概论课后习题8.8
- 【算法概论习题】8.8解答
- 算法概论
- 算法概论
- 算法概论第八章课后习题8.8
- 证明NP问题(算法概论8.8)
- 组合算法概论(1)
- 组合算法概论(2)
- 组合算法概论(3)
- N-gram
- 蓝桥杯 邮局
- Eclipse导入源码
- 避免使用终结
- 函数局部变量的返回
- 算法概论 - 8.8
- 计算机学习第四阶段面向实战
- Spring 之AOP AspectJ切入点语法详解(最全面、最详细。)
- Android入门开发之FlameLayout(九)
- 数组引用:C++ 数组做参数 深入分析
- iOS审核这些坑,腾讯游戏也踩过
- 坚持#第109天~不耽误做的这一件事就行!
- 1129/2016/上午
- hpuoj 1193: Interval