算法概论 习题8.16
来源:互联网 发布:mysql时间转日期函数 编辑:程序博客网 时间:2024/06/05 18:16
题目:
EXPERIMENTAL CUISINE
Input: n, the number of ingredients to choose from: D,the n*n "discord" matrix; some number p >= 0
Output: The maximum number of ingredients we can choose with penalty <= p.
Show that if EXPERIMENTAL CUISINE is solvable in polynomial time, then so is 3SAT.
题解:
考虑将3SAT问题转化成一个EXPERIMENTAL CUISINE问题。对于任意3SAT问题,若其中某一个句子 :A or B or C;
我们可以得出7种ingredients,分别为ABC, AB'C, AB'C', ABC', A'BC, A'B'C, A'BC',这7种情况皆可使上述的句子成立。
比如A'BC代表A为假,B和C为真时;它们之间是不能成立的,则将D[A',B] = 1,D[A',C] = 1,D[B,C] = 1(两两ingredients间的discord值置为1)。若成立,则可将两两ingredients间的discord值置为0.
在3SAT任意两个句子之间,任意两个相矛盾的子句的ingredients之间的discord值置为1。最后得到子句总数就是EXPERIMENTAL CUISINE中最大材料的数量。
因此EXPERIMENTAL CUISINE多项式时间内可解,那么3SAT也能。
end!
阅读全文
0 0
- 算法概论 习题8.16
- 《算法概论》习题8.8
- 《算法概论》习题8.12
- 《算法概论》习题8.19
- 《算法概论》习题8.20
- 《算法概论》习题8.3
- 《算法概论》 习题8.8
- 《算法概论》 习题8.9
- 算法概论习题证明
- 算法概论课后习题
- 《算法概论》习题8.22
- 《算法概论》习题8.10
- 算法概论习题8.14
- 算法概论习题8.8
- [算法概论]习题8.12
- 算法概论 习题8.20
- 算法概论 习题8.12 证明
- 《算法概论》习题8.12题解
- Java集合框架的知识总结(1)
- 实训第二天,希望能坚持下去共勉。
- 七牛云 js前端上传文件
- Tensorflow快速入门2--实现手写数字识别
- struts2 入门实例原理与流程 过程理解
- 算法概论 习题8.16
- 【SQL server】merge 关键字的使用
- 逻辑回归基本原理
- @SpringBootApplication原理
- 【HDU3466】Proud Merchants
- Shiro简介及认证授权过程
- Windows编程之旅(八)
- ros_qtc_plugin插件的使用视频教程
- Java基础0711