算法概论习题8.3题解

题目:

    8.3. STINGY SAT is the following problem: given a set of clauses (each a disjunction of literals) and

an integer k, find a satisfying assignment in which at most k variables are true, if such an

assignment exists. Prove that STINGY SAT is NP-complete.


题解:

1、对于一组给定真值少于K的literal组X,很显然我们可以在多项式时间里面验证这组X是否可以使得STINGY SAT的一个实例(f,k)为真,因此可以证明STINGY SAT为NP问题

2、为了证明STINGY SAT为一个NP完全问题,我们需要把SAT问题归约到STINGY  SAT问题上。设一个仅有k个变量的SAT,其中一个实例为f,STINGY SAT有一个实例为(f,k),一组literal组X。

那么我们只需要证明:SAT可以归约到STINGY  SAT,则X为f的解当且仅当X为(f,k)的解。

1)当x为(f,k)的解时,明显x为f的解。

2)当x为f的解时,因为SAT中有k个变量,因此x中最多只有k个变量为真,因此x带入(f,k)中也为真。

3)综上所述,SAT可以归约到STINGY  SAT,则X为f的解当且仅当X为(f,k)的解,因此可以证明STINGY SAT为一个NP完全问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值