问题描述:

给定一组集合{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完全问题

证明碰撞集(HITTING SET)问题是NP完全问题相关推荐

  1. NP完全问题的归约-碰撞集(HITTING SET)

    原题: 在碰撞集(HITTING SET)问题中,给定一组集合{S1, S2, S3, -, Sn}和预算b,我们希望求一个与所有Si相交且规模不超过b的集合H(H与所有Si相交不为空). 证明: ( ...

  2. Hitting Set 碰撞集问题

    8.9 In the HITTING SET problem, we are given a family of sets {S1,S2,-,Sn}, and a budget b, and we w ...

  3. 从顶点覆盖(Vertex Cover)到碰撞集(Hitting Set)的归约

    碰撞集问题 给定一组集合{S1,S2,S3,-,Sn}和预算b,问是否存在一个集合H,其大小不超过b,且H和所有Si(i=1, 2, -, n)相交. 顶点覆盖问题 给定图G,问是否存在一个顶点集合V ...

  4. 【计算理论】计算复杂性 ( 证明团问题是 NP 完全问题 )

    文章目录 一.团问题是 NP 完全问题 证明思路 二.证明团问题是 NP 完全问题 一.团问题是 NP 完全问题 证明思路 证明一个命题是 NP\rm NPNP 完全问题 : ① 证明是 NP\rm ...

  5. 证明:hitting set是NP完全问题

    <算法概论>P266 8.9 首先证明hitting set(我暂且翻译为击中集)是一个NP问题.给定该问题的一个实例,包括一组集合{S1,S2,...,Sn},大小限制b,再给定问题的一 ...

  6. 【计算理论】计算复杂性 ( NP 完全问题 - 布尔可满足性问题 ★ | 布尔可满足性问题是 NP 完全问题证明思路 ) ★

    文章目录 一.NP 完全问题 - 布尔可满足性问题 ★ 二.布尔可满足性问题是 NP 完全问题证明思路 一.NP 完全问题 - 布尔可满足性问题 ★ 布尔可满足性问题 ( Boolean Satisf ...

  7. 【计算理论】计算复杂性 ( 无向图独立集问题 | 独立集问题是 NP 完全问题证明思路 | 证明独立集问题是 NP 完全问题 )

    文章目录 一.独立集问题 二.独立集问题是 NP 完全问题证明思路 二.证明独立集问题是 NP 完全问题 一.独立集问题 无向图的独立集 , 指的是在无向图中找到点集的子集 , 使得它们两两之间 , ...

  8. 【计算理论】计算复杂性 ( 3-SAT 是 NP 完全问题 | 团问题是 NP 完全问题 | 团问题是 NP 完全问题证明思路 )

    文章目录 一.3-SAT 是 NP 完全问题 二.团问题是 NP 完全问题 三.团问题是 NP 完全问题 证明思路 一.3-SAT 是 NP 完全问题 布尔可满足性问题 ( Boolean Satis ...

  9. 通过3SAT证明支配集是NPC问题

    往期文章: NPC简介 NP-hard问题证明 NPC 证明(一) NPC 证明(二) 本文介绍如何通过3SAT归约,进而证明支配集是NPC问题. 3SAT问题 → \rightarrow → 3-S ...

最新文章

  1. 学习css3的弹性盒模型
  2. 平方的观测值表概率_茆诗松的概率论与数理统计(第六章)
  3. Android常用ui,XUI: 一个简洁而优雅的Android原生UI框架,解放你的双手!
  4. Android vector矢量图应用实例
  5. shell 停止tomcat_Linux停止tomcat运行
  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 网格系统实例:响应式的列重置
  7. android一格一格向上的进度条,如何 使用 ProgressBar 进度条
  8. 中国水泥基防水行业市场供需与战略研究报告
  9. maven -父子项目和多模块项目
  10. 网页抓取工具之数据预处理
  11. 用iPad编写C/C++代码(计算机考研党也能用iPad写算法题)
  12. 浅谈如何学习网络编程
  13. 接口implement
  14. 检索下载中/英文论文的方法
  15. 秘密:从程序员到领导者的微妙之处
  16. 基于eclipse的俄罗斯方块游戏
  17. Java简易转码工具(一个字符串编码是GBK的文本文件,内容转成UTF-8编码)
  18. 自然语言处理数据集收集
  19. 记-阿里开发手册规范(JAVA)
  20. AGS01DA VOC传感器 MSP430 单片机 程序 AGS01DB

热门文章

  1. Unity屏幕永远保持为固定分辨率
  2. java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at
  3. 这就是你日日夜夜想要的docker!!!---------TLS加密远程连接Docker
  4. 二本学历,3年软件测试点点点,25K入职阿里巴巴
  5. 信号完整性(SI)电源完整性(PI)学习笔记(二)时域与频域
  6. Lzrs序數幻方集(32階七色彩虹)
  7. excel中如何将内容分成几列?speedoffice告诉你
  8. 为什么Linux的fdisk分区时第一块磁盘分区的First Sector是2048?
  9. B002 - 基于嵌入式的老人定位追踪监测仪
  10. CMS 常见问题分析和解决方案