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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. V. Aho, J. E. Hopcroft, and J. D. Ullmann. The design and analysis of computer algorithms. Addison-Wesley, 1974.
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.
B. Cherkassky and A. Goldberg. PRF, a Maxflow Code. http://www.intertrust.com/star/goldberg/index.html.
W. Cook and A. Rohe. Computing minimum-weight perfect matchings. Technical Report 97863, Forschungsinstitut für Diskrete Mathematik, Universität Bonn, 1997.
U. Derigs and A. Metz. On the use of optimal fractional matchings for solving the (integer) matching problem. Mathematical Programming, 36:263–270, 1986.
U. Derigs and A. Metz. Solving (large scale) matching problems combinatorially. Mathematical Programming, 50:113–122, 1991.
M.B. Dillencourt. Toughness and delaunay triangulations. Discrete and Computational Geometry, 5:575–601, 1990.
J. Edmonds. Maximum matching and a polyhedron with (0,1) vertices. Journal of Research of the National Bureau of Standards, 69B:125–130, 1965.
J. Edmonds. Paths, trees, and flowers. Canadian Journal on Mathematics, pages 449–467, 1965.
H. N. Gabow. Implementation of algorithms for maximum matching and nonbipartite graphs. PhD thesis, Stanford University, 1974.
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.
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.
M. Humble. Implementierung von Fluβalgorithmen mit dynamischen Bäumen. Master’s thesis, Fachbereich Informatik, Universität des Saarlandes, Saarbrücken, 1996.
E. L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.
K. Mehlhorn and S. Näher. The LEDA Platform for Combinatorial and Geometric Computing. Cambridge University Press, 1999. 1018 pages.
K. Mehlhorn. Data structures and algorithms. Volume 1: Sorting and searching, volume 1 of EATCS monographs on theoretical computer science. Springer, 1984.
G. Schäfer. Weighted matchings in general graphs. Master’s thesis, Fachbereich Informatik, Universität des Saarlandes, Saarbrücken, 2000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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