Perfect Matchings in \~O(n1.5) Time in Regular Bipartite Graphs

Abstract

We consider the well-studied problem of finding a perfect matching in d-regular bipartite graphs with 2n vertices and m = nd edges. While the best-known algorithm for general bipartite graphs (due to Hopcroft and Karp) takes O(m n) time, in regular bipartite graphs, a perfect matching is known to be computable in O(m) time. Very recently, the O(m) bound was improved to O(\m, n2.5 nd\) expected time, an expression that is bounded by O(n1.75). In this paper, we further improve this result by giving an O(\m, n23 nd\) expected time algorithm for finding a perfect matching in regular bipartite graphs; as a function of n alone, the algorithm takes expected time O((n n)1.5). To obtain this result, we design and analyze a two-stage sampling scheme that reduces the problem of finding a perfect matching in a regular bipartite graph to the same problem on a subsampled bipartite graph with O(n n) edges that has a perfect matching with high probability. The matching is then recovered using the Hopcroft-Karp algorithm. While the standard analysis of Hopcroft-Karp gives us an O(n1.5) running time, we present a tighter analysis for our special case that results in the stronger O(\m, n2d \) time mentioned earlier. Our proof of correctness of this sampling scheme uses a new correspondence theorem between cuts and Hall's theorem ``witnesses'' for a perfect matching in a bipartite graph that we prove. We believe this theorem may be of independent interest; as another example application, we show that a perfect matching in the support of an n × n doubly stochastic matrix with m non-zero entries can be found in expected time O(m + n1.5).

0

Discussion (0)

Sign in to join the discussion.

Loading comments…