8.3 吝啬SAT问题

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

解答:   若已知某个与吝啬SAT问题变量对应的真值集合,可在多项式时间内将该集合带入吝啬SAT问题验证是否为解。故吝啬SAT问题为NP问题。而要证明一个问题是NP-完全问题,需要证明以下两点: 
1. 它是一个NP问题,且 
2. 其他属于NP的问题都可归约成它。

再证明其他所有搜索问题都可以归约到该问题。

因为所有搜索问题都可以被归约为SAT问题。因此上述问题转化为证明SAT问题可以归约为吝啬SAT问题。

设f为SAT的一个实例,令SAT问题中变量个数为k,即f中变量总数为k,则(f,k)为吝啬SAT问题的实例。

证明SAT问题可以归约为吝啬SAT问题从其充分性和必要性证明。

如果f的解存在,则该解中值为true的变量数量小于等于k个。所以该解也是吝啬SAT问题(f,k)的解。

如果(f,k)的解存在,则该吝啬SAT问题的解中值为true的变量数量也小于等于k个,因此它也是SAT问题f的解。

必要性和充分性得证。SAT问题可以归约为吝啬SAT问题。

综上,吝啬SAT问题为NP-完全问题。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值