• K. Erciyes
Part of the Texts in Computer Science book series (TCS)


A matching of a graph is a subset of edges that do not share any endpoints. Matching can be used in many applications including channel frequency assignment in radio networks, graph partitioning, and clustering. In an unweighted graph, maximum matching of a graph is the set of edges that has the maximum cardinality among all matchings in that graph. In an edge-weighted weighted graph, our aim is to find a matching with the maximum (or minimum) total weight. Finding a maximum (weighted) matching in an unweighted or weighted graph is one of the rare graph problems that can be solved in polynomial time. We review sequential, parallel, and distributed algorithms for unweighted and weighted general graphs and bipartite graphs in this chapter.


  1. 1.
    Avis D (1983) A survey of heuristics for the weighted matching problem. Networks 13:475–493MathSciNetCrossRefGoogle Scholar
  2. 2.
    Azad A, Halappanavar M, Rajamanickam S, Boman EG, Khan AM, Pothen A (2012) Multithreaded algorithms for maxmum matching in bipartite graphs. IPDPS 2012:860–872Google Scholar
  3. 3.
    Berge C (1957) Two theorems in graph theory. Proc Natl Acad Sci USA 43:842–844MathSciNetCrossRefGoogle Scholar
  4. 4.
    Bertsekas DP, Tsitsiklis JN (1989) Parallel and distributed computation: numerical methods. Prentice-Hall, Englewood CliffsGoogle Scholar
  5. 5.
    Bertsekas DP, Castanon DA (1991) Parallel synchronous and asynchronous implementations of the auction algorithm. Parallel Comput 17:707–732Google Scholar
  6. 6.
    Bus L, Tvrdik P (2009) Towards auction algorithms for large dense assignment problems. Comput Optim Appl 43(3):411–436MathSciNetCrossRefGoogle Scholar
  7. 7.
    Edmonds J (1965) Paths, trees and flowers. Can J Math 17:449–467Google Scholar
  8. 8.
    Erciyes K (2015) Distributed and sequential algorithms for bioinformatics. Springer computational biology series. Springer, ChamCrossRefGoogle Scholar
  9. 9.
    Erciyes K (2015) Distributed graph algorithms for computer networks. Springer computer and communications series. Springer, LondonGoogle Scholar
  10. 10.
    Gabow HN (1976) An efficient implementation of Edmonds’ algorithm for maximum matching on graphs. J Assoc Comput Mach 23:221–234MathSciNetCrossRefGoogle Scholar
  11. 11.
    Hausmann D, Korte B (1978) K-greedy algorithms for independence systems. Z Oper Res 22(1):219–228Google Scholar
  12. 12.
    Hirvonen J, Suomela J (2012) Distributed maximal matching: greedy is optimal. In: Kowalski D, Panconesi A (eds) PODC12. Proceedings of 2012 ACM symposium on principles of distributed computing, Madeira, Portugal, 161–8 July 2012Google Scholar
  13. 13.
    Hoepman JH (2004) Simple distributed weighted matchings. Technical report, Nijmegen institute for computing and information sciences (NIII)Google Scholar
  14. 14.
    Hopcraft J, Karp RM (1973) An \(O(n^{2.5})\) algorithm for maximum matching in bipartite graphs. SIAM J Comput 2:225–231MathSciNetCrossRefGoogle Scholar
  15. 15.
    Karypis G, Kumar V (1998) A parallel algorithm for multilevel graph partitioning and sparse matrix ordering. J Parallel Distrib Comput 48(1):71–95CrossRefGoogle Scholar
  16. 16.
    König D (1931) Graphen und matrizen. Math. Lapok 38:116–119zbMATHGoogle Scholar
  17. 17.
    Kuhn HW (1955) The Hungarian method for the assignment problem. Nav Res Logist Q 2:83–97MathSciNetCrossRefGoogle Scholar
  18. 18.
    Manne F, Bisseling RH (2007) A parallel approximation algorithm for the weighted maximum matching problem. In: Wyrzykowski R, Karczewski K, Dongarra J, Wasniewski J (eds) Proceedings of seventh international conference on parallel processing and applied mathematics (PPAM 2007). LNCS, vol 4967. Springer, Berlin, pp 708–717Google Scholar
  19. 19.
    Micali S, Vazirani V (1980) An O(sqrt(\(\vert \) V \(\vert \))\(\vert \) E \(\vert \)) algorithm for finding maximum matching in general graphs. In: Proceedings of 21st annual symposium on on foundations of computer science, IEEE, pp 17–27Google Scholar
  20. 20.
    Munkres J (1957) Algorithms for the assignment and transportation problems. J Soc Ind Appl Math 5(1):32–38Google Scholar
  21. 21.
    Naparstek O, Leshem A (2014) Expected time complexity of the auction algorithm and the push relabel algorithm for maximal bipartite matching on random graphs. Random Struct Algorithms 48:384–395CrossRefGoogle Scholar
  22. 22.
    Preis R (1999) Linear time 1/2-approximation algorithm for maximum weighted matching in general graphs. In: Meinel C, Tison S (eds) Symposium on theoretical aspects of computer science (STACS) 1999. LNCS, vol 1563, Springer, Berlin, 259–269Google Scholar
  23. 23.
    Riedy J (2010) Making static pivoting scalable and dependable. Ph.D. thesis, EECS Department, University of California, BerkeleyGoogle Scholar
  24. 24.
    Sathe M (2012) Parallel graph algorithms for finding weighted matchings and subgraphs in computational science. Ph.D. thesis, University of BaselGoogle Scholar
  25. 25.
    Vazirani VV (1994) A theory of alternating paths and blossoms for proving correctness of the \(O(\sqrt{V} E)\) general graph maximum matching algorithm. Combinatorica 14(1):71–109MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.International Computer InstituteEge UniversityIzmirTurkey

Personalised recommendations