Skip to main content

Implementation of O(nmlog n) Weighted Matchings in General Graphs. The Power of Data Structures

  • Conference paper
  • First Online:
Algorithm Engineering (WAE 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1982))

Included in the following conference series:

Abstract

We describe the implementation of an O(nmlog n) algorithm for weighted matchings in general graphs. The algorithm is a variant of the algorithm of Galil, Micali, and Gabow [12] and requires the use of concatenable priority queues. No previous implementation had a worst-case guarantee of O(nmlog n). We compare our implementation to the experimentally fastest implementation (called Blossom IV) due to Cook and Rohe [4]; Blossom IV is an implementation of Edmonds’ algorithm and has a running time no better than (n3). Blossom IV requires only very simple data structures. Our experiments show that our new implementation is competitive to Blossom IV.

The maximum-weight matching problem can be reduced to the maximum-weight perfect matching problem: the original graph is doubled and zero weight edges are inserted from each original vertex to the corresponding doubled vertex. For an original graph with n vertices and m edges, the reduction doubles n and increases m by m + n; it soon becomes impractical for large instances.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, J. E. Hopcroft, and J. D. Ullmann. The design and analysis of computer algorithms. Addison-Wesley, 1974.

    Google Scholar 

  2. D. Applegate and W. Cook. Solving large-scale matching problems. In D. Johnson and C.C. McGeoch, editors, Network Flows and Matchings, volume 12 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pages 557–576. American Mathematical Society, 1993.

    Google Scholar 

  3. B. Cherkassky and A. Goldberg. PRF, a Maxflow Code. http://www.intertrust.com/star/goldberg/index.html.

  4. W. Cook and A. Rohe. Computing minimum-weight perfect matchings. Technical Report 97863, Forschungsinstitut für Diskrete Mathematik, Universität Bonn, 1997.

    Google Scholar 

  5. U. Derigs and A. Metz. On the use of optimal fractional matchings for solving the (integer) matching problem. Mathematical Programming, 36:263–270, 1986.

    MathSciNet  MATH  Google Scholar 

  6. U. Derigs and A. Metz. Solving (large scale) matching problems combinatorially. Mathematical Programming, 50:113–122, 1991.

    Article  MathSciNet  Google Scholar 

  7. M.B. Dillencourt. Toughness and delaunay triangulations. Discrete and Computational Geometry, 5:575–601, 1990.

    Article  MathSciNet  Google Scholar 

  8. J. Edmonds. Maximum matching and a polyhedron with (0,1) vertices. Journal of Research of the National Bureau of Standards, 69B:125–130, 1965.

    Article  MathSciNet  Google Scholar 

  9. J. Edmonds. Paths, trees, and flowers. Canadian Journal on Mathematics, pages 449–467, 1965.

    Google Scholar 

  10. H. N. Gabow. Implementation of algorithms for maximum matching and nonbipartite graphs. PhD thesis, Stanford University, 1974.

    Google Scholar 

  11. H. N. Gabow. Data structures for weighted matching and nearest common ancestors with linking. In David Johnson, editor, Proceedings of the 1st Annual ACM-SIAM Symposium on Discrete Algorithms (SODA’ 90), pages 434–443, San Francisco, CA, USA, January 1990. SIAM.

    Google Scholar 

  12. Z. Galil, S. Micali, and H. N. Gabow. An O(EV log V ) algorithm for finding a maximal weighted matching in general graphs. SIAM J. Computing, 15:120–130, 1986.

    Article  MathSciNet  Google Scholar 

  13. M. Humble. Implementierung von Fluβalgorithmen mit dynamischen Bäumen. Master’s thesis, Fachbereich Informatik, Universität des Saarlandes, Saarbrücken, 1996.

    Google Scholar 

  14. E. L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

    MATH  Google Scholar 

  15. K. Mehlhorn and S. Näher. The LEDA Platform for Combinatorial and Geometric Computing. Cambridge University Press, 1999. 1018 pages.

    Google Scholar 

  16. K. Mehlhorn. Data structures and algorithms. Volume 1: Sorting and searching, volume 1 of EATCS monographs on theoretical computer science. Springer, 1984.

    Google Scholar 

  17. G. Schäfer. Weighted matchings in general graphs. Master’s thesis, Fachbereich Informatik, Universität des Saarlandes, Saarbrücken, 2000.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mehlhorn, K., Schäfer, G. (2001). Implementation of O(nmlog n) Weighted Matchings in General Graphs. The Power of Data Structures. In: Näher, S., Wagner, D. (eds) Algorithm Engineering. WAE 2000. Lecture Notes in Computer Science, vol 1982. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44691-5_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-44691-5_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42512-0

  • Online ISBN: 978-3-540-44691-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics