Approximation algorithms in combinatorial scientific computing

We survey recent work on approximation algorithms for computing degree-constrained subgraphs in graphs and their applications in combinatorial scientific computing. The problems we consider include maximization versions of cardinality matching, edge-weighted matching, vertex-weighted matching and edge-weighted $b$ -matching, and minimization versions of weighted edge cover and $b$ -edge cover. Exact algorithms for these problems are impractical for massive graphs with several millions of edges. For each problem we discuss theoretical foundations, the design of several linear or near-linear time approximation algorithms, their implementations on serial and parallel computers, and applications. Our focus is on practical algorithms that yield good performance on modern computer architectures with multiple threads and interconnected processors. We also include information about the software available for these problems.

[1]  Mehmet Deveci,et al.  GPU Accelerated Maximum Cardinality Matching Algorithms for Bipartite Graphs , 2013, Euro-Par.

[2]  Ulrich Derigs,et al.  On the use of optimal fractional matchings for solving the (integer) matching problem , 2005, Computing.

[3]  Alexander Schwartz,et al.  Implementing weighted b-matching algorithms: insights from a computational study , 2000, JEAL.

[4]  Pradeep Dubey,et al.  Efficient Approximation Algorithms for Weighted b-Matching , 2016, SIAM J. Sci. Comput..

[5]  N. S. Mendelsohn,et al.  Some generalizations of the problem of distinct representatives , 1958 .

[6]  Ariful Azad,et al.  Computing Maximum Cardinality Matchings in Parallel on Bipartite Graphs via Tree-Grafting , 2017, IEEE Transactions on Parallel and Distributed Systems.

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

[8]  L. S. Shapley,et al.  College Admissions and the Stability of Marriage , 2013, Am. Math. Mon..

[9]  Fanny Dufossé,et al.  Two approximation algorithms for bipartite matching on multicore architectures , 2015, J. Parallel Distributed Comput..

[10]  John R. Gilbert,et al.  The Combinatorial BLAS: design, implementation, and applications , 2011, Int. J. High Perform. Comput. Appl..

[11]  Anupam Gupta,et al.  Efficient parallel approximation algorithms , 2011 .

[12]  Péter Kovács,et al.  LEMON - an Open Source C++ Graph Template Library , 2011, WGT@ETAPS.

[13]  Mauro Dell'Amico,et al.  Assignment Problems , 1998, IFIP Congress: Fundamentals - Foundations of Computer Science.

[14]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[15]  Florin Dobrian,et al.  A 2/3-Approximation Algorithm for Vertex-weighted Matching , 2019, Discret. Appl. Math..

[16]  Bert Huang,et al.  Fast b-matching via Sufficient Selection Belief Propagation , 2011, AISTATS.

[17]  Md. Naim,et al.  Scalable b-Matching on GPUs , 2018, 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[18]  Assaf Naor,et al.  The two possible values of the chromatic number of a random graph , 2004, STOC '04.

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

[20]  Alex Pothen,et al.  A 2/3-approximation algorithm for vertex-weighted matching , 2019, Discrete Applied Mathematics.

[21]  David F. Gleich,et al.  A multithreaded algorithm for network alignment via approximate matching , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[22]  David P. Williamson,et al.  Primal-Dual Approximation Algorithms for Integral Flow and Multicut in Trees, with Applications to Matching and Set Cover , 1993, ICALP.

[23]  Richard P. Anstee A Polynomial Algorithm for b-Matchings: An Alternative Approach , 1987, Inf. Process. Lett..

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

[25]  Brian W. Barrett,et al.  Introducing the Graph 500 , 2010 .

[26]  Michel Minoux,et al.  Accelerated greedy algorithms for maximizing submodular set functions , 1978 .

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

[28]  A. George Nested Dissection of a Regular Finite Element Mesh , 1973 .

[29]  John R. Gilbert,et al.  Predicting fill for sparse orthogonal factorization , 1986, JACM.

[30]  Rob H. Bisseling,et al.  A GPU Algorithm for Greedy Graph Matching , 2011, Facing the Multicore-Challenge.

[31]  Ariful Azad,et al.  Identifying Rare Cell Populations in Comparative Flow Cytometry , 2010, WABI.

[32]  Harold N. Gabow,et al.  Data Structures for Weighted Matching and Extensions to b-matching and f-factors , 2016, ACM Trans. Algorithms.

[33]  Antonino Tumeo,et al.  Adaptive Anonymization of Data using b-Edge Cover , 2018, SC18: International Conference for High Performance Computing, Networking, Storage and Analysis.

[34]  Bora Uçar,et al.  Design, implementation, and analysis of maximum transversal algorithms , 2011, ACM Trans. Math. Softw..

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

[36]  David Manlove,et al.  Algorithmics of Matching Under Preferences , 2013, Bull. EATCS.

