“若把源到某个左点的容量提高,就允许该点承担多次配对,输出已不再是本页的普通匹配。边权需要匈牙利算法或费用流;一般图的奇圈需要开花算法等方法,不能直接套用左右分层网络。二分图匹配也可视为两个划…”
形式陈述
输入是有限简单无向图
若非匹配边连接同一棵树中的两个 outer 顶点
收缩不变量是
先看从收缩图到原图的 lift。若增广路不含
反方向的存在性证明还要处理 stem,不能只把任意路径的所有进出压成一个点。沿偶长度 stem 翻转得到
算法在收缩图继续搜索,按收缩的逆序 lift,再沿原图增广路翻转;每次匹配大小增加一,至多增广
直觉
二分图的交替 BFS 可以给顶点稳定标出奇偶层;一般图中的奇环会让两个 outer 顶点突然相连,同一个区域似乎同时要求两种层次。Blossom 收缩把这段局部奇偶冲突暂时封装成一个点,继续寻找全局出口;找到路线后再按入口位置展开。
不是任意奇环都能收缩。它必须相对于当前匹配和交替森林形成上述 blossom,base、stem 与环上匹配模式共同保证收缩前后增广路等价。
例子与边界
设未匹配根为
其中
若从
若原始输入带自环或平行边,可先删自环、对每对不同端点保留一条代表边,再求无权顶点匹配。收缩内部仍可能产生平行记录和嵌套 blossom,必须保留足够的原边身份及展开信息。每次增广后交替森林和 blossom 结构依赖新匹配,必须重建或等价更新,不能沿用旧层次标签。
推论与应用
由 Berge 定理,某阶段若在所有合法收缩后仍找不到增广路,当前匹配即为最大匹配。算法因此把“寻找一般图增广路”的困难全部集中在 blossom contraction 与 lifting 证书上。
二分图没有奇环,outer–outer 同树边不会形成 blossom,算法退化为普通交替森林搜索。一般匹配多胞形的奇集不等式给出另一种完整性证明:度约束之外还要限制奇数顶点集的内部匹配量,紧奇割允许递归收缩并拼接凸组合。加权一般匹配还需要这些约束对应的对偶变量和紧边维护;它不是在本页算法上给边排序即可得到。
参考资料
- Jack Edmonds, “Paths, Trees, and Flowers,” Canadian Journal of Mathematics 17, 1965, pp. 449–467.
- Norbert Zeh,Algorithms II,§7.7.1.2 Expanding Blossoms,Lemmas7.33–7.34:偶路 lift 与先翻转 stem 的双向存在性证明。
- Katta G. Murty,Network Programming,Chapter10,§10.1.1,pp.714–717:保留交替森林和收缩记录的最大基数版本及每阶段二次工作界。
- Alexander Schrijver, Combinatorial Optimization, Springer, 2003, Chs. 24–25.