NP-Complete Problem

如题一:

Prove that the following problem is NP-complete: given an undirected graph G=(V, E) and an integer k, return a clique of size k as well as an independent set of size k, provided both exist.

给了一个无向图G=(V, E),以及一个整数k,要求返回一个大小为k的团(与大小为k的独立集等价)

团和独立集是两个相对的概念,但根据书上公理可知,寻找k个元素的团和寻找k个元素的独立集是等价命题。

对于任意一个有k个clause的3SAT表达式,可以对每个clause构造一个三角形的子图,(共有k个三角形)

对于每个变量,两种相反的形式之间连一条边,如果能够找到k个元素的独立集,必然k个点分布在k个三角形,即选择了k个变量,使得表达式满足。验证满足性显然是快速的。

于是,当我们用多项式时间算法解决k独立集问题时,我们就一定有多项式时间算法解决3SAT问题,所以k独立集问题是NP-complete problem.

同理,k独立集的等价命题k-clique可以先转换成k-independent的问题,也是NP-complete的。

如题二:

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.

STINGY SAT指的是给定一个团集合(每一个都是析取范式)和一个整数k,确定是否可以找到一个适宜的赋值使得至多k个变量都是正确的。证明STINGY SAT 是一个NP-complete问题。

首先,SAT问题也称为合取范式的可满足问题,一个合取范式形如:A1∧A2∧…∧An,子句Ai(1≤i≤n)形如:a1∨a2∨…∨ak,其中ai是某一布尔变量。SAT问题是指是否存在一组对所有布尔变量的赋值(TRUE或FALSE),使得整个合取范式取值为真。

对于{x1, x2, …, xn}这样一组满足上述要求的解,可以在多项式时间内验证其正确性的,因此STINGY SAT属于NP问题。

把SAT规约到STINGY SAT:

  1. SAT是STINGY SAT的一个特例,假设SAT的函数为f,给定n个变量x1, x2, …, xn,最多有n个变量为真,那么(f, n)即可看成是STINGY SAT的实例。
  2. 假设STINGY SAT的实例是(f, n),那么(f, n)的一个真值指派,也一定是SAT函数f的一个真值指派,即f是SAT的实例

以上可把SAT规约到STINGY SAT,由于SAT是NP完全问题,我们可以吧STINGY SAT问题转换成一个SAT问题,所以STINGY SAT也是NP完全问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值