算法概论 - 8.3

来源:互联网 发布:微信网上订餐系统源码 编辑:程序博客网 时间:2024/05/22 05:33

Problem

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

Solution

可以将SAT问题归约到此问题。

首先,若得到了吝啬SAT问题的一个解,按照此解对吝啬SAT的每个子句赋值,即可验证这个解是否成立,这个过程是多项式时间的,所以吝啬SAT是NP问题。
下面将SAT问题归约到吝啬SAT问题,令吝啬SAT问题中的k为SAT问题中所有变量的总个数,此时吝啬SAT问题转化为SAT问题。由于SAT问题是NP完全问题,可知吝啬SAT问题也是NP完全问题。
因此吝啬SAT问题是一个NP完全问题,证毕。

0 0
原创粉丝点击