87
v1v2 (latest)

Popular Matchings with Multiple Partners

Abstract

Our input is a bipartite graph G=(AB,E)G = (A \cup B,E) where each vertex in ABA \cup B has a preference list strictly ranking its neighbors. The vertices in AA and in BB are called students and courses, respectively. Each student aa seeks to be matched to cap(a)1\mathsf{cap}(a) \ge 1 courses while each course bb seeks cap(b)1\mathsf{cap}(b) \ge 1 many students to be matched to it. The Gale-Shapley algorithm computes a pairwise-stable matching (one with no blocking edge) 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 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 an extension of the classical Gale-Shapley algorithm and we prove its correctness via linear programming.

View on arXiv
Comments on this paper