算法设计期末作业07-8.16

来源:互联网 发布:引用另外一个表格数据 编辑:程序博客网 时间:2024/05/29 16:17

题目有点长久去网上截了一个一小段的题目

题目

菜谱和3SAT问题
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问题规约到菜谱问题,证明菜谱问题可以在多项式时间内解决。那么3SAT问题也能在多项式时间内解决。
对于3SAT问题,假设其中一个语句是A,orBorC,那么,可以得出7种情况使这个语句成立。若~ABC为真,其中BC为真,那么A为假,他们之间不能成立。置K(~A,B)=1,K(~A,C)=1,K(B,C)1=,如果成立2个菜之间的K值为0,这样把一个菜谱中所有矛盾的菜的K值都置为1,那么得到的最后的3SAT问题中的总子句数就是菜谱中的最大材料的数量。因此若菜谱问题在多项式时间内得到解决,3SAT可以规约成一个菜谱问题。3SAT问题也可以在多项式时间内得到解决。

原创粉丝点击