支配集问题

算法概论习题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. CreateThread 和_beginthreadex区别
  2. ubuntu 18.04无法开机 允许root用户桌面登录
  3. android中占容器比例,Android中的容器
  4. RabbitMQ负载均衡(3)——Keepalived+HAProxy实现高可用的负载均衡
  5. 二 ASP.NET AutoPostBack
  6. 代码写累了来这看看,笑笑
  7. 3种方法快速制作tpk文件
  8. 杭电多校HDU 6599 I Love Palindrome String (回文树)题解
  9. linux红帽7修改时间,CentOS 7 and RedHat 7 时间同步即chrony服务配置
  10. 〔翻译〕摩托罗拉E680的linux系统解码
  11. Could not find conduit initiator for address
  12. java中事务并发问题是_事务必会必知
  13. 使用python计算三角形面积
  14. mysql 不识别欧元符号_将欧元和美元符号插入MySQL中的列?
  15. echarts图片的打印问题
  16. 2022年第七届数维杯大学生数学建模挑战赛报名通知
  17. 发布一套类似于网易ITOWN,基于脚本开发的休闲游戏系统
  18. c语言转汇编编译器,【转】C语言内嵌汇编(asm)
  19. cad旋转命令_CAD制图初学入门教程:CAD软件中旋转命令的使用技巧
  20. mysql在视图中增加新数据_怎么向Mysql视图中增加新数据

热门文章

  1. ODN中主干光交和配线光交的数量比例
  2. BootStrap3-基础入门
  3. android半透明图层颜色叠加,Android 图层混合模式PorterDuff.Mode
  4. C++基于libxls库读取xls文件
  5. Android 显示历史搜索记录
  6. matlab求导函数作图,excel对数据求导作图/如何用excel计算导数
  7. Dom(二十一) 拖拽
  8. C/C++外卖点餐管理程序
  9. 百万亚瑟王无法连接服务器请在信号良好的地方重试,叛逆性百万亚瑟王
  10. IOS开发-ERROR ITMS-90096: Your binary is not optimized for iPhone 5