fbpx
Wikipedia

Maximum cardinality matching

Maximum cardinality matching is a fundamental problem in graph theory.[1] We are given a graph G, and the goal is to find a matching containing as many edges as possible; that is, a maximum cardinality subset of the edges such that each vertex is adjacent to at most one edge of the subset. As each edge will cover exactly two vertices, this problem is equivalent to the task of finding a matching that covers as many vertices as possible.

An important special case of the maximum cardinality matching problem is when G is a bipartite graph, whose vertices V are partitioned between left vertices in X and right vertices in Y, and edges in E always connect a left vertex to a right vertex. In this case, the problem can be efficiently solved with simpler algorithms than in the general case.

Algorithms for bipartite graphs edit

Flow-based algorithm edit

The simplest way to compute a maximum cardinality matching is to follow the Ford–Fulkerson algorithm. This algorithm solves the more general problem of computing the maximum flow. A bipartite graph (X + Y, E) can be converted to a flow network as follows.

  • Add a source vertex s; add an edge from s to each vertex in X.
  • Add a sink vertex t; add an edge from each vertex in Y to t.
  • Assign a capacity of 1 to each edge.

Since each edge in the network has integral capacity, there exists a maximum flow where all flows are integers; these integers must be either 0 or 1 since the all capacities are 1. Each integral flow defines a matching in which an edge is in the matching if and only if its flow is 1. It is a matching because:

  • The incoming flow into each vertex in X is at most 1, so the outgoing flow is at most 1 too, so at most one edge adjacent to each vertex in X is present.
  • The outgoing flow from each vertex in Y is at most 1, so the incoming flow is at most 1 too, so at most one edge adjacent to each vertex in Y is present.

The Ford–Fulkerson algorithm proceeds by repeatedly finding an augmenting path from some xX to some yY and updating the matching M by taking the symmetric difference of that path with M (assuming such a path exists). As each path can be found in O(E) time, the running time is O(VE), and the maximum matching consists of the edges of E that carry flow from X to Y.

Advanced algorithms edit

An improvement to this algorithm is given by the more elaborate Hopcroft–Karp algorithm, which searches for multiple augmenting paths simultaneously. This algorithm runs in   time.

The algorithm of Chandran and Hochbaum[2] for bipartite graphs runs in time that depends on the size of the maximum matching k, which for |X| < |Y| is

 

Using boolean operations on words of size   the complexity is further improved to[2]

 

More efficient algorithms exist for special kinds of bipartite graphs:

  • For sparse bipartite graphs, the maximum matching problem can be solved in   with Madry's algorithm based on electric flows.[3]
  • For planar bipartite graphs, the problem can be solved in time O(n log3 n) where n is the number of vertices, by reducing the problem to maximum flow with multiple sources and sinks.[4]

Algorithms for arbitrary graphs edit

The blossom algorithm finds a maximum-cardinality matching in general (not necessarily bipartite) graphs. It runs in time  . A better performance of O(VE) for general graphs, matching the performance of the Hopcroft–Karp algorithm on bipartite graphs, can be achieved with the much more complicated algorithm of Micali and Vazirani.[5] The same bound was achieved by an algorithm by Blum [de][6] and an algorithm by Gabow and Tarjan.[7]

An alternative approach uses randomization and is based on the fast matrix multiplication algorithm. This gives a randomized algorithm for general graphs with complexity  .[8] This is better in theory for sufficiently dense graphs, but in practice the algorithm is slower.[2]

Other algorithms for the task are reviewed by Duan and Pettie[9] (see Table I). In terms of approximation algorithms, they also point out that the blossom algorithm and the algorithms by Micali and Vazirani can be seen as approximation algorithms running in linear time for any fixed error bound.

Applications and generalizations edit

