课后练习8.3证明
来源:互联网 发布:国美集团美信网络诈骗 编辑:程序博客网 时间:2024/06/04 17:43
题目描述:
8.3 STINGY SAT is the following problem: given a set of clauses (each a disjunction of literals) and an integer k , find a satisfying assignment in which at most k variables are true, if such an assignment exists. Prove that STINGY SAT is NP-complete.
简要题解:
先理清题意。本题给出了STINGY SAT的定义,即给定一组子句(每个子句都是其中文字的析取)和整数k, 求一个最多有k个变量为true的可满足赋值(若该赋值存在)。需要证明STINGY SAT是NP-完全问题。
证明如下:
先证明STINGY SAT是NP问题。给定STINGY SAT的实例 I' 。 则在多项式时间内,可以验证最多有k个变量为true的赋值是否能使得实例为真。故STINGY SAT是NP问题。
接下来再证明STINGY SAT是NP完全问题。我们知道SAT是NP-完全的,为了证明STINGY SAT是NP-完全问题,可以将SAT归约到STINGY SAT。给定SAT的实例 I (有k个变量)和 STINGY SAT的实例 I' (也有k个变量), 则需要证明一组变量的赋值X是I 的解,当且仅当X也是I’ 的解。
先证明充分性:设X是SAT的有k个变量的实例I 的解,则该解中最多有k个变量可以赋值为true, 故也满足最多有k个变量为true的STINGY SAT的实例 I’ ,则充分性得证。
再证明必要性:设X是最多有k个变量为true的赋值的STINGY SAT的实例I’ 的解,则易得X也是SAT的实例I 的解(其中变量个数为k个)。则必要性得证。
充分性、必要性均得证。所以STINGY SAT是NP-完全问题。
证明完毕。
通过证明本题,我进一步感受了NP-完全问题的证明思路,对课堂上没能完全消化的内容加深了理解,收获良多。
- 课后练习8.3证明
- 课后习题8.3-证明
- 算法概论 课后习题 8.3 证明
- 课后练习
- 课后练习
- 课后练习
- 课后练习
- Applet课后练习-2
- C#课后练习
- 毛邓三 课后练习答案
- APUE课后练习3.2
- 课后练习 exercise 4.1
- 第三章课后练习
- day02--课后练习
- 课后3 上机练习
- 课后练习 1.1
- 课后练习 1.2
- 课后练习 1.3
- 《C语言及程序设计初步》_1.11算术运算符与算术表达式_实践9——分离各位数
- 人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物
- idea中mybatis三剑客之mybatis plugin的破解安装讲解以及
- show()与exec()的区别
- 毕业设计工具和网站总结
- 课后练习8.3证明
- 理解JAVA的IO流
- SVM分类时间序列问题方法
- cocos2d-x下拉列表实现
- BitMap算法的说明以及验证
- 如何取消鼠标默认选中
- 检索单词的个数
- 图灵杯-第四届“图灵杯”NEUQ-ACM 程序设计竞赛-C-来简单地数个数
- Linux网络编程【六】:TCP协议高性能服务器(http)模型之I/O多路转接epoll