增广路
增广路定理 Berge's lemma
这是最大匹配的一个重要理论。
定义
- 交错路(alternating path)始于非匹配点且由匹配边与非匹配边交错而成。
- 增广路(augmenting path)是始于非匹配点且终于非匹配点(除了起始的点)的交错路。增广路中边的数量是奇数。
增广路上非匹配边比匹配边数量多 1,如果将增广路上的匹配边和未匹配边反转,则匹配数量会增加 1 且依然是交错路。
如上图,匹配数从 2 增加为 3,匈牙利算法中只通过这样的方式增加匹配数量,称为 增广(Augment)。
根据 Berge's lemma 当找不到增广路的时候,得到最大匹配。
过程
由此定理可知我们求最大匹配的核心思路。
核心思路
枚举所有未匹配点,找增广路径,直到找不到增广路径。
证明
事实上,对于每个点只要枚举一次就好,证明如下:
假设某一轮沿着增广路
交错树
从未匹配点
- 偶点(黑点)为树上深度为偶数的点。
- 奇点(白点)为树上深度为奇数的点。
下图展示了一个二分图和从未匹配点
本页面最近更新:2023/9/28 07:37:46,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:t4rf9, yuhuoji, 310552025atNYCU, accelsao, Chrogeek, dkz051, Enter-tainer, iamtwz, shuzhouliu, Tiphereth-A, Xeonacid
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用