Algorithm 为什么blossom算法比Michali-Vazirani算法使用得更好

Algorithm 为什么blossom算法比Michali-Vazirani算法使用得更好,algorithm,math,graph-theory,graph-algorithm,Algorithm,Math,Graph Theory,Graph Algorithm,据了解,Michali-Vazirani算法(1980)在时间复杂度上明显优于blossom算法(1961)(Michali-Vazirani和blossom用于一般图中的最大基数匹配。然而,blossom似乎得到了更广泛的应用,即使是最近().即使是设计用来解决这些问题的软件包也在米卡利·瓦齐拉尼(Micali Vazirani)身上实现了开花()。这是为什么?米卡利·瓦齐拉尼不支持权重,你从networkx链接的例程是为了找到最大权重匹配。如果你的图是二部图,你不需要权重,人们也会求助于更简

据了解,Michali-Vazirani算法(1980)在时间复杂度上明显优于blossom算法(1961)(Michali-Vazirani和blossom用于一般图中的最大基数匹配。然而,blossom似乎得到了更广泛的应用,即使是最近().即使是设计用来解决这些问题的软件包也在米卡利·瓦齐拉尼(Micali Vazirani)身上实现了开花()。这是为什么?

米卡利·瓦齐拉尼不支持权重,你从
networkx
链接的例程是为了找到最大权重匹配。如果你的图是二部图,你不需要权重,人们也会求助于更简单的霍普克罗夫特·卡普,它匹配米卡利·瓦齐拉尼的边界,也会阻碍它的普及。这是一个复杂的问题我认为,实施米卡利·瓦齐拉尼的难度是主要的障碍

最大权重匹配的完全无条件技术状态并不比Edmonds O(mn2)好多少,HN Gabow的1990算法在O(mn+n2 log n)中解决了它。但是在这样小的速度下,算法和常数因子规则的实现变得简单


如果你对近似法没意见,那么在2014年Ran Duan和Seth Pettie的论文中发现了一个有趣的复杂性(也包含了一个很好的算法调查),它可以在O(m/ɛlog(1/ɛ))时间内解决问题(1-ɛ)-近似值。也就是说,如果你同意匹配的重量是,比如说,匹配的最大重量的10%,你得到O(m)复杂性。

Micali Vazirani不支持权重,您从
networkx
链接的例程用于查找最大权重匹配。如果您的图是二部图,您不需要权重,人们也会求助于更简单的Hopcroft-Karp,它与Micali Vazirani的边界相匹配,这也会阻碍它的普及。这就是复杂性我认为,实施米卡利·瓦齐拉尼是主要的障碍

最大权重匹配的完全无条件技术状态并不比Edmonds O(mn2)好多少,HN Gabow的1990算法在O(mn+n2 log n)中解决了它。但是在这样小的速度下,算法和常数因子规则的实现变得简单


如果你对近似法没意见,那么在2014年Ran Duan和Seth Pettie的论文中发现了一个有趣的复杂性(也包含了一个很好的算法调查),它可以在O(m/ɛlog(1/ɛ))时间内解决问题(1-ɛ)-近似值。也就是说,如果你同意匹配的权重比匹配的最大权重低10%,那么你得到的是O(m)复杂度。

你说的“更好”是什么意思?@EJoshuaS在时间复杂度方面做了一些修改。我编辑了这个问题以使其更清晰。我明白了……这实际上是一个非常有趣的问题。我将继续回答这个问题。我想b/c我也想知道这个问题的答案。请注意,在实践中,易于实现是必不可少的。因此,时间复杂度始终不够时间。在实用主义和性能之间,这是一个痛苦和收获。当性能的权重变得更高时,你可以看到其他实现。有没有人研究出Micali Vazirani用于一般加权匹配的细节?作为原始-对偶框架中的原始算法,M-V可能不会比Blossom更快,我的非科学感觉是加权一般匹配比未加权更常见。你说的“更好”是什么意思?@EJoshuaS在时间复杂度方面做了一些修改。我编辑了这个问题以使其更清晰。我明白了……这实际上是一个非常有趣的问题。我将继续回答这个问题。我想b/c我也想知道这个问题的答案。请注意,在实践中,易于实现是必不可少的。因此,时间复杂度始终不够时间。在实用主义和性能之间,这是一个痛苦和收获。当性能的权重变得更高时,你可以看到其他实现。有没有人研究出Micali Vazirani用于一般加权匹配的细节?作为原始-对偶框架中的原始算法,M-V可能不会比Blossom更快,我的非科学感觉是加权一般匹配是一个比未加权更常见的问题。我假设由、由和由获得的结果具有类似的问题?Blum(1990)是未加权的,我无意中查看的Gabow和Tarjan(1990)是整数加权的最新技术(渐进性比Gabow(1990)好得多)但看起来非常复杂,不适用于非整数权重。该算法已得到进一步改进。如果你能实现它,并且你对整数权重没有问题,这是最先进的,但要做好准备。Mucha和Sankowski纯粹是理论上的,因为它是有效的(ω做了进一步的阅读,看起来Mucha和Sankowski(2006)目前在一些应用中是好的,但在实践中对大多数应用来说是更坏的。我认为,由、由和由取得的结果也有类似的问题?Blum(1990)未加权,Gabow和Tarjan(1990)我无意中看了一下整数权重的最新技术(比Gabow(1990)的渐进性好得多)但看起来非常复杂,不适用于非整数权重。该算法已得到进一步改进。如果你能实现它,并且你对整数权重没有问题,这是最先进的,但要做好准备。Mucha和Sankowski纯粹是理论上的,因为它是有效的(其中ω做了一些进一步的阅读,Mucha和Sankowski(2006)似乎目前对一些应用是好的,但实际上对大多数应用更糟。