# Approximating minimum weight perfect matchings for complete graphs satisfying the triangle inequality

## Abstract

We describe an *O*(*log*^{3}*n*) time *NC* approximation algorithm for the CREW P-RAM, using *n*^{3}/ log *n* processors with a 2log_{3}*n* performance ratio, for the problem of finding a minimum-weight perfect matching in complete graphs satisfying the triangle inequality. The algorithm is conceptually very simple and has a work measure within a factor of *log*^{2}*n* of the best exact sequential algorithm. This is the first *NC* approximation algorithm for the problem with a sub-linear performance ratio. As was the case in the development of sequential complexity theory, matching problems are on the boundary of what problems might ultimately be described as *tractable* for parallel computation. Future work in this area is likely to decide whether these ought to be regarded as those problems in *NC* or those problems in *RNC*.

## keywords

approximation algorithms parallel algorithms matching## Preview

Unable to display preview. Download preview PDF.

## References

- 1.E. Dahlhaus and M. Karpinski, “Parallel Construction of Perfect Matching and Hamiltonian Cycles on Dense Graphs”,
*Theoretical computer science*61 (1988) 121–136Google Scholar - 2.J. Edmonds, “Matching and Polyhedrons with 0,1 Vertices”,
*Journal of Research of the National Bureau of Standards B*, 125–130 (1965).Google Scholar - 3.J. Edmonds, “Paths, trees and flowers”,
*Canadian Journal of Mathematics*17 (1965) 449–67.Google Scholar - 4.H.N. Gabow, “Implementations of Algorithm for Maximum Matching on Nonbiparitte Graphs”,
*Ph.D. Dissertation*, Dept. of Computer Science, Stanford University, 1974.Google Scholar - 5.D.Y. Grigoriev and M. Karpinski, “The Matching Problem for Bipartite Graphs with Polynomially Bounded Permanents is in NC”,
*Proceedings of the Annual IEEE Symposium on Foundations of Computer Science*(1987), 166–172.Google Scholar - 6.Z. Galil and V. Pan, “Improved Processor Bounds for Combinatorial Problems in RNC”,
*Combinatorica*8 (1988) 189–200.Google Scholar - 7.A.M. Gibbons,
*Algorithmic Graph Theory*, Cambridge University Press (1985).Google Scholar - 8.A.M. Gibbons and W. Rytter,
*Efficient Parallel Algorithms*, Cambridge University Press (1988).Google Scholar - 9.A.M. Gibbons and P.G. Spirakis (eds),
*Lectures on Parallel Computation*, Cambridge University Press (1993).Google Scholar - 10.D. Hembold and E. Mayer, “Two-processor Scheduling is in NC”,
*VLSI Algorithm and Architectures*, editors: Makedon et al., Lecture Notes in Computer Science, Vol. 227 (1986) 12–25.Google Scholar - 11.M. Iri, K. Murota and S. Matsui, “Linear-time Approximation Algorithms for Finding the Minimum-Weight Perfect Matching on a Plane”,
*Information Processing Letters*12 (1981) 206–209.Google Scholar - 12.A. Israeli and Y. Shiloach, “An improved algorithm for maximal matching”,
*Information Processing Letters*” 33 (1986) 57–60.Google Scholar - 13.D.B. Johnson and P. Metaxas, “Connected components in O(log3/2 ¦V¦) parallel time for the CREW PRAM”, FOCS, 1991Google Scholar
- 14.D.R. Karger, N. Nisan and M. Parnas, “Fast Connected Components Algorithms for the EREW PRAM”,
*4th Annual ACM Symposium on Parallel Algorithms and Architectures*, 373–381 (1992)Google Scholar - 15.R. Karp and V. Ramachandran, “Parallel algorithms for Shared Memory Machines”, Handbook of Theoretical Computer Science, J. van Leeuwen (editor), vol.1, Elsevier and MIT Press (1991).Google Scholar
- 16.R. Karp, E. Upfal and A. Wigderson, “Constructing a Perfect Matching is in Random NC”,
*Proceedings of the Annual ACM Symposium on Theory of Computing*(1985), 22–32.Google Scholar - 17.L. Kucera, “Parallel computation and conflicts in memory access”,
*Information Processing Letters*, Vol. 14, (1982) 93–96Google Scholar - 18.E.L. Lawler,
*Combinatorial Optimization: Networks and Matroids*, Holt-Rinehart-Winston, New York, 1976.Google Scholar - 19.F. Thomson Leighton,
*Introduction to Parallel Algorithms and Achitectures: Arrays • Trees • Hypercubes*, Morgan Kaufmann, California (1992).Google Scholar - 20.K. Mulmuley, U. Vazirani and V. Vazirani, “Matching is as Easy as Matrix Inverson”,
*Proceedings of the Annual ACM Symposium on Theory of Computing*(1987), 345–354.Google Scholar - 21.J. Naor, “Computing a Perfect Matching in a Line Graph”,
*Proceedings of the 9*^{th}Conference on the Foundations of Software Technology and Theoretical Computer Science, (1989) 139–148.Google Scholar - 22.C.N.K. Osiakwan and S.G. Akl, “The Maximum weight perfect matching problem for complete weighted graphs is in PC”,
*Proceedings of the 2nd*IEEE Symposium on Parallel and Distributed Processing (1990) 880–887.Google Scholar - 23.D.A. Plaisted, “Heuristic Matching for Graphs Satisfying the Triangle Inequality”,
*Journal of Algorithms*5 (1984) 163–179.Google Scholar - 24.E.M. Reingold and R.E. Tarjan, “In a greedy Heuristic for Complete Matching”,
*SIAM Journal of Computing*10 (1981) 676–681.Google Scholar - 25.Y. Shiloach and U. Vishkin, “An O(log
*n*) parallel connectivity algorithm”,*Journal of Algorithms*, Vol. 3, (1982) 57–67.Google Scholar - 26.K.J. Supowit, D.A. Plaisted and E.M. Reingold, “Heuristics for Weighted Perfect Matching”,
*Proceedings of the Annual ACM Symposium on Theory of Computing*, (1980) 398–419.Google Scholar - 27.R.E. Tarjan and U. Vishkin, “Finding biconnected components and computing tree functions in logarithmic parallel time”,
*Proceedings of the 25*^{th}Annual IEEE Symposium on the Foundations of Computer Science, (1984), 12–20, also SIAM*Journal of Computing*, 14, 4(1985) 862–74.Google Scholar