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-完全问题。
这道题,我的思路是:首先证明吝啬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-完全问题。
相关文章推荐
- 【算法概论习题解答】8.3证明吝啬SAT问题是NP-完全问题
- 8.3 证明吝啬SAT是NP-完全问题
- 习题8.3--证明吝啬SAT是NP-完全问题
- 8.3 证明吝啬SAT是NP-完全问题。
- 吝啬SAT问题是NP完全的证明
- 8.3证明吝啬SAT问题是NP-Complete问题
- 算法概论习题-8.3证明吝啬SAT问题是NP-Complete
- 【算法期末作业】8.3 证明STINGY SAT是NP-完全问题
- 8.3证明吝啬SAT问题为NP完全问题
- 课本8.3证明 吝啬SAT问题是NP完全问题
- 证明题-算法概论8.3吝啬SAT问题证明
- 证明题-算法概论8.3证明吝啬SAT问题
- 8.3 吝啬SAT问题
- 算法分析与设计——NP完全证明问题8.16
- Np 完全问题 8.3
- 【NP-完全问题】课后习题8.3
- 8.3吝啬SAT问题
- 【算法习题】证明吝啬SAT问题为NP完全问题
- 8.15 证明最大公共子图为NP-完全问题
- [算法概论习题] 证明 EXACT 4SAT 是 NP-complete 问题