Abstract
Let \(G = (A \cup B, E)\) be a bipartite graph, where every vertex ranks its neighbors in an order of preference (with ties allowed) and let \(r\) be the worst rank used. A matching \(M\) is fair in \(G\) if it has maximum cardinality, subject to this, \(M\) matches the minimum number of vertices to rank \(r\) neighbors, subject to that, \(M\) matches the minimum number of vertices to rank \((r-1)\) neighbors, and so on. We show an efficient combinatorial algorithm based on LP duality to compute a fair matching in \(G\). We also show a scaling based algorithm for the fair b-matching problem. Our two algorithms can be extended to solve other profile-based matching problems. In designing our combinatorial algorithm, we show how to solve a generalized version of the minimum weighted vertex cover problem in bipartite graphs, using a single-source shortest paths computation—this can be of independent interest.
Similar content being viewed by others
Notes
We note that one can easily compute the value of \(r^*\) in \(\tilde{O}(r^{*}m\sqrt{n})\) or in \(\tilde{O}(r^{*}n^{\omega })\) time with high probability (see Sect. 2.2 for details). Thus the brute-force reduction to weighted matching can be improved to have running times of \(O(r^*mn)\) or \(\tilde{O}((r^*)^2 m\sqrt{n})\).
Sng used the term “generous maximum matching”.
Irving originally called it the “greedy matching” problem.
Let \(\pi \) be the potential function and let \(C\) be any directed cycle in the residual graph to the 1-optimal flow. Then \(\sum _{e \in C} c_e = \sum _{e \in C} c^{\pi }_e \ge n \cdot (-1)\). Since edge costs are multiples of \(2^{1 + \lceil \log n \rceil }\), the sums must be nonnegative and hence there is no negative cost cycle in the residual graph. This implies optimality.
References
Huang, C.-C., Kavitha, T.: Weight-maximal matchings. In: Proceedings of the the 2nd International Workshop on Matching under Preferences, July (2012)
Mehlhorn, K., Michail, D.: Network Problems with Non-Polynomial Weights and Applications. www.mpi-sb.mpg.de/mehlhorn/ftp/HugeWeights.ps
Gale, D., Shapley, L.S.: College admissions and the stability of marriage. Am. Math. Mon. 69, 9–15 (1962)
Orlin, J.B., Ahuja, R.K.: New scaling algorithms for the assignment and minimum mean cycle problems. Math. Program. 54(1), 41–56 (1992)
Duan, R., Su, H.-H.: A scaling algorithm for maximum weight matchings in bipartite graphs. In: Proccedings of the 23rd SODA, pp. 1413–1424 (2012)
Fredman, M.L., Tarjan, R.E.: Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 34(3), 596–615 (1987)
Gabow, H., Tarjan, R.: Faster scaling algorithms for network problems. SIAM J. Comput. 18, 1013–1036 (1989)
Iri, M.: A new method of solving transportation-network problems. J. Oper. Res. Soc. Jpn. 3, 27–87 (1960)
Goldberg, A.V., Tarjan, R.E.: Finding minimum-cost circulations by successive approximation. Math. Oper. Res. 15, 430–466 (1990)
Sng, C.: Efficient Algorithms for bipartite matching problems with preferences Ph.D. thesis, University of Glasgow, (2008)
Irving, R.W.: Greedy Matchings. University of Glasgow, Computing Science Department Research Report, TR-2003-136, (2003)
Irving, R.W., Kavitha, T., Mehlhorn, K., Michail, D., Paluch, K.E.: Rank-maximal matchings. ACM Trans. Algorithms 2(4), 602–610 (2006)
Kavitha, T., Shah, C.D.: Efficient algorithms for weighted rank-maximal matchings and related problems. In: Proceedings of the 17th ISAAC, pp. 153–162 (2006)
Michail, D.: Reducing rank-maximal to maximum weight matching. Theor. Comput. Sci. 389(1–2), 125–132 (2007)
Paluch, K.: Capacitated rank-maximal matchings. In Proceedings of the 8th CIAC, pp. 324–335 (2013)
Goldberg, A.V.: Scaling algorithms for the shortest paths problem. SIAM J. Comput. 24(3), 494–504 (1995)
Sankowski, P.: Shortest paths in matrix multiplication time. In: Proceedings of the 13th ESA, pp. 770–778 (2005)
Sankowski, P.: Maximum weight bipartite matching in matrix multiplication time. Theor. Comput. Sci. 410, 4480–4488 (2009)
Yuster, R., Zwick, U.: Answering distance queries in directed graphs using fast matrix multiplication. In: Proceedings of the 46th FOCS, pp. 90–100 (2005)
Hopcroft, J., Karp, R.: An \(n^{5/2}\) algorithm for maximum matchings in bipartite graphs. SIAM J. Comput. 2, 225–231 (1973)
Harvey, N.J.A.: Algebraic structures and algorithms for matching and matroid problems. SIAM J. Comput. 39(2), 679–702 (2009)
Mucha, M., Sankowski, P.: Maximum matchings via gaussian elimination. In: Proceedings of the 45th FOCS, pp. 248–255 (2004)
Ahuja, R.K., Magnanti, T.L., Orlin, J.B.: Network Flows: Theory, Algorithms, and Applications. Prentice Hall, USA (1993)
Goldberg, A.V., Tardos, E., Tarjan, R.E.: Network flow algorithms. In: Paths, Flows and VLSI-Design, pp. 101–164. Springer, Berlin (1990)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Huang, CC., Kavitha, T., Mehlhorn, K. et al. Fair Matchings and Related Problems. Algorithmica 74, 1184–1203 (2016). https://doi.org/10.1007/s00453-015-9994-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-015-9994-9