A Weighted Approach to the Maximum Cardinality Bipartite Matching Problem with Applications in Geometric Settings
We present a weighted approach to compute a maximum cardinality matching in an arbitrary bipartite graph. Our main result is a new algorithm that takes as input a weighted bipartite graph G(A∪ B,E) with edge weights of 0 or 1. Let w ≤ n be an upper bound on the weight of any matching in G. Consider the subgraph induced by all the edges of G with a weight 0. Suppose every connected component in this subgraph has O(r) vertices and O(mr/n) edges. We present an algorithm to compute a maximum cardinality matching in G in Õ( m(√(w)+ √(r)+wr/n)) time. When all the edge weights are 1 (symmetrically when all weights are 0), our algorithm will be identical to the well-known Hopcroft-Karp (HK) algorithm, which runs in O(m√(n)) time. However, if we can carefully assign weights of 0 and 1 on its edges such that both w and r are sub-linear in n and wr=O(n^γ) for γ < 3/2, then we can compute maximum cardinality matching in G in o(m√(n)) time. Using our algorithm, we obtain a new Õ(n^4/3/ε^4) time algorithm to compute an ε-approximate bottleneck matching of A,B⊂R^2 and an 1/ε^O(d)n^1+d-1/2d-1poly n time algorithm for computing ε-approximate bottleneck matching in d-dimensions. All previous algorithms take Ω(n^3/2) time. Given any graph G(A ∪ B,E) that has an easily computable balanced vertex separator for every subgraph G'(V',E') of size |V'|^δ, for δ∈ [1/2,1), we can apply our algorithm to compute a maximum matching in Õ(mn^δ/1+δ) time improving upon the O(m√(n)) time taken by the HK-Algorithm.
READ FULL TEXT