算法概论第八章课后习题
2017-01-01 21:54
225 查看
8.3
题目:吝啬SAT问题是这样的:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k个变量为true的满足赋值——如果该赋值存在。证明吝啬SAT是NP-完全问题。
解答:
证明吝啬SAT问题为NP问题。
若已知某个与吝啬SAT问题变量对应的真值集合,可在多项式时间内将该集合带入吝啬SAT问题验证是否为解。故吝啬SAT问题为NP问题。
证明吝啬SAT为NP-完全问题。
SAT -> 吝啬SAT
令SAT问题中变量个数为k即得到吝啬SAT问题,此归约过程需要多项式时间。又因为SAT问题为已知的NP-完全问题,则吝啬SAT问题亦为NP-完全问题。
8.8
题目:在精确的4SAT(EXACT 4SAT)问题中,输入为一组子句,每个子句都是恰好4个文字的析取,且每个变量最多在每个子句中出现一次。目标是求它的满足赋值——如果该赋值存在。证明精确的4SAT是NP-完全问题。
解答:
证明4SAT问题为NP问题。
若已知与4SAT问题变量对应的某个真值集合,可在多项式时间内将该集合带入4SAT问题验证是否为解。故4SAT问题为NP问题。
证明4SAT问题为NP-完全问题。
3SAT -> 4SAT
对于一个3SAT问题的实例,若存在子句的某变量出现了超过一次,则可将该变量删减到出现一次;若存在子句既出现某变量又出现该变量的非,则可消去该两个文字;最后往子句中新添加变量直至4个文字。此归约过程需要多项式时间。此时可得到4SAT问题。又因为3SAT问题是已知的NP-完全问题。故4SAT问题为NP-完全问题。
相关文章推荐
- 算法概论第八章课后习题
- 算法概论第八章课后习题8.8
- 算法概论第八章课后习题8.3
- 【RFID第五次作业】第八章课后习题
- 《C语言程序设计教程》(主编黄迪明、余勤)第八章课后习题答案
- 算法概论课本第八章习题作业 8.8
- 【算法概论】第八章课后习题
- 算法概论 课后习题 8.3 证明
- 教材第八章课后习题 (部分)
- 算法概论:第八章NP-完全问题——课后题8.16
- 算法概论课后习题8.3
- 算法概论课后习题8.8
- Python课后习题-第八章 读写文件
- 算法概论第八章课后题 8.12
- 算法概论第8章课后习题 8.3
- 算法概论——课后习题8.3 (第十八周)
- 算法概论第八章课后题--8.3
- 《算法概论》课后习题8.8 证明4SAT是NP完全的
- 《Algorithms》第八章课后习题8.10题解
- 算法概论第八章部分习题解答