《算法概论》 习题8.9

来源:互联网 发布:妖尾之数据换装番茄 编辑:程序博客网 时间:2024/05/17 03:00

题目:

在碰撞集问题中,给定一组集合{S1, S2, ..., Sn}和预算b,我们希望求一个所有Si都相交并且规模不超过b的集合H,当然,前提是这样的集合确实存在。

换句话说,我们希望对所有的i满足H∩Si≠∅。

请证明该问题是NP-完全的。

证明:

利用归约证明,将顶点覆盖问题归约到碰撞集问题。

对于图G(V, E),设图中每一条边都对应一个集合Si,集合中的元素即边的两个顶点,如{v1, v2},那么可以构造出 |E| 个Si集合。

图G的顶点覆盖问题可以看成是求这 |E| 个集合的碰撞集,顶点覆盖问题中的顶点就是碰撞集中的元素,因为H∩Si≠∅,那么Si中至少有一个元素在碰撞集中,即边的两个顶点至少 有一个顶点在碰撞集中,而顶点覆盖要求所有的边都被覆盖到,那么边的两个顶点中至少有一个顶点在覆盖集中,所以顶点覆盖是可以归约到碰撞集问题的,且归约为多项式时间。因此得证。


0 0
原创粉丝点击