算法概论课后习题8.8

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法概论课后习题8.8相关的知识,希望对你有一定的参考价值。

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

跟8.3题类似,要证明精确的4SAT问题是NP-完全问题分两步:

1、精确的4SAT问题是NP问题

2、通过证明某NP-完全问题可以归约为精确的4SAT问题

首先证明精确的4SAT问题是NP问题。同8.3类似,将一组值代入一个4SAT实例中需要多项式时间来验证解的真假,因此4SAT问题是NP问题。

第二步是通过已知的NP-完全问题3SAT问题归约到4SAT问题来证明。

设3SAT的实例I=(a1V a2V a3)(a4 V a5 V a6)...(.anV an+1V an+2)

根据4SAT问题的条件,每个变量最多在每个子句中出现一次。如果某个变量在子句中出现多次,则缩减为1次。

如果某个子句中同时包含互反的两个变量,则将这两个变量同时去除。

接下来在各子句中添加1个变量,转化为4SAT。如(a1V a2V a3)转化为4SAT的实例(a1V a2V a3Vb)∧(a1V a2V a3V?b)

如果某组数值满足(a1V a2V a3),则它也同时满足(a1V a2V a3Vb)∧(a1V a2V a3V?b)。所以如果3SAT实例是可满足的,4SAT实例也是可满足的。

另外,如果(a1V a2V a3Vb)∧(a1V a2V a3V?b)是可满足的,由于b和?b是一真一假,所以可推出(a1V a2V a3)为真,3SAT的实例是可满足的。

结合上述两条可推出3SAT可归约为4SAT。

综上所述,4SAT问题是NP-完全问题。

以上是关于算法概论课后习题8.8的主要内容,如果未能解决你的问题,请参考以下文章

数据库系统概论第五版课后习题答案(王珊)

《数据库系统概论(第5版)》课后习答案 王珊萨师煊编著版 课后题解析 高等教育出版社出版 答

专栏必读(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

电子技术基础数字部分 第五版 第六版 课后习题答案

《软件工程导论》课后习题解答

2018.1.7 计算机算法课后习题总结