8.3 证明吝啬SAT问题是NP-完全问题

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


这道题,我的思路是:首先证明吝啬SAT问题是是NP问题,然后用归约的方法:由已知的NP完全问题(SAT问题)归约到该问题,并证明归约的过程的时间复杂度为多项式时间复杂度。


证明过程:

我们假设(f,k)为吝啬SAT的一个实例,x为一组赋值,也就是说,f是SAT的一个实例(包含k个变量)。因为吝啬SAT问题是SAT问题的一个变种,而且任何一个解都可以在多项式的时间内求解,所以吝啬SAT问题是NP问题 。 

要证SAT规约到吝啬SAT,即证: x是f的解 当且仅当 x是(f,k)的解  

如果x是f的解,则至多有k个变量为真,x赋给(f,k)也为真,所以x是(f,k)的解 
 
如果x是(f,k)的解,该吝啬SAT问题解中值为true的变量的数量也小于等于k,所以x也是f的解 


综上所述,吝啬SAT问题是NP-完全问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值