算法第17周第8周课后习题

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.

解答:

一个吝啬的SAT问题与SAT问题的区别就是吝啬SAT问题对解进行了限制,就是解中值为true的变量的个数不能超过k个。那么显然给定一个可能的解,我们可以在多项式时间内对其进行判断对错,所以,吝啬的SAT问题是一个NP问题。
如果我们想证明吝啬的SAT问题是一个NP完全问题,那么我们还需要证明其为NP难问题。
现有一个SAT问题其变量个数为l个,我们可以将其归约成一个吝啬的SAT问题,只需令k = l。如果此时吝啬的SAT有一个解,那么SAT问题也一定有解。如果此时吝啬的SAT没有解,那么SAT问题也一定没有解。因为SAT问题为NP难问题,所以吝啬的SAT问题也是NP难问题。
综上,吝啬的SAT问题为NP完全问题。


8.19

题目描述:

A kite is a graph on an even number of vertices, say 2n, in which n of the vertices form a clique and the remaining n vertices are connected in a “tail” that consists of a path joined to one of the vertices of the clique. Given a graph and a goal g, the KITE problem asks for a sub graph which is a kite and which contains 2g nodes, Prove that KITE is NP-complete.

解答:

一个风筝图问题就是在一个图中寻找一个子图,这个子图包含有2g个节点(其中g个节点形成一个团集,剩下的g个节点连接在一起并且与团集中的一个点相连)。那么显然给定一个可能的解,我们可以在多项式时间内对其进行判断对错,所以,风筝问题是一个NP问题。
如果我们想证明风筝图问题是一个NP完全问题,那么我们还需要证明其为NP难问题。
现在我们将一个团问题归约成一个风筝图问题。
给定一个图G(V,E),团问题是在图中找到一个规模为g的团集。我们在原图中添加一个有|V|个节点的链,并将链中的每个节点与原图中的|V|个节点分别连接,形成图G’,如果G’有一个结点数为2g的风筝,那么G一定有一个结点数为g的团,因为在构造G’添加节点的过程并不会在G’中引入新的团(因为添加的都是链),因此G和G’含有相同的团。因为团问题为NP难问题,所以风筝图问题也是NP难问题
综上,风筝图问题为NP完全问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值