将匈牙利算法推广到一般无向图?


14

匈牙利算法是一种组合优化算法,它解决了多项式时间内的最大权重二部匹配问题,并预见了重要的原始对偶方法的后续发展。该算法是Harold Kuhn在1955年开发和发布的,他将其命名为“匈牙利算法”,因为该算法是基于两位匈牙利数学家DénesKőnig和JenőEgerváry的较早著作。蒙克雷斯(Munkres)在1957年对算法进行了审查,发现它确实是多时制。从那时起,该算法也称为Kuhn-Munkres算法。

尽管匈牙利语包含原始对偶方法的基本思想,但它无需使用任何线性编程(LP)机器即可直接解决最大权重二分匹配问题。因此,在回答以下问题时,Jukka Suomela评论

当然,您可以使用通用LP求解器来求解任何LP,但是专用算法通常具有更好的性能。[...]您通常还可以避免使用精确有理数与浮点数之类的问题;使用整数可以轻松完成所有操作。

换句话说,您不必担心如何从LP解算器中舍入有理数/浮点数来取回给定二部图的最大权重完美匹配。

我的问题如下:

是否有适用于一般无向图的匈牙利算法的概括,而无需像原始匈牙利算法的精神那样使用LP机制?

我更喜欢现代且易于阅读的展览,而不是一些原始的复杂论文。但是任何指针将不胜感激!

在此先感谢您和圣诞快乐!!!


更新:问题在下面的Arman中得到了很好的回答。我只想指出,研究Edmonds的Blossom算法(针对加权情况)的另一个不错的资料是Korte和Vygen组合优化第11章 。Google图书实际上显示了我了解该算法所需的几乎所有部分。



1
@Arman-这也是我的想法。感谢您的链接,Wikipedia对Edmond的Blossom算法进行了令人惊讶的详细说明。
亚伯拉罕·弗拉克斯曼

2
顺便说一句,Edmonds的匹配算法也基于Primal-Dual方法。
阿曼2010年

1
谢谢阿曼。Wikipedia链接还指向加权版的Edmonds算法的书“László的Lovász; Michael的Plummer,1986年。匹配理论”。我真的应该检查那本书。非常感谢您的评论!也许你们中的任何人都可以高层次地解释该算法如何推广匈牙利算法,那么您绝对可以将其作为答案。
戴乐

1
我认为这是一个不错的答案:)。Arman,您应该这样添加
Suresh Venkat 2010年

Answers:


16

Edmonds的匹配算法(也称为Blossom算法)解决了一般图形上的最大匹配问题。实际上,它是交替路径方法的概括。(我不确定方法的名称,但是应该使用König-Hall方法。)它基本上是查找扩展路径(请参阅Wikipedia页面:http : //en.wikipedia.org/wiki/Edmonds%27s_matching_algorithm)来扩展当前匹配,如果没有更多的扩展路径,则停止。在一般图中,唯一的问题发生在奇数周期中。在Edmonds的匹配算法中,奇数循环被收缩(开花)并扩展为具有解。

Blossom算法和Primal Dual方法之间也存在对应关系。奇数循环会导致分数极值。因此,我们为每个奇数周期添加了所谓的开花不等式。

最小加权完美匹配和最大加权匹配问题也可以用这种方法处理。

有关算法的详细信息,请参见 http://en.wikipedia.org/wiki/Edmonds%27s_matching_algorithm http://www.cs.berkeley.edu/~karp/greatalgo/lecture05.pdf

有关数学公式和相应的原始对偶方法,请参见 http://webdocs.cs.ualberta.ca/~mreza/courses/CombOpt09/lecture4.pdf


9

两年前,当研究(未加权)开花算法时,我发现了两套很棒的音符,其中一套是塔尔扬(Tarjan)的,另一套是兹维克(Zwick)的。他们使未加权的情况看起来非常简单,我能够使用递归在Mathematica中实现它。效果很好。

我发现有用的笔记是

http://www.cs.tau.ac.il/~zwick/grad-algo-06/match.pdfhttp://www.cs.dartmouth.edu/~ac/Teach/CS105-Winter05/Handouts/ tarjan-blossom.pdf

他们将所有内容精简为非常简单的术语,使人们可以进行递归思考,然后如上所述进行递归编程。

我认为这一切都应该在加权情况下起作用,我现在尝试将其实施。



而且我刚刚按照科特/维根(Vygen)的程序编程了未加权的开花。我看到他的代码可以实现一些加速(例如,从最大匹配开始,而不是什么都没有),但是很好的是,他的过程代码以一种可以轻松转换为工作代码的形式给出。下一步:加权开花,这要困难得多。
Stan Wagon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.