week17-算法概论书本习题

本文通过证明STINGYSAT与EXACT4SAT问题属于NP完全问题,探讨了布尔满意性问题的不同变种。首先,证明了STINGYSAT问题的NP完全性,即在限定真变量数量的情况下寻找满足条件的赋值;其次,证明了每个子句恰好包含四个文字且每个变量在每个子句中最多出现一次的EXACT4SAT问题也是NP完全的。

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 tnat STINGY SAT is NP-complete.

解:

显然STINGY SAT的解可以在多项式时间内验证的,所以是一个NP问题。若将k设为所有变量的总个数,可以轻易将SAT归约到STINGY SAT,所以STINGY SAT是NP完全问题。

8.8

In the EXACT 4SAT problem, the input is a set of clauses, each of which is a disjunction of exact four literals, and such that each variable occurs at most once in each clause. The goal is to find a satisfying assignment, if one exists Prove that EXACT 4SAT is NP-complete.

解:

由于EXACT 4SAT的解可以在多项式时间内验证的,所以是一个NP问题。对于一个3SAT,若某个子句中包含了一项多次,可以缩减为一次;若同时包含了某一变量的肯定和否定,可以将这个变量去掉。然后,再在每句中添加一些哑变量(没用的辅助变量),这样就可以将一个子句中的数目扩充到4个。则3SAT实例转化了一个EXACT 4SAT问题,所以EXACT 4SAT是NP-complete问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值