Rank-maximal matchings

  • Authors:
  • Robert W. Irving;Telikepalli Kavitha;Kurt Mehlhorn;Dimitrios Michail;Katarzyna Paluch

  • Affiliations:
  • University of Glasgow, UK;Max-Planck-Institut für Informatik, Saarbrücken, Germany;Max-Planck-Institut für Informatik, Saarbrücken, Germany;Max-Planck-Institut für Informatik, Saarbrücken, Germany;University of Wroctaw, Poland

  • Venue:
  • SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Suppose that each member of a set A of applicants ranks a subset of a set P of posts in an order of preference, possibly involving ties. A matching is a set of (applicant, post) pairs such that each applicant and each post appears in at most one pair. A greedy matching is one in which the maximum possible number of applicants are matched to their first choice post, and subject to that condition, the maximum possible number are matched to their second choice post, and so on. This is a relevant concept in any practical matching situation and it was first studied by Irving [8].We define the bipartite graph G = (A U P,ε), where ε consists of all pairs (a, p) such that post p appears in the preference list of applicant a. Each edge (a, p) has a rank i, which means that post p is an ith choice for applicant a. The traditional solution of computing a greedy matching in G would be to use the Hungarian algorithm to compute a maximum weight matching by assigning a suitably steeply decreasing sequence of weights to the edges. This would result in an algorithm with worst case running time rn(m + n log n) and the space requirement Θ(rm), where n is the number of vertices, m is the number of edges and r is the largest rank of an edge.Here, we describe two algorithms to compute a greedy matching that improve upon this algorithm. We give a combinatorial algorithm with running time O(min(n + C,C√n)m), where C ≤ r is the maximal rank of an edge used in a greedy matching. This algorithm works in phases and uses the maximum cardinality matching algorithm. We also give an O(Cnm) algorithm that tackles the problem of large edge weights introduced by the Hungarian algorithm. This algorithm uses scaling and works in phases. The space requirement of both these algorithms is O(m).