证明碰撞集(HITTING SET)问题是NP完全问题

问题描述:

给定一组集合{S1,S2,S3,…,Sn}和预算b,求一个集合H,其中H和所有Si相交且H的规模不超过b。求证该问题是NP完全问题

证明:

(1)先证该问题是一个NP问题。
假设给出集合H的所有元素,显然可以在多项式时间内验证该集合H是否满足条件要求(和Si逐一比较是否有交集并检查规模是否超过b),所以该问题是个NP问题
(2)再证该问题是一个NP难问题。
已知图的最小顶点覆盖问题(Vertex Cover)是NP难问题(在算法概论书中已有证明),只要能找到一种把最小顶点覆盖问题规约到碰撞集问题的方法,即可以证明碰撞集问题是NP难问题。
规约方式如下:
假设有一个图G(V,E),则把该图的每一条边对应一个集合Si,边上的两个点即该集合的元素,即每个集合有两个元素,如S1={v1,v2},这样一来,就能构造出|E|个集合。求图G的最小顶点覆盖问题,可以转化成求这|E|个集合的碰撞集,最小顶点覆盖的顶点就是H的元素,最小顶点覆盖数即为b。
所以碰撞集是一个NP问题且是一个NP难问题,即碰撞集为一个NP完全问题

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值