证明碰撞集问题为NP完全问题。
2016-12-24 16:39
281 查看
碰撞集问题中,给定一组集合{S1, S2, ..., Sn} 和预算b, 我们希望求出一个所有Si 相交且规模不超过b的集合H,当然,前提是这样的集合确实存在。证明该问题为NP完全问题。
同样的,我们使用归约的方法来证明,而我使用顶点覆盖问题来归约。顶点覆盖问题为:给定一个无向图,求一个大小不超过b 的点集,使得图中每一条边都至少有一个顶点属于该点集,当然,前提是这样的集合确实存在。顶点覆盖问题已经用SAT-> 3SAT -> 独立集问题 -> 顶点覆盖问题 这样的归约过程被证明为NP完全问题了,接下来就是如何从顶点覆盖问题归约到碰撞集问题。
对于顶点覆盖问题中给定的无向图中的每一条边,我们取边的两个顶点作点集S。如果有n条边,我们就能得到一个点集的集合T = {S1, S2, ..., Sn} ;如果我们有m个顶点,就有一个点集V = {v1, v2, ... , vm} 。则原问题就变成了求一个大小不超过b的点集H,使得T中每一个集合Si 都至少有一个元素在H 中的问题。这就是一个碰撞集的问题。归约的过程显然是多项式时间复杂度的。
若碰撞集问题不是NP完全问题,则顶点覆盖问题也不是。但事实是顶点覆盖问题是一个NP完全问题,所以碰撞集问题也是。
这就证明了碰撞集问题为NP完全问题。
同样的,我们使用归约的方法来证明,而我使用顶点覆盖问题来归约。顶点覆盖问题为:给定一个无向图,求一个大小不超过b 的点集,使得图中每一条边都至少有一个顶点属于该点集,当然,前提是这样的集合确实存在。顶点覆盖问题已经用SAT-> 3SAT -> 独立集问题 -> 顶点覆盖问题 这样的归约过程被证明为NP完全问题了,接下来就是如何从顶点覆盖问题归约到碰撞集问题。
对于顶点覆盖问题中给定的无向图中的每一条边,我们取边的两个顶点作点集S。如果有n条边,我们就能得到一个点集的集合T = {S1, S2, ..., Sn} ;如果我们有m个顶点,就有一个点集V = {v1, v2, ... , vm} 。则原问题就变成了求一个大小不超过b的点集H,使得T中每一个集合Si 都至少有一个元素在H 中的问题。这就是一个碰撞集的问题。归约的过程显然是多项式时间复杂度的。
若碰撞集问题不是NP完全问题,则顶点覆盖问题也不是。但事实是顶点覆盖问题是一个NP完全问题,所以碰撞集问题也是。
这就证明了碰撞集问题为NP完全问题。
相关文章推荐
- 证明碰撞集(HITTING SET)问题是NP完全问题
- 证明k-生成树问题是NP完全问题
- 证明支配集问题是NP完全问题
- 证明精确4SAT问题为NP完全问题
- 支配集(dominating set)问题是NP完全问题的一个证明
- 【算法期末作业】课本8.19 kite问题的NP完全问题证明
- EXACT 4SAT问题是NP完全问题的证明
- NP问题——证明EXACT 4SAT问题是NP完全问题(算法概论习题8.8)
- 证明重组问题为NP完全问题
- 课本8.19 kite问题的NP完全问题证明
- 证明EXACT 4SAT问题是NP完全问题-[算法概论8.8]
- 课本8.3证明 吝啬SAT问题是NP完全问题
- 【算法习题】证明吝啬SAT问题为NP完全问题
- 证明最大公共子图问题是NP完全问题
- 证明吝啬SAT问题为NP完全问题。
- 吝啬SAT问题是NP完全问题的证明
- NP完全问题——证明EXACT 4SAT是NP完全问题
- 成绩差不多。但期末考试题偏难,我的班平均分反而没期中考试高,到期末考试两个班差距还是显而易见的,我们班标准差低,且平均分好于那个班。问题是怎样证明我们班期末考试成绩比期中考试成绩有了明显的提
- 关于ogrebullet中如何判断两个物体何时碰撞的问题
- 利用对手论证法证明中位数问题的比较次数下界[ZZ]