匹配、覆盖、独立集、二分图与网络流

本文介绍了图论中的基本概念,如匹配、边覆盖、独立集和顶点覆盖,以及它们之间的关系。讨论了最大匹配与最小边覆盖在二分图中的等价性,并通过不严谨的理解阐述了如何从最大匹配构建最小边覆盖,以及删除最大独立集构造最小顶点覆盖的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念:

设图 G={V,E}

  • 匹配:在 G 中两两没有公共端点的边集合ME
  • 边覆盖: G 中任意顶点都至少是F中某条边的端点的边集合 FE
  • 独立集:在 G 中两两互不相连的顶点集合SV
  • 顶点覆盖: G 中的任意边都有至少一个端点属于S的顶点集合 SV

定理:

  1. 对于不存在独立点的图, ||+||=|V|
  2. ||+||=|V|
  3. 对于二分图, ||=||

不严谨的理解:

一:

可以想象,最小边覆盖可以通过最大匹配加边来完成,但是要加多少条边呢?

假设图 G 的最大匹配为M,那么这时还有 |V|2×|M| 个点没有覆盖,这时需要 |V|2×|M| 条边进行覆盖这些点。可以贪心的想,要尽可能的用一条边覆盖尽量多的点,但是一条边覆盖两个点的情况是不存在的,因为如果一条边可以覆盖两个新的点,那么当前的匹配就不是最大匹配了,与假设矛盾。所以每个点都要加一条边进行覆盖。

由此可知,图G的最小边覆盖为: |F|=|M|+|V|2×|M|=|V||M|
移项可得: |F|+|M|=|V|

关于为什么不能有孤立的点呢,因为这些孤立点一条边都没有,最后 |V|>|F|+|M|


二:

可以这样理解,现在图G要删除一些点,构造最小顶点覆盖,要删除哪些点呢?

一个思路是删除一组两两独立的点,因为这样删除点,不会导致一条边的两个端点都被删去。如果一条边的两个端点都被删去了,那么删去的点也就不是互相独立的了。这样要构造最小的顶点覆盖,就要尽量多的删去两两独立的点,那么就是 V <script type="math/tex" id="MathJax-Element-1516">V</script>删去最大独立集了。


三:暂时还没找到比较容易理解的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值