算法概论8.9
来源:互联网 发布:数据恢复精灵免费版 编辑:程序博客网 时间:2024/06/06 18:06
算法概论8.9
题目要求:在碰撞集(Hitting Set)问题中,给定一组集合{S1,S2,…,Sn}和预算b,我们希望求一个所有的Si相交且规模不超过b的集合H,当然,前提是这样的集合确实存在。换句话说,我们希望对所有的i满足H∩Si≠ϕ。
证明该问题是NP-完全的。
证明:
先证明碰撞集问题是一个NP问题
在求解该问题的时候,它需要验证集合H的大小是不是超过b,以及验证对所有的i满足H∩Si≠ϕ,所以它的时间复杂度是 O(n|H||S|), 也既碰撞集问题是一个NP问题。
然后再把顶点覆盖问题归约到碰撞集问题上
对于顶点覆盖问题,它属于一个NP问题,接下来就是需要我们把顶点覆盖的问题归约到碰撞集上,那么碰撞集就是一个NP完全问题。
在某个图G(V,E)中,顶点覆盖问题就是看能否找到不超过k个点的情况覆盖G的所有边的问题。这样我们可以构造一个G到碰撞集问题的映射。设在碰撞集中某个Si,可以用G中的某条边e=(u,v)来表示,再假设其预算b对应于顶点覆盖问题中的K。在顶点覆盖问题中,图G的任意一条边至少有一个点在覆盖集中,也即H∩Si≠ϕ,这也就说明这两个问题是一一对应的,覆盖集中最多的k个点和规模不超过b的集合H对应。至此也就完成了从顶点覆盖问题到碰撞集问题的规约,也即碰撞集是一个NP完全问题。
阅读全文
0 0
- 算法概论 - 8.9
- 算法概论8.9
- 《算法概论》 习题8.9
- 算法概论8.9解答
- 算法概论课后8.9
- 《算法概论》8.9
- 算法概论8.9
- 算法概论
- 算法概论
- 《算法概论》习题8.9 碰撞集
- 组合算法概论(1)
- 组合算法概论(2)
- 组合算法概论(3)
- 计算几何算法概论
- 计算几何算法概论
- 算法概论xmind
- 算法概论第一次作业
- 第一周:算法概论
- 李代桃僵-列表里横竖展示图片动态调整高宽因复用引起的错位问题
- 比较一个类的两个对象是否相同
- http://www.znds.com/tv-360538-1-1.html
- 基于Cat的分布式调用追踪
- C++ 操作Excel-----用OLE读写
- 算法概论8.9
- 第2.3章 scrapy之selenium
- Creo Elements/Pro 5.0+Visual Studio 2008二次开发环境配置
- iOS
- 外部中断EXTI的配置注意事项
- java类初始化顺序
- jquery不起作用的原因
- PHP魔术变量
- 深入理解HTTP协议(转)