References edit

  1. ^ West, Douglas Brent (1999), Introduction to Graph Theory (2nd ed.), Prentice Hall, Chapter 3, ISBN 0-13-014400-2
  2. ^ a b c Chandran, Bala G.; Hochbaum, Dorit S. (2011), Practical and theoretical improvements for bipartite matching using the pseudoflow algorithm, arXiv:1105.1569, Bibcode:2011arXiv1105.1569C, the theoretically efficient algorithms listed above tend to perform poorly in practice.
  3. ^ Madry, A (2013), "Navigating Central Path with Electrical Flows: From Flows to Matchings, and Back", Foundations of Computer Science (FOCS), 2013 IEEE 54th Annual Symposium on, pp. 253–262, arXiv:1307.2205, Bibcode:2013arXiv1307.2205M
  4. ^ Borradaile, Glencora; Klein, Philip N.; Mozes, Shay; Nussbaum, Yahav; Wulff–Nilsen, Christian (2017), "Multiple-source multiple-sink maximum flow in directed planar graphs in near-linear time", SIAM Journal on Computing, 46 (4): 1280–1303, arXiv:1105.2228, doi:10.1137/15M1042929, MR 3681377, S2CID 207071917
  5. ^ Micali, S.; Vazirani, V. V. (1980), "An   algorithm for finding maximum matching in general graphs", Proc. 21st IEEE Symp. Foundations of Computer Science, pp. 17–27, doi:10.1109/SFCS.1980.12, S2CID 27467816.
  6. ^ Blum, Norbert (1990), "A new approach to maximum matching in general graphs" (PDF), in Paterson, Mike (ed.), Automata, Languages and Programming, 17th International Colloquium, ICALP90, Warwick University, England, UK, July 16–20, 1990, Proceedings, Lecture Notes in Computer Science, vol. 443, Springer, pp. 586–597, doi:10.1007/BFb0032060
  7. ^ Gabow, Harold N; Tarjan, Robert E (1991-10-01). "Faster scaling algorithms for general graph matching problems" (PDF). Journal of the ACM. 38 (4): 815–853. doi:10.1145/115234.115366. S2CID 18350108.
  8. ^ Mucha, M.; Sankowski, P. (2004), "Maximum Matchings via Gaussian Elimination" (PDF), Proc. 45th IEEE Symp. Foundations of Computer Science, pp. 248–255
  9. ^ Duan, Ran; Pettie, Seth (2014-01-01). "Linear-Time Approximation for Maximum Weight Matching" (PDF). Journal of the ACM. 61: 1–23. doi:10.1145/2529989. S2CID 207208641.
  10. ^ Karp, Richard M. (1972), Miller, Raymond E.; Thatcher, James W.; Bohlinger, Jean D. (eds.), "Reducibility among Combinatorial Problems", Complexity of Computer Computations: Proceedings of a symposium on the Complexity of Computer Computations, held March 20–22, 1972, at the IBM Thomas J. Watson Research Center, Yorktown Heights, New York, and sponsored by the Office of Naval Research, Mathematics Program, IBM World Trade Corporation, and the IBM Research Mathematical Sciences Department, The IBM Research Symposia Series, Boston, MA: Springer US, pp. 85–103, doi:10.1007/978-1-4684-2001-2_9, ISBN 978-1-4684-2001-2

