Design, implementation, and analysis of maximum transversal algorithms

We report on careful implementations of seven algorithms for solving the problem of finding a maximum transversal of a sparse matrix. We analyze the algorithms and discuss the design choices. To the best of our knowledge, this is the most comprehensive comparison of maximum transversal algorithms based on augmenting paths. Previous papers with the same objective either do not have all the algorithms discussed in this article or they used nonuniform implementations from different researchers. We use a common base to implement all of the algorithms and compare their relative performance on a wide range of graphs and matrices. We systematize, develop, and use several ideas for enhancing performance. One of these ideas improves the performance of one of the existing algorithms in most cases, sometimes significantly. So much so that we use this as the eighth algorithm in comparisons.

[1]  Alan M. Frieze,et al.  Finding a maximum matching in a sparse random graph in O(n) expected time , 2008, JACM.

[2]  Jaime Gonzalez,et al.  A Competitive Strong Spanning Tree Algorithm for the Maximum Bipartite Matching Problem , 1995, SIAM J. Discret. Math..

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

[4]  Peter Sanders,et al.  Heuristic initialization for bipartite matching problems , 2010, JEAL.

[5]  B. Pittel,et al.  Maximum matchings in sparse random graphs: Karp-Sipser revisited , 1998 .

[6]  João C. Setubal,et al.  Sequential and Parallel Experimental Results with Bipartite Matching Algorithms , 1996 .

[7]  L. Lovász Matching Theory (North-Holland mathematics studies) , 1986 .

[8]  Jacob Magun Greeding matching algorithms, an experimental study , 1998, JEAL.

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

[10]  Robert E. Tarjan,et al.  Algorithms for Two Bottleneck Optimization Problems , 1988, J. Algorithms.

[11]  Kurt Mehlhorn,et al.  Computing a Maximum Cardinality Matching in a Bipartite Graph in Time O(^1.5 sqrt m/log n) , 1991, Inf. Process. Lett..

[12]  B. Pittel,et al.  The average performance of the greedy matching algorithm , 1993 .

[13]  Andrew V. Goldberg,et al.  Augment or push: a computational study of bipartite matching and unit-capacity flow algorithms , 1998, JEAL.

[14]  Iain S. Duff,et al.  Remarks on implementation of O(n1/2τ) assignment algorithms , 1988, TOMS.

[15]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

[16]  Timothy A. Davis,et al.  Direct methods for sparse linear systems , 2006, Fundamentals of algorithms.

[17]  Andrew V. Goldberg,et al.  A new approach to the maximum flow problem , 1986, STOC '86.

[18]  Timothy A. Davis,et al.  Direct Methods for Sparse Linear Systems (Fundamentals of Algorithms 2) , 2006 .

[19]  Jõ Ao,et al.  New Experimental Results for Bipartite Matching New Experimental Results for Bipartite Matching , 1992 .

[20]  Alex Pothen,et al.  Computing the block triangular form of a sparse matrix , 1990, TOMS.

[21]  Rajeev Motwani,et al.  Average-case analysis of algorithms for matchings and related problems , 1994, JACM.

[22]  Iain S. Duff,et al.  On Algorithms for Obtaining a Maximum Transversal , 1981, TOMS.

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

[24]  I. Duff,et al.  Direct Methods for Sparse Matrices , 1987 .

[25]  F. Gustavson FINDING THE BLOCK LOWER TRIANGULAR FORM OF A SPARSE MATRIX , 1976 .

[26]  B. Korte,et al.  An Analysis of the Greedy Heuristic for Independence Systems , 1978 .

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

[28]  Michel Balinski,et al.  A competitive (dual) simplex method for the assignment problem , 1986, Math. Program..

[29]  M. Sipser,et al.  Maximum matching in sparse random graphs , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[30]  Robert E. Tarjan,et al.  Network Flow and Testing Graph Connectivity , 1975, SIAM J. Comput..

[31]  Michel Balinski,et al.  Maximum matchings in bipartite graphs via strong spanning trees , 1991, Networks.

[32]  Kurt Mehlhorn,et al.  LEDA: a platform for combinatorial and geometric computing , 1997, CACM.

[33]  C Berge,et al.  TWO THEOREMS IN GRAPH THEORY. , 1957, Proceedings of the National Academy of Sciences of the United States of America.