算法概论第八章课后习题8.3

Posted

tags:

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

8.3 吝啬SAT问题是这样的:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k个变量为true的满足赋值——如果该赋值存在。证明吝啬SAT是NP-完全问题。

证明:

补充一下SAT问题的概念:SAT问题是指是否存在一组对所有布尔变量的赋值(TRUE或FALSE),使得整个合取范式取指为真。

根据书本8.2章的定义:称一个搜索问题是NP-完全的,是指其它所有搜索问题都可以归约到它。

从定义可知,证明一个问题是NP-完全问题有两步,第一步是证明该问题是一个NP问题,第二步是证明其它所有搜索问题都可以归约到该问题。

先证明吝啬SAT问题是NP问题。

如果存在一组对应于吝啬SAT问题子句变量的值,将这组值代入该问题中,可以在多项式时间内验证问题的解是否为真。因此吝啬SAT问题是NP问题。

再证明其他所有搜索问题都可以归约到该问题。

因为所有搜索问题都可以被归约为SAT问题。因此上述问题转化为证明SAT问题可以归约为吝啬SAT问题。

设f为SAT的一个实例,令SAT问题中变量个数为k,即f中变量总数为k,则(f,k)为吝啬SAT问题的实例。

证明SAT问题可以归约为吝啬SAT问题从其充分性和必要性证明。

如果f的解存在,则该解中值为true的变量数量小于等于k个。所以该解也是吝啬SAT问题(f,k)的解。

如果(f,k)的解存在,则该吝啬SAT问题的解中值为true的变量数量也小于等于k个,因此它也是SAT问题f的解。

必要性和充分性得证。SAT问题可以归约为吝啬SAT问题。

综上,吝啬SAT问题为NP-完全问题。

 

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

算法概论课后习题8.8

课程作业西瓜书 机器学习课后习题 : 第八章

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

数据结构(C语言版 第2版严蔚敏版)完整课后习题答案汇总

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

[算法分析与设计]第17周