[37]  Alex Pothen,et al.  New Acyclic and Star Coloring Algorithms with Application to Computing Hessians , 2007, SIAM J. Sci. Comput..

[38]  Ding-Zhu Du,et al.  Design and Analysis of Approximation Algorithms , 2011 .

[39]  L. B. Wilson An analysis of the stable marriage assignment algorithm , 1972 .

[40]  Claire Mathieu,et al.  On-line bipartite matching made simple , 2008, SIGA.

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

[42]  Richard M. Karp,et al.  An optimal algorithm for on-line bipartite matching , 1990, STOC '90.

[43]  Jennifer A. Scott,et al.  On the use of suboptimal matchings for scaling and ordering sparse symmetric matrices , 2015, Numer. Linear Algebra Appl..

[44]  Fredrik Manne,et al.  New Iterative Algorithms for Weighted Matching , 2014, NIK.

[45]  Richard Sinkhorn,et al.  Concerning nonnegative matrices and doubly stochastic matrices , 1967 .

[46]  R. Z. Norman,et al.  An algorithm for a minimum cover of a graph , 1959 .

[47]  M. Yannakakis Computing the Minimum Fill-in is NP^Complete , 1981 .

[48]  Uriel Feige,et al.  Zero Knowledge and the Chromatic Number , 1998, J. Comput. Syst. Sci..

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

[50]  Antonino Tumeo,et al.  Optimizing Approximate Weighted Matching on Nvidia Kepler K40 , 2015, 2015 IEEE 22nd International Conference on High Performance Computing (HiPC).

[51]  Seth Pettie,et al.  Linear-Time Approximation for Maximum Weight Matching , 2014, JACM.

[52]  Vijay V. Vazirani,et al.  Primal-dual RNC approximation algorithms for (multi)-set (multi)-cover and covering integer programs , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

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

[54]  V. Knoblauch Marriage Matching: A Conjecture of Donald Knuth , 2007 .

[55]  A. Pothen Predicting the structure of sparse orthogonal factors , 1993 .

[56]  Marina Papatriantafilou,et al.  Overlays with Preferences: Distributed, Adaptive Approximation Algorithms for Matching with Preference Lists , 2013, Algorithms.

[57]  Jeffrey Jones,et al.  Coloring Jacobians revisited: a new algorithm for star and~acyclic bicoloring , 2012, Optim. Methods Softw..

[58]  Pradeep Dubey,et al.  Designing Scalable b-MATCHING Algorithms on Distributed Memory Multiprocessors by Approximation , 2016, SC16: International Conference for High Performance Computing, Networking, Storage and Analysis.

[59]  Partha Pratim Talukdar,et al.  Graph-Based Semi-Supervised Learning , 2014, Graph-Based Semi-Supervised Learning.

[60]  Timothy A. Davis,et al.  The university of Florida sparse matrix collection , 2011, TOMS.

[61]  Joseph F. Pekny,et al.  A Staged Primal-Dual Algorithm for Perfect b-Matching with Edge Capacities , 1995, INFORMS J. Comput..

[62]  I. Duff,et al.  Combinatorial problems in solving linear systems , 2009 .

[63]  Dorit S. Hochbaum,et al.  A fast approximation algorithm for the multicovering problem , 1986, Discret. Appl. Math..

[64]  Stefan Hougardy,et al.  Linear Time Local Improvements for Weighted Matchings in Graphs , 2003, WEA.

[65]  Vitaly Osipov,et al.  Efficient Parallel and External Matching , 2013, Euro-Par.

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

[67]  Dimitris Kiritsis,et al.  Biomedical ontology alignment: an approach based on representation learning , 2018, Journal of Biomedical Semantics.

[68]  Antonino Tumeo,et al.  Approximate weighted matching on emerging manycore and multithreaded architectures , 2012, Int. J. High Perform. Comput. Appl..

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

[70]  Peter Fritzson,et al.  Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach , 2014 .

[71]  Peter Sanders,et al.  Engineering Algorithms for Approximate Weighted Matching , 2007, WEA.

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

[73]  Samir Khuller,et al.  A Primal-Dual Parallel Approximation Technique Applied to Weighted Set and Vertex Covers , 1994, J. Algorithms.

[74]  Mahantesh Halappanavar,et al.  On Stable Marriages and Greedy Matchings , 2016, CSC.

[75]  Jennifer A. Scott,et al.  Pivoting strategies for tough sparse indefinite systems , 2013, TOMS.

[76]  Sebastiano Vigna,et al.  BUbiNG: massive crawling for the masses , 2014, WWW.

[77]  Christos Koufogiannakis,et al.  Distributed algorithms for covering, packing and maximum weighted matching , 2011, Distributed Computing.

[78]  Colin McDiarmid,et al.  Topics in Chromatic Graph Theory: Colouring random graphs , 2015 .

[79]  Xiaoye S. Li,et al.  A distributed-memory approximation algorithm for maximum weight perfect bipartite matching , 2018, ArXiv.

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

