微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我想对图(图中的示例图)执行 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} } 形成一个匹配。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。