Skip to main content

Matchings

  • Chapter

Part of the book series: Algorithms and Computation in Mathematics ((AACIM,volume 5))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Learn about institutional subscriptions

Notes

  1. 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. 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 1MP 1.

  3. 3.

    Some authors use the terminology even vertex or odd vertex instead.

  4. 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. 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. 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

  1. Anderson, I.: Perfect matchings of a graph. J. Comb. Theory 10, 183–186 (1971)

    MATH  Google Scholar 

  2. Anstee, R.P.: An algorithmic proof of Tutte’s f-factor theorem. J. Algorithms 6, 112–131 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  3. Balinsky, M.L., Gonzales, J.: Maximum matchings in bipartite graphs via strong spanning trees. Networks 21, 165–179 (1991)

    Article  MathSciNet  Google Scholar 

  4. Ball, M.O., Derigs, U.: An analysis of alternate strategies for implementing matching algorithms. Networks 13, 517–549 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  5. Berge, C.: Two theorems in graph theory. Proc. Natl. Acad. Sci. USA 43, 842–844 (1957)

    Article  MathSciNet  MATH  Google Scholar 

  6. Berge, C.: Sur le couplage maximum d’un graphe. C. R. Math. Acad. Sci. Paris 247, 258–259 (1958)

    MathSciNet  MATH  Google Scholar 

  7. Derigs, U., Heske, A.: A computational study on some methods for solving the cardinality matching problem. Angew. Inform. 22, 249–254 (1980)

    Google Scholar 

  8. DeVos, M.: The Gallai-Edmonds decomposition. Lecture Notes (2012). http://www.sfu.ca/~mdevos/notes/misc/gallai-edmonds.pdf

  9. Edmonds, J.: Paths, trees and flowers. Can. J. Math. 17, 449–467 (1965)

    Article  MathSciNet  MATH  Google Scholar 

  10. Edmonds, J., Fulkerson, D.R.: Transversals and matroid partition. J. Res. Natl. Bur. Stand. B 69, 147–153 (1965)

    MathSciNet  MATH  Google Scholar 

  11. Feder, T., Motwani, R.: Clique partitions, graph compression and speeding up algorithms. J. Comput. Syst. Sci. 51, 261–272 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  12. Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows I. A unifying framework for design and analysis of matching algorithms. Networks 33, 1–28 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  13. Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows II. Simple augmentation algorithms. Networks 33, 29–41 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  14. Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows III. Strongly polynomial augmentation algorithms. Networks 33, 43–56 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  15. Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows IV. Duality and structure theory. Networks 37, 194–201 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  16. Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows V. Cycle canceling algorithms. Networks 37, 202–209 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  17. Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows VI. Polyhedral descriptions. Networks 37, 210–218 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  18. Fremuth-Paeger, C., Jungnickel, D.: Balanced network flows VII. Primal-dual algorithms. Networks 39, 135–142 (2002)

    Article  MathSciNet  Google Scholar 

  19. 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)

    Article  MathSciNet  MATH  Google Scholar 

  20. Gabow, H.N.: An efficient implementation of Edmonds’ algorithm for maximum matchings on graphs. J. Assoc. Comput. Mach. 23, 221–234 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  21. Gallai, T.: Maximale Systeme unabhängiger Kanten. Publ. Math. Inst. Hung. Acad. Sci., Ser. A 9, 401–413 (1964)

    MathSciNet  MATH  Google Scholar 

  22. Goldberg, A., Karzanov, A.V.: Path problems in skew-symmetric graphs. Combinatorica 16, 353–382 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  23. Goldberg, A., Karzanov, A.V.: Maximum skew-symmetric flows and matchings. Math. Program. 100, 537–568 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  24. Hopcroft, J., Karp, R.M.: An n 5/2 algorithm for maximum matching in bipartite graphs. SIAM J. Comput. 2, 225–231 (1973)

    Article  MathSciNet  MATH  Google Scholar 

  25. Johnson, D.S., McGeoch, C.C. (eds.): Network Flows and Matching. American Mathematical Society, Providence (1993)

    MATH  Google Scholar 

  26. Kocay, W., Stone, D.: Balanced network flows. Bull. Inst. Comb. Appl. 7, 17–32 (1993)

    MathSciNet  MATH  Google Scholar 

  27. Kocay, W., Stone, D.: An algorithm for balanced flows. J. Comb. Math. Comb. Comput. 19, 3–31 (1995)

    MathSciNet  MATH  Google Scholar 

  28. Kotlov, A.: Short proof of the Gallai-Edmonds structure theorem (2000). arXiv:math/0011204v1

  29. Lawler, E.L.: Combinatorial Optimization: Networks and Matriods. Holt, Rinehart and Winston, New York (1976)

    Google Scholar 

  30. 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)

    Google Scholar 

  31. Lovász, L.: Subgraphs with prescribed valencies. J. Comb. Theory 8, 391–416 (1970)

    Article  MATH  Google Scholar 

  32. Lovász, L., Plummer, M.D.: Matching Theory. North Holland, Amsterdam (1986)

    MATH  Google Scholar 

  33. Meng, D.H.C.: Matchings and coverings for graphs. Ph.D. thesis, Michigan State University, East Lansing, Mich. (1974)

    Google Scholar 

  34. 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)

    Google Scholar 

  35. 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)

    Google Scholar 

  36. Petersen, J.: Die Theorie der regulären Graphen. Acta Math. 15, 193–220 (1891)

    Article  MathSciNet  MATH  Google Scholar 

  37. Peterson, P.A., Loui, M.C.: The general maximum matching algorithm of Micali and Vazirani. Algorithmica 3, 511–533 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  38. Sumner, D.P.: Randomly matchable graphs. J. Graph Theory 3, 183–186 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  39. Tutte, W.T.: The factorization of linear graphs. J. Lond. Math. Soc. 22, 107–111 (1947)

    Article  MathSciNet  MATH  Google Scholar 

  40. Tutte, W.T.: The factors of graphs. Can. J. Math. 4, 314–328 (1952)

    Article  MathSciNet  MATH  Google Scholar 

  41. Tutte, W.T.: A short proof of the factor theorem for finite graphs. Can. J. Math. 6, 347–352 (1952)

    Article  MathSciNet  Google Scholar 

  42. Tutte, W.T.: Antisymmetrical digraphs. Can. J. Math. 19, 1101–1117 (1967)

    Article  MathSciNet  MATH  Google Scholar 

  43. 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)

    Article  MathSciNet  MATH  Google Scholar 

  44. West, D.B.: A short proof of the Berge-Tutte formula and the Gallai-Edmonds structure theorem. Eur. J. Comb. 32, 674–676 (2011)

    Article  MATH  Google Scholar 

  45. Yannakakis, M., Gavril, F.: Edge dominating sets in graphs. SIAM J. Appl. Math. 38, 364–372 (1980)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Publish with us

Policies and ethics