关于一个NP完全问题的证明
2018-01-20 12:04
323 查看
这里给出的例子是教材《算法概论》P267的8.14。题目:
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.
题目是说,给定一个无向图和整数k,要寻找一个大小为k的团和一个大小为k的独立集(假设都存在)。
首先,寻找一个大小为k的独立集,等价于寻找G的补图G’的大小为k的团,因此可以将问题简化为寻找一个无向图的大小为K的团。
我们将利用3SAT问题归约到K-团问题。
我们可以假设一个K个子句的3SAT问题,现在使用如下构造图的方式:不同字句中,符号不相反(如A与非A)的节点存在一条边。因此,如果我们找到了大小为K的团,则说明我们在K个子句里都找到了一个真值,3SAT成立。而如果K个子句的3SAT问题有解,则说明K个子句中都至少有一个真值,根据构造图的方式,只需要将每个子句中的那个真值找出,在图中对应的K个节点就会两两互连,成为一个大小为K的团。因此可以证明如果K个子句的3SAT问题是NP完全问题,K-团问题也是NP完全问题,题目8.14所描述的问题也是NP完全问题。
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.
题目是说,给定一个无向图和整数k,要寻找一个大小为k的团和一个大小为k的独立集(假设都存在)。
首先,寻找一个大小为k的独立集,等价于寻找G的补图G’的大小为k的团,因此可以将问题简化为寻找一个无向图的大小为K的团。
我们将利用3SAT问题归约到K-团问题。
我们可以假设一个K个子句的3SAT问题,现在使用如下构造图的方式:不同字句中,符号不相反(如A与非A)的节点存在一条边。因此,如果我们找到了大小为K的团,则说明我们在K个子句里都找到了一个真值,3SAT成立。而如果K个子句的3SAT问题有解,则说明K个子句中都至少有一个真值,根据构造图的方式,只需要将每个子句中的那个真值找出,在图中对应的K个节点就会两两互连,成为一个大小为K的团。因此可以证明如果K个子句的3SAT问题是NP完全问题,K-团问题也是NP完全问题,题目8.14所描述的问题也是NP完全问题。
相关文章推荐
- 关于一个欧拉函数的性质的证明
- 一个NP完全问题的证明
- 关于子集数证明的一个延拓
- 关于费马小定理的一个奇妙的组合证明
- 关于命题“网络规划中一个VLAN要对应一个网段”的证明
- 关于一个求最小交换次数的算法的一个严格证明,是严格证明,不是想当然
- 关于完美洗牌算法中圈和圈起点的一个证明
- 支配集(dominating set)问题是NP完全问题的一个证明
- 工控应用中关于刚体旋转操作的一个有用的几何命题及证明
- 关于LCS的一个证明
- 关于棣莫弗定理证明的一个延拓
- Conway关于莫莱(Morley)定理的一个巧妙证明
- 关于欧拉公式证明的一个延拓
- 关于完美洗牌算法中圈和圈起点的一个证明
- 关于存在一个正整数n,使得大于n的整数都能由6、9、20相加组合而成的证明
- 一个关于数论中拉格朗日定理的证明
- 关于一个字符出现1次或者n次输出问题的解决方法
- 【编程经验】一个关于常量不能被修改的错误
- 排查一个关于Parsley配置错误导致的问题
- 一个微软面试题--关于位结构体