89

Popular Matchings with Multiple Partners

Abstract

Our input is a bipartite graph G=(RH,E)G = (R \cup H,E) where each vertex in RHR \cup H has a preference list strictly ranking its neighbors. The vertices in RR (similarly, in HH) are called residents (resp., hospitals): each resident seeks to be matched to a hospital while each hospital hh seeks cap(h)1\mathsf{cap}(h) \ge 1 many residents to be matched to it. The Gale-Shapley algorithm computes a stable matching in GG in linear time. We consider the problem of computing a popular matching in GG - a matching MM is popular if MM cannot lose an election to any other matching where vertices cast votes for one matching versus another. Our main contribution is to show that a max-size popular matching in GG can be computed by the 2-level Gale-Shapley algorithm in linear time. This is a simple extension of the classical Gale-Shapley algorithm and we prove its correctness via linear programming.

View on arXiv
Comments on this paper