Maximum Bipartite Matching Task

From GM-RKB
Jump to navigation Jump to search

A Maximum Bipartite Matching Task is a bipartite matching task that requires finding a maximum matching.



References

2014

  • http://en.wikipedia.org/wiki/Matching_%28graph_theory%29#In_unweighted_bipartite_graphs
    • Matching problems are often concerned with bipartite graphs. Finding a maximum bipartite matching'[1] (often called a maximum cardinality bipartite matching) in a bipartite graph [math]\displaystyle{ G=(V=(X,Y),E) }[/math] is perhaps the simplest problem.

      The Augmenting path algorithm finds it by finding an augmenting path from each x ∈ X to [math]\displaystyle{ \ Y }[/math] and adding it to the matching if it exists. As each path can be found in [math]\displaystyle{ \ O(E) }[/math] time, the running time is [math]\displaystyle{ \ O(V E) }[/math]. This solution is equivalent to adding a super source [math]\displaystyle{ s }[/math] with edges to all vertices in [math]\displaystyle{ \ X }[/math], and a super sink [math]\displaystyle{ \ t }[/math] with edges from all vertices in [math]\displaystyle{ \ Y }[/math], and finding a maximal flow from [math]\displaystyle{ \ s }[/math] to [math]\displaystyle{ \ t }[/math]. All edges with flow from [math]\displaystyle{ \ X }[/math] to [math]\displaystyle{ \ Y }[/math] then constitute a maximum matching.

      An improvement over this is the Hopcroft–Karp algorithm, which runs in [math]\displaystyle{ O(\sqrt{V}E) }[/math] time. Another approach is based on the fast matrix multiplication algorithm and gives [math]\displaystyle{ O(V^{2.376}) }[/math] complexity,[2] which is better in theory for sufficiently dense graphs, but in practice the algorithm is slower.[3] Finally, for sparse graphs, [math]\displaystyle{ \tilde{O}(E^{10/7}) }[/math] is possible with Madry's algorithm based on electric flows. [4]


2003

1973