您的位置:首页 > 其它

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

2018-01-01 20:40 302 查看
吝啬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-完全问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: