《算法概论》习题8.9 碰撞集

来源:互联网 发布:网络人肉搜索现象分析 编辑:程序博客网 时间:2024/06/06 11:35

题目:
  在碰撞集(HITTING SET)问题中,给定一组集合{S1,S2,...,Sn}和预算b,我们希望求一个与所有的Si相交且规模不超过b的集合H,当然,前提是这样的集合确实存在。换句话说,我们希望对所有的i满足HSi
  请证明该问题是NP-完全的。

证明:
  可将顶点覆盖问题归约到碰撞集问题,顶点覆盖问题的目标是找到一个大小不超过b的点集合H,使得图中所有的边都至少与集合中的一个点关联,它是一个NP-完全问题。
  设无向图G=(V,E),对于图中每一条边(vm,vn),设集合Si={vm,vn},最终得到|E|个集合。
  这样即可将顶点覆盖问题归约到碰撞集问题:
  ① 若存在满足要求的集合H,它与所有的Si都相交且规模不超过b,那么H也是满足顶点覆盖问题的点集合。
  ② 若不存在集合H与所有的Si相交且规模不超过b,那么图G中也不存在规模不超过b的顶点覆盖H
  综上所述,存在集合H与所有的Si相交且规模不超过b,当且仅当图G中存在规模不超过b的顶点覆盖。因此碰撞集问题是NP-完全问题。

0 0
原创粉丝点击