Abstract
This chapter deals with the problem of finding maximal matchings in arbitrary graphs; for the bipartite case, an efficient algorithms was already given in Sect. 7.2. In contrast to this case, it is not at all easy to reduce the general case to a ow problem, though this is possible (but beyond the scope of the present book). Nevertheless, we will see that the notion of an augmenting path can be modiffied appropriately to help enlarge a given matching. We will present the best known efficient algorithm, which rests on this concept and is due to Edmonds; this turns out to be much more difficult than in the bipartite case. We shall also present the most important theoretical results on matchings in general graphs: the 1-factor theorem of Tutte characterizing the graphs with a prefect matching, the more general Berge-Tutte formula giving the size of a maximal matching, and the Gallai-Edmonds structure theory.
And many a lovely flower and tree Stretch’d their blossoms out to me.
William Blake
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Kocay and Stone [KocSt93, KocSt95] showed that matchings may indeed be treated in the context of flow theory by introducing special types of networks and flows which satisfy certain symmetry conditions: balanced networks and balanced flows; related ideas can be found in the pioneering work of Tutte [Tut67] and in [GolKa96]. Subsequently, Fremuth-Paeger and Jungnickel provided a general theory based on this approach, including efficient algorithms; see [FreJu99a, FreJu99b, FreJu99c, FreJu01a, FreJu01b, FreJu01c, FreJu02, FreJu03]. We will not present this rather involved theory because that would take up far too much space; instead, we refer the reader to the original papers.
- 2.
The edges of M′ are drawn bold in Fig. 13.4; note that \(M' \cap P'_{1} = M \cap P'_{1}\) and M′∩P 1⊂M⊕P 1.
- 3.
Some authors use the terminology even vertex or odd vertex instead.
- 4.
It is tempting to proceed by using all vertices of a blossom both as inner and as outer vertices, so that we cannot miss an augmenting path which uses part of a blossom. Indeed, Pape and Conradt [PapCo80] proposed splitting up each blossom into two alternating paths, so that the vertices of a blossom appear twice in the alternating tree T, both as inner and as outer vertices. Unfortunately, a serious problem arises: it might happen that an edge xy which was left out earlier in accordance with Case 3 (that is, an edge closing a cycle of even length) is needed at a later point because it is also contained in a blossom. The graph shown in Fig. 13.9 contains a unique augmenting path (between r and r′) which is not detected by the algorithm of [PapCo80]; thus their algorithm is too simple to be correct! This counterexample is due to Christian Fremuth-Paeger; see the first edition of the present book for more details.
- 5.
Note that G/B is the result of a sequence of elementary contractions with respect to the edges contained in the blossom B; see Sect. 1.5.
- 6.
In contrast to an ordinary BFS, we need the explicit distance function d(x) because contractions of blossoms may change the distances in the current tree T: a new pseudovertex b is, in general, closer to the root than some other active vertices which were earlier added to T; compare Example 13.4.1.
References
Anderson, I.: Perfect matchings of a graph. J. Comb. Theory 10, 183–186 (1971)
Anstee, R.P.: An algorithmic proof of Tutte’s f-factor theorem. J. Algorithms 6, 112–131 (1985)
Balinsky, M.L., Gonzales, J.: Maximum matchings in bipartite graphs via strong spanning trees. Networks 21, 165–179 (1991)
Ball, M.O., Derigs, U.: An analysis of alternate strategies for implementing matching algorithms. Networks 13, 517–549 (1983)
Berge, C.: Two theorems in graph theory. Proc. Natl. Acad. Sci. USA 43, 842–844 (1957)
Berge, C.: Sur le couplage maximum d’un graphe. C. R. Math. Acad. Sci. Paris 247, 258–259 (1958)
Derigs, U., Heske, A.: A computational study on some methods for solving the cardinality matching problem. Angew. Inform. 22, 249–254 (1980)
DeVos, M.: The Gallai-Edmonds decomposition. Lecture Notes (2012). http://www.sfu.ca/~mdevos/notes/misc/gallai-edmonds.pdf
Edmonds, J.: Paths, trees and flowers. Can. J. Math. 17, 449–467 (1965)
Edmonds, J., Fulkerson, D.R.: Transversals and matroid partition. J. Res. Natl. Bur. Stand. B 69, 147–153 (1965)
Feder, T., Motwani, R.: Clique partitions, graph compression and speeding up algorithms. J. Comput. Syst. Sci. 51, 261–272 (1995)
Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows I. A unifying framework for design and analysis of matching algorithms. Networks 33, 1–28 (1999)
Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows II. Simple augmentation algorithms. Networks 33, 29–41 (1999)
Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows III. Strongly polynomial augmentation algorithms. Networks 33, 43–56 (1999)
Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows IV. Duality and structure theory. Networks 37, 194–201 (2001)
Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows V. Cycle canceling algorithms. Networks 37, 202–209 (2001)
Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows VI. Polyhedral descriptions. Networks 37, 210–218 (2001)
Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows VII. Primal-dual algorithms. Networks 39, 135–142 (2002)
Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows VIII. A revised theory of phase ordered algorithms and the \(O(\sqrt{n} m \log (n^{2}/m) / \log n)\) bound for the non-bipartite cardinality matching problem. Networks 41, 137–142 (2003)
Gabow, H.N.: An efficient implementation of Edmonds’ algorithm for maximum matchings on graphs. J. Assoc. Comput. Mach. 23, 221–234 (1976)
Gallai, T.: Maximale Systeme unabhängiger Kanten. Publ. Math. Inst. Hung. Acad. Sci., Ser. A 9, 401–413 (1964)
Goldberg, A., Karzanov, A.V.: Path problems in skew-symmetric graphs. Combinatorica 16, 353–382 (1996)
Goldberg, A., Karzanov, A.V.: Maximum skew-symmetric flows and matchings. Math. Program. 100, 537–568 (2004)
Hopcroft, J., Karp, R.M.: An n 5/2 algorithm for maximum matching in bipartite graphs. SIAM J. Comput. 2, 225–231 (1973)
Johnson, D.S., McGeoch, C.C. (eds.): Network Flows and Matching. American Mathematical Society, Providence (1993)
Kocay, W., Stone, D.: Balanced network flows. Bull. Inst. Comb. Appl. 7, 17–32 (1993)
Kocay, W., Stone, D.: An algorithm for balanced flows. J. Comb. Math. Comb. Comput. 19, 3–31 (1995)
Kotlov, A.: Short proof of the Gallai-Edmonds structure theorem (2000). arXiv:math/0011204v1
Lawler, E.L.: Combinatorial Optimization: Networks and Matriods. Holt, Rinehart and Winston, New York (1976)
Lesk, M., Plummer, M.D., Pulleyblank, W.R.: Equi-matchable graphs. In: Bollobás, B. (ed.) Graph Theory and Combinatorics, pp. 239–254. Academic Press, New York (1984)
Lovász, L.: Subgraphs with prescribed valencies. J. Comb. Theory 8, 391–416 (1970)
Lovász, L., Plummer, M.D.: Matching Theory. North Holland, Amsterdam (1986)
Meng, D.H.C.: Matchings and coverings for graphs. Ph.D. thesis, Michigan State University, East Lansing, Mich. (1974)
Micali, S., Vazirani, V.V.: An \(O(\sqrt{|V||E||})\) algorithm for finding maximum matchings in general graphs. In: Proc. 21st IEEE Symp. on Foundations of Computer Science, pp. 17–27 (1980)
Pape, U., Conradt, D.: Maximales Matching in Graphen. In: Späth, H. (ed.) Ausgewählte Operations Research Software in FORTRAN, pp. 103–114. Oldenbourg, München (1980)
Petersen, J.: Die Theorie der regulären Graphen. Acta Math. 15, 193–220 (1891)
Peterson, P.A., Loui, M.C.: The general maximum matching algorithm of Micali and Vazirani. Algorithmica 3, 511–533 (1988)
Sumner, D.P.: Randomly matchable graphs. J. Graph Theory 3, 183–186 (1979)
Tutte, W.T.: The factorization of linear graphs. J. Lond. Math. Soc. 22, 107–111 (1947)
Tutte, W.T.: The factors of graphs. Can. J. Math. 4, 314–328 (1952)
Tutte, W.T.: A short proof of the factor theorem for finite graphs. Can. J. Math. 6, 347–352 (1952)
Tutte, W.T.: Antisymmetrical digraphs. Can. J. Math. 19, 1101–1117 (1967)
Vazirani, V.V.: A theory of alternating paths and blossoms for proving correctness of the O(V 1/2 E) general graph matching algorithm. Combinatorica 14, 71–109 (1994)
West, D.B.: A short proof of the Berge-Tutte formula and the Gallai-Edmonds structure theorem. Eur. J. Comb. 32, 674–676 (2011)
Yannakakis, M., Gavril, F.: Edge dominating sets in graphs. SIAM J. Appl. Math. 38, 364–372 (1980)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Jungnickel, D. (2013). Matchings. In: Graphs, Networks and Algorithms. Algorithms and Computation in Mathematics, vol 5. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32278-5_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-32278-5_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32277-8
Online ISBN: 978-3-642-32278-5
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)