埃德蒙匹配算法如何从空匹配集开始?

问题描述

我想对图(图中的示例图)执行 Edmond 匹配算法或 Blossom 算法,但如何从空匹配集开始?

算法是这样工作的:

给定:图 G 和匹配 G 中的 M

任务:找到匹配的 M' 和 |M'| = [男| + 1 或 |M'| = 即时消息|如果 M 最大

1 令 F 为所有暴露于 M 的节点组成的森林; 2 在那里的时候 是外部节点 x 和边 {x,y) 与 y \in V(F),添加 (x,y} 和 匹配边覆盖 y 到 F;

3 如果在同一棵树中有相邻的外部节点 x,y,则收缩 在 F \cup {x,y) 中循环 (M-blossom) 并转到第 2 步;

4 如果不同树中有相邻的外节点x,y,则 沿M-增广路径增广M P(x) \cup {x,y} \cup P(y);

5 以相反的顺序,撤消每次收缩并重新建立近乎完美的 开花的匹配。

example graph

解决方法

不要以空的 M 开始算法。您必须提供一个,通常通过使用贪婪算法生成它,该算法解析图 e 的所有边 G 并将每个 e 添加到 M if {{1} } 形成一个匹配。