证明碰撞集问题为NP完全问题。
来源:互联网 发布:虚拟男朋友聊天软件 编辑:程序博客网 时间:2024/05/02 14:18
碰撞集问题中,给定一组集合{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完全问题。
0 0
- 证明碰撞集问题为NP完全问题。
- 证明碰撞集(HITTING SET)问题是NP完全问题
- 证明重组问题为NP完全问题
- 证明NP完全问题
- NP-完全问题证明
- 证明支配集问题是NP完全问题
- 证明精确4SAT问题为NP完全问题
- 证明吝啬SAT问题为NP完全问题。
- 8.15 NP完全问题证明
- NP完全问题习题证明
- NP-完全问题的证明
- NP-完全问题证明题
- NP完全问题的归约-碰撞集(HITTING SET)
- [Algorithms] 证明支配集问题是NP完全问题
- 经典证明:扫雷是NP完全问题
- 作业-NP完全问题证明-8.23
- 几个NP-完全问题的证明
- NPC(NP完全问题)证明
- HiveServer2 源码分析
- OkHttp的使用分析,okhttp的多种getpost方式
- gitlab 上源码Merge后出现git gc的解决方案
- CodeForces745C C - Hongcow Builds A Nation 图论+容斥
- Leetcode 133. Clone Graph (Medium) (cpp)
- 证明碰撞集问题为NP完全问题。
- 2016.12.24总结
- 直播123
- Hive CLI执行流程分析
- 约瑟夫问题 循环单链表解法
- 卷积神经网络(CNN)及其theano实现
- nginx负载均衡后tomcat获取客户端真实IP
- TensorFlow学习(三):Graph和Session
- 13. bash