Algorithms for Vertex-Weighted Matching in Graphs

A matching M in a graph is a subset of edges such that no two edges in M are incident on the same vertex. Matching is a fundamental combinatorial problem that has applications in many contexts: high-performance computing, bioinformatics, network switch design, web technologies, etc. Examples in the first context include sparse linear systems of equations, where matchings are used to place large matrix elements on or close to the diagonal, to compute the block triangular decomposition of sparse matrices, to construct sparse bases for the null space or column space of under-determined matrices, and to coarsen graphs in multi-level graph partitioning algorithms. In the first part of this thesis, we develop exact and approximation algorithms for vertex weighted matchings, an under-studied variant of the weighted matching problem. We propose three exact algorithms, three half approximation algorithms, and a two-third approximation algorithm. We exploit inherent properties of this problem such as lexicographical orders, decomposition into sub-problems, and the reachability property, not only to design efficient algorithms, but also to provide simple proofs of correctness of the proposed algorithms. In the second part of this thesis, we describe work on a new parallel half-approximation algorithm for weighted matching. Algorithms for computing optimal matchings are not amenable to parallelism, and hence we consider approximation algorithms here. We extend the existing work on a parallel half approximation algorithm for weighted matching and provide an analysis of its time complexity. We support the theoretical observations with experimental results obtained with MatchBoxP, toolkit designed and implemented in C++ and MPI using modern software engineering techniques. The work in this thesis has resulted in better understanding of matching theory, a functional public-domain software toolkit, and modeling of the sparsest basis problem as a vertex-weighted matching problem.

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

[2]  W. .. Auden,et al.  The Viking book of aphorisms : a personal selection , 1962 .

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

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

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

[6]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[7]  David Avis,et al.  A survey of heuristics for the weighted matching problem , 1983, Networks.

[8]  A. Pothen Sparse null bases and marriage theorems , 1984 .

[9]  Ernst W. Mayr,et al.  Node Weighted Matching , 1984, ICALP.

[10]  Michael Luby,et al.  A simple parallel algorithm for the maximal independent set problem , 1985, STOC '85.

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

[12]  ZVI GALIL,et al.  Efficient algorithms for finding maximum matching in graphs , 1986, CSUR.

[13]  Vijay V. Vazirani,et al.  Matching is as easy as matrix inversion , 1987, STOC.

[14]  J. M. Wein,et al.  Massively parallel auction algorithms for the assignment problem , 1990, [1990 Proceedings] The Third Symposium on the Frontiers of Massively Parallel Computation.

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

[16]  Dimitri P. Bertsekas,et al.  Parallel synchronous and asynchronous implementations of the auction algorithm , 1991, Parallel Comput..

[17]  Nader Bagherzadeh,et al.  Parallel implementation of the auction algorithm on the Intel hypercube , 1992, Proceedings Sixth International Parallel Processing Symposium.

[18]  Dimitri P. Bertsekas,et al.  A generic auction algorithm for the minimum cost network flow problem , 1993, Comput. Optim. Appl..

[19]  Andrew V. Goldberg,et al.  Approximating Matchings in Parallel , 1993, Inf. Process. Lett..

[20]  Dimitri P. Bertsekas,et al.  Parallel primal-dual methods for the minimum cost flow problem , 1993, Comput. Optim. Appl..

[21]  Andrew Rau-Chaplin,et al.  Scalable parallel geometric algorithms for coarse grained multicomputers , 1993, SCG '93.

[22]  Colin E. Bell,et al.  Weighted matching with vertex weights: An application to scheduling training sessions in NASA space shuttle cockpit simulators , 1994 .

[23]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[24]  Dimitri P. Bertsekas,et al.  Parallel Shortest Path Auction Algorithms , 1994, Parallel Comput..

[25]  Thomas H. Spencer Parallel Approximate Matching , 1994, Parallel Algorithms Appl..

[26]  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..

[27]  David K. Smith Network Flows: Theory, Algorithms, and Applications , 1994 .

[28]  Leslie G. Valiant,et al.  Bulk synchronous parallel computing-a paradigm for transportable software , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[29]  Vipin Kumar,et al.  Analysis of Multilevel Graph Partitioning , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[30]  Nick McKeown,et al.  A Starvation-free Algorithm For Achieving 100% Throughput in an Input- Queued Switch , 1999 .

[31]  Ge Nong,et al.  Performance Analysis of Input Queueing ATM Switches with Parallel Iterative Matching Scheduling , 1997, Modelling and Evaluation of ATM Networks.

[32]  Dorit S. Hochba,et al.  Approximation Algorithms for NP-Hard Problems , 1997, SIGA.