maximum, cardinality, matching, fundamental, problem, graph, theory, given, graph, goal, find, matching, containing, many, edges, possible, that, maximum, cardinality, subset, edges, such, that, each, vertex, adjacent, most, edge, subset, each, edge, will, cov. Maximum cardinality matching is a fundamental problem in graph theory 1 We are given a graph G and the goal is to find a matching containing as many edges as possible that is a maximum cardinality subset of the edges such that each vertex is adjacent to at most one edge of the subset As each edge will cover exactly two vertices this problem is equivalent to the task of finding a matching that covers as many vertices as possible An important special case of the maximum cardinality matching problem is when G is a bipartite graph whose vertices V are partitioned between left vertices in X and right vertices in Y and edges in E always connect a left vertex to a right vertex In this case the problem can be efficiently solved with simpler algorithms than in the general case Contents 1 Algorithms for bipartite graphs 1 1 Flow based algorithm 1 2 Advanced algorithms 2 Algorithms for arbitrary graphs 3 Applications and generalizations 4 ReferencesAlgorithms for bipartite graphs editFlow based algorithm edit The simplest way to compute a maximum cardinality matching is to follow the Ford Fulkerson algorithm This algorithm solves the more general problem of computing the maximum flow A bipartite graph X Y E can be converted to a flow network as follows Add a source vertex s add an edge from s to each vertex in X Add a sink vertex t add an edge from each vertex in Y to t Assign a capacity of 1 to each edge Since each edge in the network has integral capacity there exists a maximum flow where all flows are integers these integers must be either 0 or 1 since the all capacities are 1 Each integral flow defines a matching in which an edge is in the matching if and only if its flow is 1 It is a matching because The incoming flow into each vertex in X is at most 1 so the outgoing flow is at most 1 too so at most one edge adjacent to each vertex in X is present The outgoing flow from each vertex in Y is at most 1 so the incoming flow is at most 1 too so at most one edge adjacent to each vertex in Y is present The Ford Fulkerson algorithm proceeds by repeatedly finding an augmenting path from some x X to some y Y and updating the matching M by taking the symmetric difference of that path with M assuming such a path exists As each path can be found in O E time the running time is O VE and the maximum matching consists of the edges of E that carry flow from X to Y Advanced algorithms edit An improvement to this algorithm is given by the more elaborate Hopcroft Karp algorithm which searches for multiple augmenting paths simultaneously This algorithm runs in O V E displaystyle O sqrt V E nbsp time The algorithm of Chandran and Hochbaum 2 for bipartite graphs runs in time that depends on the size of the maximum matching k which for X lt Y is O min X k E k min k 2 E displaystyle O left min X k E sqrt k min k 2 E right nbsp Using boolean operations on words of size l displaystyle lambda nbsp the complexity is further improved to 2 O min X k X Y l E k 2 k 2 5 l displaystyle O left min left X k frac X Y lambda E right k 2 frac k 2 5 lambda right nbsp More efficient algorithms exist for special kinds of bipartite graphs For sparse bipartite graphs the maximum matching problem can be solved in O E 10 7 displaystyle tilde O E 10 7 nbsp with Madry s algorithm based on electric flows 3 For planar bipartite graphs the problem can be solved in time O n log3 n where n is the number of vertices by reducing the problem to maximum flow with multiple sources and sinks 4 Algorithms for arbitrary graphs editThe blossom algorithm finds a maximum cardinality matching in general not necessarily bipartite graphs It runs in time O V 2 E displaystyle O V 2 cdot E nbsp A better performance of O V E for general graphs matching the performance of the Hopcroft Karp algorithm on bipartite graphs can be achieved with the much more complicated algorithm of Micali and Vazirani 5 The same bound was achieved by an algorithm by Blum de 6 and an algorithm by Gabow and Tarjan 7 An alternative approach uses randomization and is based on the fast matrix multiplication algorithm This gives a randomized algorithm for general graphs with complexity O V 2 376 displaystyle O V 2 376 nbsp 8 This is better in theory for sufficiently dense graphs but in practice the algorithm is slower 2 Other algorithms for the task are reviewed by Duan and Pettie 9 see Table I In terms of approximation algorithms they also point out that the blossom algorithm and the algorithms by Micali and Vazirani can be seen as approximation algorithms running in linear time for any fixed error bound Applications and generalizations editBy finding a maximum cardinality matching it is possible to decide whether there exists a perfect matching The problem of finding a matching with maximum weight in a weighted graph is called the maximum weight matching problem and its restriction to bipartite graphs is called the assignment problem If each vertex can be matched to several vertices at once then this is a generalized assignment problem A priority matching is a particular maximum cardinality matching in which prioritized vertices are matched first The problem of finding a maximum cardinality matching in hypergraphs is NP complete even for 3 uniform hypergraphs 10 References edit West Douglas Brent 1999 Introduction to Graph Theory 2nd ed Prentice Hall Chapter 3 ISBN 0 13 014400 2 a b c Chandran Bala G Hochbaum Dorit S 2011 Practical and theoretical improvements for bipartite matching using the pseudoflow algorithm arXiv 1105 1569 Bibcode 2011arXiv1105 1569C the theoretically efficient algorithms listed above tend to perform poorly in practice Madry A 2013 Navigating Central Path with Electrical Flows From Flows to Matchings and Back Foundations of Computer Science FOCS 2013 IEEE 54th Annual Symposium on pp 253 262 arXiv 1307 2205 Bibcode 2013arXiv1307 2205M Borradaile Glencora Klein Philip N Mozes Shay Nussbaum Yahav Wulff Nilsen Christian 2017 Multiple source multiple sink maximum flow in directed planar graphs in near linear time SIAM Journal on Computing 46 4 1280 1303 arXiv 1105 2228 doi 10 1137 15M1042929 MR 3681377 S2CID 207071917 Micali S Vazirani V V 1980 An O V E displaystyle scriptstyle O sqrt V cdot E nbsp algorithm for finding maximum matching in general graphs Proc 21st IEEE Symp Foundations of Computer Science pp 17 27 doi 10 1109 SFCS 1980 12 S2CID 27467816 Blum Norbert 1990 A new approach to maximum matching in general graphs PDF in Paterson Mike ed Automata Languages and Programming 17th International Colloquium ICALP90 Warwick University England UK July 16 20 1990 Proceedings Lecture Notes in Computer Science vol 443 Springer pp 586 597 doi 10 1007 BFb0032060 Gabow Harold N Tarjan Robert E 1991 10 01 Faster scaling algorithms for general graph matching problems PDF Journal of the ACM 38 4 815 853 doi 10 1145 115234 115366 S2CID 18350108 Mucha M Sankowski P 2004 Maximum Matchings via Gaussian Elimination PDF Proc 45th IEEE Symp Foundations of Computer Science pp 248 255 Duan Ran Pettie Seth 2014 01 01 Linear Time Approximation for Maximum Weight Matching PDF Journal of the ACM 61 1 23 doi 10 1145 2529989 S2CID 207208641 Karp Richard M 1972 Miller Raymond E Thatcher James W Bohlinger Jean D eds Reducibility among Combinatorial Problems Complexity of Computer Computations Proceedings of a symposium on the Complexity of Computer Computations held March 20 22 1972 at the IBM Thomas J Watson Research Center Yorktown Heights New York and sponsored by the Office of Naval Research Mathematics Program IBM World Trade Corporation and the IBM Research Mathematical Sciences Department The IBM Research Symposia Series Boston MA Springer US pp 85 103 doi 10 1007 978 1 4684 2001 2 9 ISBN 978 1 4684 2001 2 Retrieved from https en wikipedia org w index php title Maximum cardinality matching amp oldid 1221656722, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.