[81]  Sebastiano Vigna,et al.  The webgraph framework I: compression techniques , 2004, WWW '04.

[82]  S. M. Ferdous,et al.  Parallel Algorithms Through Approximation: B-Edge Cover , 2018, 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[83]  Vasek Chvátal,et al.  A Greedy Heuristic for the Set-Covering Problem , 1979, Math. Oper. Res..

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

[85]  David P. Williamson,et al.  The Design of Approximation Algorithms , 2011 .

[86]  M. R. Rao,et al.  Odd Minimum Cut-Sets and b-Matchings , 1982, Math. Oper. Res..

[87]  Eric R. Keiter,et al.  Parallel Transistor-Level Circuit Simulation , 2011 .

[88]  Harold N. Gabow,et al.  An efficient reduction technique for degree-constrained subgraph and bidirected network flow problems , 1983, STOC.

[89]  Yixin Cao,et al.  Minimum Fill-In: Inapproximability and Almost Tight Lower Bounds , 2016, SODA.

[90]  Stefan Hougardy Linear Time Approximation Algorithms for Degree Constrained Subgraph Problems , 2008, Bonn Workshop of Combinatorial Optimization.

[91]  Ariful Azad,et al.  Distributed-Memory Algorithms for Maximum Cardinality Matching in Bipartite Graphs , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[92]  S. M. Ferdous,et al.  New Approximation Algorithms for Minimum Weighted Edge Cover , 2018, CSC.

[93]  S. Hanke,et al.  New Approximation Algorithms for the Weighted Matching Problem , 2003 .

[94]  Aristides Gionis,et al.  Social Content Matching in MapReduce , 2011, Proc. VLDB Endow..

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

[96]  Seth Pettie,et al.  Approximate Generalized Matching: $f$-Factors and $f$-Edge Covers , 2017, ArXiv.

[97]  Mahantesh Halappanavar,et al.  New Effective Multithreaded Matching Algorithms , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

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

[99]  William H. Lane,et al.  Stable Marriage Problem , 2001 .

[100]  Alex Pothen,et al.  What Color Is Your Jacobian? Graph Coloring for Computing Derivatives , 2005, SIAM Rev..

[101]  Ross J. Kang,et al.  Topics in Chromatic Graph Theory: Colouring random graphs , 2015 .

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

[103]  S. Thomas McCormick,et al.  Optimal approximation of sparse hessians and its equivalence to a graph coloring problem , 1983, Math. Program..

[104]  Vijay V. Vazirani,et al.  Approximation Algorithms , 2001, Springer Berlin Heidelberg.

[105]  Baruch Awerbuch,et al.  A Distributed Algorithm for Large-Scale Generalized Matching , 2013, Proc. VLDB Endow..

[106]  Aranyak Mehta,et al.  Online Matching and Ad Allocation , 2013, Found. Trends Theor. Comput. Sci..

[107]  Alex Pothen,et al.  A New 3/2-Approximation Algorithm for the b-Edge Cover Problem , 2016, CSC.

[108]  Shih-Fu Chang,et al.  Graph construction and b-matching for semi-supervised learning , 2009, ICML '09.

[109]  Krzysztof Choromanski,et al.  Adaptive Anonymity via b-Matching , 2013, NIPS.

[110]  Guy E. Blelloch,et al.  Greedy sequential maximal independent set and matching are parallel on average , 2012, SPAA '12.

[111]  Vladimir Kolmogorov,et al.  Blossom V: a new implementation of a minimum cost perfect matching algorithm , 2009, Math. Program. Comput..

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

[113]  Philip N. Klein,et al.  Cutting down on Fill Using Nested Dissection: Provably Good Elimination Orderings , 1993 .

[114]  Tony Jebara,et al.  B-Matching for Spectral Clustering , 2006, ECML.

[115]  Joseph S. B. Mitchell,et al.  A maximumb-matching problem arising from median location models with applications to the roommates problem , 1998, Math. Program..

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

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

[118]  Roded Sharan,et al.  A Polynomial Approximation Algorithm for the Minimum Fill-In Problem , 2000, SIAM J. Comput..

[119]  A. Neumaier,et al.  A NEW PIVOTING STRATEGY FOR GAUSSIAN ELIMINATION , 1996 .

[120]  James Demmel,et al.  SuperLU_DIST: A scalable distributed-memory sparse direct solver for unsymmetric linear systems , 2003, TOMS.

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

[122]  Julián Mestre,et al.  Greedy in Approximation Algorithms , 2006, ESA.

[123]  M. Grötschel,et al.  Solving matching problems with linear programming , 1985, Math. Program..

[124]  T. Coleman,et al.  The null space problem II. Algorithms , 1987 .

[125]  Peter Sanders,et al.  A simpler linear time 2/3-epsilon approximation for maximum weight matching , 2004, Inf. Process. Lett..