Linear-Time Approximation for Maximum Weight Matching
Journal of the ACM (JACM)
Hi-index | 0.00 |
Call a bipartite graph G = (X, Y, E) "balanced" when |X| = |Y|. Given a balanced bipartite graph G with edge costs, the "assignment problem" asks for a perfect matching in G of minimum total cost. The Hungarian Method can solve assignment problems in time O(mn + n^2 log n), where n := |X| = |Y| and m := |E|. If the edge weights are integers bounded in magnitude by C 1, then algorithms using "weight scaling", such as that of Gabow and Tarjan, can lower the time to O(m sqrt(n) log(nC)). There are important applications in which G is "unbalanced", with |X| not equal |Y|, and we require a min-cost matching of size r := min(|X|, |Y|) or, more generally, of some specified size s than or equal to r. The Hungarian Method extends easily to find such a matching in time O(ms + s2 log r), but weightscaling algorithms do not extend so easily. We introduce new machinery to find such a matching in time O(mps log(sC)) via weight scaling. Our results provide some insight into the design space of efficient weight-scaling matching algorithms.