支配集问题

算法概论习题8.20
  在一个无向图G=(V, E)中,我们称V的一个子集D为一个占优集,是指每个(v属于V)都属于D或与D中一个节点为邻。在占优集问题中,输入为一个图和预算b,目标是求图的一个规模不超过b的占优集——如果该集存在。证明该问题是NP-完全的。
  注: 占优集即为支配集,是dominating set的另一种译法.
  


证明
  我们不妨只考虑连通图,对于非连通图,可对每个连通块分别进行处理。

  我们使用归约进行证明
  点覆盖问题–>支配集问题
  点覆盖问题: 在一个无向图G=(V, E)中,我们称V的一个子集D为一个点覆盖,是指每条边(e属于E)其中的一个端点都属于D。在点覆盖问题中,输入为一个图和预算b,目标是求图的一个规模不超过b的点覆盖。
   
  对于一个点覆盖问题,给定G和b,我们可以构造一个无向图H,H是原本的图G加上,G上每条边(u,v),构造一个点x并连接(x,u)和(x,v). 我们可以将求点覆盖(G, b)转化为求支配集(H, b)。
  
  推论1:每一个G中的最小点覆盖S对应一个H中的最小支配集。
  因为S与所有E中的边相邻,所以S包含所有的G中的节点或与之相邻。对于新增的节点x,其派生自边(u,v),所以x也与S中的点相邻。所以S构成一个H的支配集。
  
  推论2:每一个H中的最小支配集S对应一个G中的最小点覆盖。
  对于每个H中新增的点x,若x属于S,则与x相邻的两点u, v必然不同时属于S,否则S不是最小的。因此,可以将x替换为u,v中不属于S的点,得到S’,显然S’仍是一个最小支配集。因此我们只考虑所有点都属于G的S。
  对这样的一个S,所有H中新增的x与S中的点相邻。所以所有的边(u,v)与S中的点相邻,即G中所有的边与S中的点相邻。所以S是G中的一个最小点覆盖。
  
  因此,如果需要求点覆盖(G, b),则构造H,求支配集(H, b),其结果S中的点按照推论2中的方法全部转换成G中的点,得到S’,则S’即为所求。若支配集(H, b)无解,则点覆盖(G, b)无解。
  因此,若支配集问题不是NP-完全问题,则点覆盖问题不是NP-完全问题。已知点覆盖问题是NP-完全的,所以支配集问题也是NP-完全的。

支配集(dominating set)问题是NP完全问题的一个证明相关推荐

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

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

  2. 【算法】NP完全问题以及世界数学七大难题

    NP完全问题(NP-C问题),是世界七大数学难题之一. 1.NP完全问题 P (确定性多项式算法)对NP (非确定性多项式算法) 人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题 ...

  3. 最小支配集,最小点覆盖,最大独立集(贪心/DP)

    最小支配集(minimal dominating set):对于图G=(V,E)来说,设V'是图G的一个支配集,则对于图中的任意一个顶点u,要么属于集合V',要么与V'中的顶点相连. 在V'中除去任何 ...

  4. 独立集,覆盖集,支配集,最大团,最大匹配

    独立集: 独立集是指图的顶点集的一个子集,该子集的导出子图不含边.如果一个独立集不是任何一个独立集的子集, 那么称这个独立集是一个极大独立集.一个图中包含顶点数目最多的独立集称为最大独立集.最大独立集 ...

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

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

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

    问题描述: 给定一组集合{S1,S2,S3,-,Sn}和预算b,求一个集合H,其中H和所有Si相交且H的规模不超过b.求证该问题是NP完全问题 证明: (1)先证该问题是一个NP问题. 假设给出集合H ...

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

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

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

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

  9. 贪心法求树的最小支配集,最小点覆盖,最大独立集

    原文地址(转自 Ashly的博客) 定义: 最小支配集:对于图G = (V, E) 来说,最小支配集指的是从 V 中取尽量少的点组成一个集合, 使得 V 中剩余的点都与取出来的点有边相连.也就是说,设 ...

  10. 算法4类问题:P问题、NP问题、NP完全问题、NP难问题

    在讲P类问题之前先介绍两个个概念:多项式,时间复杂度. 1.多项式:axn-bxn-1+c 称为x最高次为n的多项式 2.时间复杂度 时间复杂度表示所需的计算工作量,当输入值接近无穷时,算法所需工作量 ...

最新文章

  1. ssh linux免密登录。。。。生产共钥到另一台主机
  2. linux java maven_Linux下安装及配置Java与Maven
  3. python中文昵称-python实例pyspark以及python中文显示
  4. Linux 文件系统在线扩容实战
  5. C语言、嵌入式中几个非常实用的宏技巧
  6. python将文本文件加密后输出_Python:将Casear密码和柱状转置密码的加密输出写入.txt文件...
  7. Java集合之HashMap源码分析
  8. xib文件的读取方法
  9. python中文相似度_python比较两个文本的相似性
  10. ps3自建服务器,PS3新手图文教程之网络设置
  11. ECPC-2015部分题解
  12. 了解torch.nn.DataParallel
  13. 计算机导论alu的全名,计算机导论试题1.doc
  14. 自动化建模 | H2O开源工具介绍
  15. sass、scss、和css的关系
  16. MySQL数据库基础——数据库基础
  17. 人工智能的五大核心技术
  18. iPhone X适配之启动图适配教程
  19. 有什么软件能每天提醒自己坚持吗?每日定时提醒做某事的便签
  20. 【算法导论06】递归算法-perm算法

热门文章

  1. js使用tween动画(Tween.js)
  2. 加一(Java求解)
  3. Photoshop CC 2017 软件安装包+安装教程
  4. Java的重载和重写区别(面试常见)
  5. Weighted Median
  6. 安工大计算机学院李雪,计算机学院本科生党支部召开党员大会
  7. H5点击触摸测试,点击延迟测试,点击触摸时长测试案例
  8. [IOS APP]蛙-莫言经典有声小说
  9. Halcon学习-算子学习-映射/傅里叶变换/gen_grid_region/rft_generic例程
  10. 超火的微信小说小程序源码+比较轻量级/UI不错