Efficient algorithms for maximum weight matchings in general graphs with small edge weights

Let G = (V, E) be a graph with positive integral edge weights. Our problem is to find a matching of maximum weight in G. We present a simple iterative algorithm for this problem that uses a maximum cardinality matching algorithm as a subroutine. Using the current fastest maximum cardinality matching algorithms, we solve the maximum weight matching problem in O(W √nm logn(n2/m)) time, or in O(Wnω) time with high probability, where n = |V|, m = |E|, W is the largest edge weight, and ω < 2.376 is the exponent of matrix multiplication. In relatively dense graphs, our algorithm performs better than all existing algorithms with W = o(log1.5 n). Our technique hinges on exploiting Edmonds' matching polytope and its dual.

[1]  Harold N. Gabow,et al.  Scaling algorithms for network problems , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[2]  W. T. Tutte The Factorization of Linear Graphs , 1947 .

[3]  Harold N. Gabow,et al.  An Efficient Implementation of Edmonds' Algorithm for Maximum Matching on Graphs , 1976, JACM.

[4]  Piotr Sankowski,et al.  Maximum matchings in planar graphs via gaussian elimination , 2004, Algorithmica.

[5]  Alexander Schrijver,et al.  Combinatorial optimization. Polyhedra and efficiency. , 2003 .

[6]  Harold N. Gabow,et al.  Data structures for weighted matching and nearest common ancestors with linking , 1990, SODA '90.

[7]  Nicholas J. A. Harvey Algebraic Structures and Algorithms for Matching and Matroid Problems , 2006, 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06).

[8]  Ulrich Derigs,et al.  A shortest augmenting path method for solving minimal perfect matching problems , 1981, Networks.

[9]  Piotr Sankowski,et al.  Maximum weight bipartite matching in matrix multiplication time , 2009, Theor. Comput. Sci..

[10]  Andrew V. Goldberg,et al.  Global Price Updates Help , 1997, SIAM J. Discret. Math..

[11]  Nicholas J. A. Harvey Algebraic Algorithms for Matching and Matroid Problems , 2009, SIAM J. Comput..

[12]  Robert E. Tarjan,et al.  Faster Scaling Algorithms for Network Problems , 1989, SIAM J. Comput..

[13]  Thomas E. Anderson,et al.  High-speed switch scheduling for local-area networks , 1993, TOCS.

[14]  Robert E. Tarjan,et al.  Faster scaling algorithms for general graph matching problems , 1991, JACM.

[15]  Robert E. Tarjan,et al.  Almost-optimum speed-ups of algorithms for bipartite matching and related problems , 1988, STOC '88.

[16]  N. Tomizawa,et al.  On some techniques useful for solution of transportation network problems , 1971, Networks.

[17]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[18]  Andrew V. Goldberg,et al.  Scaling algorithms for the shortest paths problem , 1995, SODA '93.

[19]  Ran Duan,et al.  Approximating Maximum Weight Matching in Near-Linear Time , 2010, 2010 IEEE 51st Annual Symposium on Foundations of Computer Science.

[20]  Jack Edmonds,et al.  Maximum matching and a polyhedron with 0,1-vertices , 1965 .

[21]  Piotr Sankowski,et al.  Maximum matchings via Gaussian elimination , 2004, 45th Annual IEEE Symposium on Foundations of Computer Science.

[22]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

[23]  Nick McKeown,et al.  The iSLIP scheduling algorithm for input-queued switches , 1999, TNET.

[24]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[25]  J. Edmonds Paths, Trees, and Flowers , 1965, Canadian Journal of Mathematics.

[26]  Robert E. Tarjan,et al.  A linear-time algorithm for a special case of disjoint set union , 1983, J. Comput. Syst. Sci..

[27]  Norbert Blum,et al.  A New Approach to Maximum Matching in General Graphs , 1990, ICALP.

[28]  Harold W. Kuhn,et al.  The Hungarian method for the assignment problem , 1955, 50 Years of Integer Programming.

[29]  W. Cunningham,et al.  A primal algorithm for optimum matching , 1978 .

[30]  Kurt Mehlhorn,et al.  Algorithms for dense graphs and networks on the random access computer , 2005, Algorithmica.

[31]  Ming-Yang Kao,et al.  A Decomposition Theorem for Maximum Weight Bipartite Matchings , 2000, SIAM J. Comput..

[32]  H. Kuhn The Hungarian method for the assignment problem , 1955 .

[33]  J. Petersen Die Theorie der regulären graphs , 1891 .

[34]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[35]  Andrew V. Goldberg,et al.  Maximum Skew-Symmetric Flows , 1995, ESA.

[36]  Silvio Micali,et al.  An O(v|v| c |E|) algoithm for finding maximum matching in general graphs , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[37]  Rajeev Motwani,et al.  Clique partitions, graph compression and speeding-up algorithms , 1991, STOC '91.

[38]  Ashish Goel,et al.  Perfect matchings in o(n log n) time in regular bipartite graphs , 2009, STOC '10.

[39]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[40]  Ran Duan,et al.  A scaling algorithm for maximum weight matching in bipartite graphs , 2012, SODA.

[41]  Vijay V. Vazirani,et al.  A theory of alternating paths and blossoms for proving correctness of the $$O(\sqrt V E)$$ general graph maximum matching algorithm , 1990, Comb..