[33]  James Demmel,et al.  Making Sparse Gaussian Elimination Scalable by Static Pivoting , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[34]  Wojciech Rytter,et al.  Fast parallel algorithms for graph matching problems , 1998 .

[35]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

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

[37]  Vladimir Batagelj,et al.  Pajek - Program for Large Network Analysis , 1999 .

[38]  Robert Preis,et al.  Linear Time 1/2-Approximation Algorithm for Maximum Weighted Matching in General Graphs , 1999, STACS.

[39]  Zhi-Zhong Chen,et al.  Parallel approximation algorithms for maximum weighted matching in general graphs , 2000, Inf. Process. Lett..

[40]  Ralf Diekmann,et al.  Quality matching and local improvement for multilevel graph-partitioning , 2000, Parallel Comput..

[41]  Maria J. Serna,et al.  Convergence Theorems for Some Layout Measures on Random Lattice and Random Geometric Graphs , 2000, Combinatorics, Probability and Computing.

[42]  Ravindra K. Ahuja,et al.  A Faster Algorithm for the Inverse Spanning Tree Problem , 2000, J. Algorithms.

[43]  Jack Brassil,et al.  A Parallel Pruning Technique for Highly Asymmetric Assignment Problems , 2000, IEEE Trans. Parallel Distributed Syst..

[44]  Iain S. Duff,et al.  On Algorithms For Permuting Large Entries to the Diagonal of a Sparse Matrix , 2000, SIAM J. Matrix Anal. Appl..

[45]  Maria J. Serna,et al.  Approximating Layout Problems on Random Geometric Graphs , 2001, J. Algorithms.

[46]  Paolo Giaccone,et al.  An implementable parallel scheduler for input-queued switches , 2001, HOT 9 Interconnects. Symposium on High Performance Interconnects.

[47]  Leandros Tassiulas,et al.  QoS provisioning and tracking fluid policies in input queueing switches , 2001, TNET.

[48]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

[49]  Stefan Hougardy,et al.  A simple approximation algorithm for the weighted matching problem , 2003, Inf. Process. Lett..

[50]  Mathew D. Penrose,et al.  Random Geometric Graphs , 2003 .

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

[52]  P. Sanders,et al.  A simpler linear time 2 / 3 − ε approximation for maximum weight matching , 2004 .

[53]  Jaap-Henk Hoepman,et al.  Simple Distributed Weighted Matchings , 2004, ArXiv.

[54]  Rob H. Bisseling,et al.  Parallel scientific computation - a structured approach using BSP and MPI , 2004 .

[55]  Bhaskar Krishnamachari,et al.  Sharp thresholds For monotone properties in random geometric graphs , 2003, STOC '04.

[56]  Iain S. Duff,et al.  Strategies for Scaling and Pivoting for Sparse Symmetric Indefinite Problems , 2005, SIAM J. Matrix Anal. Appl..

[57]  David A. Bader,et al.  Design and Implementation of the HPCS Graph Analysis Benchmark on Symmetric Multiprocessors , 2005, HiPC.

[58]  Aranyak Mehta,et al.  AdWords and Generalized On-line Matching , 2005, FOCS.

[59]  Stefan Hougardy,et al.  A linear-time approximation algorithm for weighted matchings in graphs , 2005, TALG.

[60]  Edmond Chow,et al.  Combinatorial Algorithms for Computing Column Space Bases That Have Sparse Inverses , 2005 .

[61]  Stefan Hougardy,et al.  Approximating weighted matchings in parallel , 2006, Inf. Process. Lett..

[62]  Bruce Hendrickson,et al.  Combinatorial Scientific Computing: The Enabling Power of Discrete Algorithms in Computational Science , 2006, VECPAR.

[63]  David A. Bader Petascale Computing: Algorithms and Applications , 2007 .

[64]  Olaf Schenk,et al.  Matching-based preprocessing algorithms to the solution of saddle-point problems in large-scale nonconvex interior-point optimization , 2007, Comput. Optim. Appl..

[65]  Rob H. Bisseling,et al.  A Parallel Approximation Algorithm for the Weighted Maximum Matching Problem , 2007, PPAM.

[66]  Tor Sørevik,et al.  Massively parallel augmenting path algorithms for the assignment problem , 1997, Computing.

[67]  Xavier Pérez-Giménez,et al.  On the connectivity of dynamic random geometric graphs , 2007, SODA '08.

[68]  Albert Chan,et al.  Coarse grained parallel algorithms for graph matching , 2008, Parallel Comput..

[69]  Boaz Patt-Shamir,et al.  Distributed Approximate Matching , 2009, SIAM J. Comput..