为什么bloom算法比Micali-Vazirani算法使用得更好



根据理解,Micali-Vazirani算法(1980(在时间复杂度上显著优于Blow算法(1961((对于一般图中的最大基数匹配,Micali-Wazirani是O(V^{1/2}E(,Blow是O(V ^2 E(。然而,即使在最近,这种花似乎也得到了更广泛的使用。即使是旨在解决这些问题的软件包也在Micali Vazirani(1(上实现了开花。为什么会这样?

Micali Vazirani不支持权重,您从networkx链接的例程用于查找最大权重匹配。如果你的图是二分图,并且你不需要权重,人们也会选择更简单的Hopcroft Karp,它与Micali Vazirani的界相匹配,这也阻碍了它的流行。我认为,实现Micali Vazirani的复杂性是主要障碍。

最大权重匹配的完全无条件的现有技术并不比Edmonds O(mn2(好多少,1990年的数据结构中的加权匹配算法和HN Gabow链接的最近共同祖先算法在O(mn+n2logn(中求解。但在这个小小的一个加速了算法实现的简单性和常数因子规则。

如果你对近似很满意的话,在冉端和赛斯·佩蒂2014年的论文《最大权重匹配的线性时间近似》中发现了一个有趣的复杂性(也包含了一个很好的算法调查(,它可以解决(1-(-近似在O(m/log(1/((时间内的问题。也就是说,如果你对匹配的权重是满意的,比如说,最大权重匹配的10%,你就会得到O(m(复杂度。

最新更新