最小权点覆盖集 与 最大权独立集

最小权点覆盖集

一、定义

什么是点覆盖集呢?就是图中所有点的一个子集,首先他是一个点集,然后图中所有边的两个端点的其中一个都在这个点集中,就是说这个点集中包含了所有边的至少一个端点,这个点集就覆盖了所有边。那么对于每个点我们给他一个权值,所有点覆盖集中,总权值和最小的一个就是所说的最小权点覆盖集。

这个问题是一个NP完全问题,就是没有一个更快的算法,只能通过枚举暴搜来实现,但这里我们来看一种特殊的最小权点覆盖集,就是对于一个二分图而言的。

在二分图中,有一个特殊的性质:当所有点权都为1时,最大匹配数 = 最小权点覆盖集;最大权独立集 = n - 最小权点覆盖集。

二、具体做法

我们利用最小割来求解最小权点覆盖集,首先我们是在二分图上来做,如果点权为负数,那么我们直接选,因为选了这个点后,依旧是点覆盖集,而总权值会缩小,所以我们肯定选;而对于所有点权为正数的点,我们用以下方法来解决。我们将所有二分图的点看成两个集合X和Y,从s向所有X集合的点连一条容量为点权的边,从所有Y集合的点向t连一条容量为点权的边(只对于点权为正的点,因为网络流的容量必须是正的),X集合和Y集合之间建原图存在的边,容量为正无穷。然后求s到t的最小割就是最小权值和。

三、证明

我们现在要证明新建的流网络的所有割集和原图的点覆盖集是一一对应的,并且数量关系也是对应的,所以原图的最小权点覆盖集就是流网络中的最小割。那么这里我们要用到简单割(就是所有的割边都是和s、t相连的边),之前也证过,对于此图,简单割的最小割一定是所有割集的最小割。
对于一个简单割来说,其所有割边所连的点,就是我们的一个点覆盖集,如下图。我们可以用反证法来证明一下这个结论,在这个二分图中看最小割就很形象,对于割的定义就是将原图的所有点分成两个集合S和T,使得源点s在S集合中,汇点t在T集合中。如果原图有一条边的两个端点都不在割边所连的点中,那就说明这两个端点的左右两条边都不在割集中,而这两个端点所连的点就是s和t,就说明这两割端点和s和t在同一个集合S或T中,和割的定义相矛盾,所以原图中的每条边的两个端点一定有一个是割边所连的点,就是我们要求的点覆盖集。而任意一个点覆盖集(为使权值减小,我们去掉多余的点)也可以用同样的办法来构造一个割集,所以这两个一一对应。
在这里插入图片描述
下面我们还要看一下最小权和最小割之间的数量关系。我们建图时割边的容量就是所连点的权值,那么我们求得的割就是所连点的权值和,最小割就是最小权值和。

四、经典例题

传送门: POJ 2125:Destroying The Graph


最大权独立集

一、定义

独立集是和点覆盖集对偶的一个概念,独立集是指一个点集,点集中任意两点之间是不存在边的,也就是点和点之间相独立,并不相连。而在所有独立集中,总点权最大的一个就是最大权独立集。
最大权独立集问题也是一个NP完全问题,但我们也依旧只在二分图这个特殊的情况下来看。

二、做法

最大权独立集 = 所有点的权值之和 - 最小权点覆盖集

三、证明

我们记一个图的点集是V,点覆盖集是V1,设V = 是V - V1,我们猜测V2是一个独立集。那么我们用反证法来证明一下这个猜测,我们假设V2点集不是独立集,说明V2内有两个点之间是有一条边的。而对于点覆盖集的概念来说,任意一条边的其中一个端点一定在V1中,而这里的两个端点都在V2中,互相矛盾,所以V2是一个独立集。同理任给一个独立集V2,记V1 = V - V2,则V1一定是一个点覆盖集。因此点覆盖集和独立集是互补的,这个性质是对所有图都适用的。

元素对应证明完了,我们就要证明一下数量关系,从而证明上面的等式成立。我们将W看作一个点集的点权总和,因为V1和V2是互补的,所以W(V1) + W(V2) = W(V),而W(V)就是所有点权的总和,是一个定值,因此为使后者最大,就应使前者最小,从而有等式最大权独立集 = 所有点的权值之和 - 最小权点覆盖集

四、经典例题

传送门:Acwing 2326:王者之剑

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值