NP-Complete Problem

本文通过构造性证明展示了两个问题的NP-Completeness:一是给定无向图中寻找大小为k的团与独立集;二是STINGYSAT问题,即在给定的合取范式中寻找至多k个变量为真的指派。

如题一:

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完全问题。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值