Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department Carnegie-Mellon University Katarína Cechlárová Institute of Mathematics PJ Safárik University in Košice Kurt Mehlhorn Max-Planck-Institut fűr Informatik Saarbrűcken Supported by Royal Society of Edinburgh/Scottish Executive Personal Research Fellowship and Engineering and Physical Sciences Research Council grant GR/R84597/01
2 House Allocation problem (HA) Set of agents A={a 1, a 2, …, a r } Set of houses H={h 1, h 2, …, h s } Each agent a i has an acceptable set of houses A i H a i ranks A i in strict order of preference Example: a 1 : h 2 h 1 a 2 : h 3 h 4 h 2 a 3 : h 4 h 3 a 4 : h 1 h 4 Let n = r + s and let m =total length of preference lists a 1 finds h 1 and h 2 acceptable a 3 prefers h 4 to h 3
3 Applications House allocation context: Large-scale residence exchange in Chinese housing markets Yuan, 1996 Allocation of campus housing in American universities, such as Carnegie-Mellon, Rochester and Stanford Abdulkadiroğlu and Sönmez, 1998 Other matching problems: US Naval Academy: students to naval officer positions Roth and Sotomayor, 1990 Scottish Executive Teacher Induction Scheme Assigning students to projects
4 The underlying graph Weighted bipartite graph G=(V,E) Vertex set V=A H Edge set: { a i, h j } E if and only if a i finds h j acceptable Weight of edge { a i, h j } is rank of h j in a i ’s preference list Example a 1 : h 2 h 1 a 2 : h 3 h 4 h 2 a 3 : h 4 h 3 a 4 : h 1 h 4 a1a1 a2a2 a3a3 a4a4 h1h1 h2h2 h3h3 h4h4
5 The underlying graph Weighted bipartite graph G=(V,E) Vertex set V=A H Edge set: { a i, h j } E if and only if a i finds h j acceptable Weight of edge { a i, h j } is rank of h j in a i ’s preference list Example a 1 : h 2 h 1 a 2 : h 3 h 4 h 2 a 3 : h 4 h 3 a 4 : h 1 h 4 a1a1 a2a2 a3a3 a4a4 h1h1 h2h2 h3h3 h4h4 M={(a 1, h 1 ), (a 2, h 4 ), (a 3, h 3 )} M(a 1 )=h 1
6 The underlying graph Weighted bipartite graph G=(V,E) Vertex set V=A H Edge set: { a i, h j } E if and only if a i finds h j acceptable Weight of edge { a i, h j } is rank of h j in a i ’s preference list Example a 1 : h 2 h 1 a 2 : h 3 h 4 h 2 a 3 : h 4 h 3 a 4 : h 1 h 4 a1a1 a2a2 a3a3 a4a4 h1h1 h2h2 h3h3 h4h4 M={(a 1, h 2 ), (a 2, h 3 ), (a 3, h 4 ), (a 4, h 1 )}
7 Pareto optimal matchings A matching M 1 is Pareto optimal if there is no matching M 2 such that: 1. Some agent is better off in M 2 than in M 1 2. No agent is worse off in M 2 than in M 1 Example M 1 is not Pareto optimal since a 1 and a 2 could swap houses – each would be better off M 2 is Pareto optimal a 1 : h 2 h 1 a 2 : h 1 h 2 a 3 : h 3 a 1 : h 2 h 1 a 2 : h 1 h 2 a 3 : h 3 M1M1 M2M2
8 Testing for Pareto optimality A matching M is maximal if there is no agent a and house h, each unmatched in M, such that a finds h acceptable A matching M is trade-in-free if there is no matched agent a and unmatched house h such that a prefers h to M(a) A matching M is coalition-free if there is no coalition, i.e. a sequence of matched agents a 0,a 1,…,a r-1 such that a i prefers M(a i ) to M(a i+1 ) (0 i r-1) a 1 : h 2 h 1 a 2 : h 3 h 4 h 2 a 3 : h 4 h 3 a 4 : h 1 h 4 Proposition: M is Pareto optimal if and only if M is maximal, trade-in-free and coalition-free M is not maximal due to a 3 and h 3
9 Testing for Pareto optimality A matching M is maximal if there is no agent a and house h, each unmatched in M, such that a finds h acceptable A matching M is trade-in-free if there is no matched agent a and unmatched house h such that a prefers h to M(a) A matching M is coalition-free if there is no coalition, i.e. a sequence of matched agents a 0,a 1,…,a r-1 such that a i prefers M(a i ) to M(a i+1 ) (0 i r-1) a 1 : h 2 h 1 a 2 : h 3 h 4 h 2 a 3 : h 4 h 3 a 4 : h 1 h 4 Proposition: M is Pareto optimal if and only if M is maximal, trade-in-free and coalition-free M is not trade-in-free due to a 2 and h 3
10 Testing for Pareto optimality A matching M is maximal if there is no agent a and house h, each unmatched in M, such that a finds h acceptable A matching M is trade-in-free if there is no matched agent a and unmatched house h such that a prefers h to M(a) A matching M is coalition-free if there is no coalition, i.e. a sequence of matched agents a 0,a 1,…,a r-1 such that a i prefers M(a i+1 ) to M(a i ) (0 i r-1) a 1 : h 2 h 1 a 2 : h 3 h 4 h 2 a 3 : h 4 h 3 a 4 : h 1 h 4 Proposition: M is Pareto optimal if and only if M is maximal, trade-in-free and coalition-free M is not coalition-free due to a 1, a 2, a 4 a1a1 a3a3 a4a4 h1h1 h3h3 h4h4 a2a2 h2h2
11 Testing for Pareto optimality A matching M is maximal if there is no agent a and house h, each unmatched in M, such that a finds h acceptable A matching M is trade-in-free if there is no matched agent a and unmatched house h such that a prefers h to M(a) A matching M is coalition-free if there is no coalition, i.e. a sequence of matched agents a 0,a 1,…,a r-1 such that a i prefers M(a i+1 ) to M(a i ) (0 i r-1) Lemma: M is Pareto optimal if and only if M is maximal, trade-in-free and coalition-free Theorem: we may check whether a given matching M is Pareto optimal in O(m ) time
12 Finding a Pareto optimal matching Simple greedy algorithm, referred to as the serial dictatorship mechanism by economists for each agent a in turn if a has an unmatched house on his list match a to the most-preferred such house; else report a as unmatched; Theorem: The serial dictatorship mechanism constructs a Pareto optimal matching in O(m ) time Abdulkadiroğlu and Sönmez, 1998 Example a 1 : h 1 h 2 h 3 a 2 : h 1 h 2 a 3 : h 1 h 2 a 1 : h 1 h 2 h 3 a 2 : h 1 h 2 a 3 : h 1 h 2 M 1 ={(a 1,h 1 ), (a 2,h 2 )} M 2 ={(a 1,h 3 ), (a 2,h 2 ), (a 3,h 1 )}
13 Related work Rank maximal matchings Matching M is rank maximal if, in M 1. Maximum number of agents obtain their first-choice house; 2. Subject to (1), maximum number of agents obtain their second-choice house; etc. Irving, Kavitha, Mehlhorn, Michail, Paluch, SODA 04 A rank maximal matching is Pareto optimal, but need not be of maximum size Popular matchings Matching M is popular if there is no other matching M ’ such that: more agents prefer M ’ to M than prefer M to M ’ Abraham, Irving, Kavitha, Mehlhorn, SODA 05 A popular matching is Pareto optimal, but need not exist Maximum cardinality minimum weight matchings Such a matching M may be found in G in O( nmlog n) time Gabow and Tarjan, 1989 M is a maximum Pareto optimal matching
14 Faster algorithm for finding a maximum Pareto optimal matching Three-phase algorithm with O( nm) overall complexity Phase 1 – O( nm) time Find a maximum matching in G Classical O( nm) augmenting path algorithm Hopcroft and Karp, 1973 Phase 2 – O(m) time Enforce trade-in-free property Phase 3 – O(m) time Enforce coalition-free property Extension of Gale’s Top-Trading Cycles (TTC) algorithm Shapley and Scarf, 1974
15 Phase 1 a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9 Maximum matching M in G has size 8 M must be maximal No guarantee that M is trade-in-free or coalition-free
16 Phase 1 a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9 Maximum matching M in G has size 9 M must be maximal No guarantee that M is trade-in-free or coalition-free
17 Phase 1 a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9 Maximum matching M in G has size 9 M must be maximal No guarantee that M is trade-in-free or coalition-free M not coalition-free M not trade-in-free
18 Phase 2 outline Repeatedly search for a matched agent a and an unmatched house h such that a prefers h to h ’= M(a) Promote a to h h ’ is now unmatched Example a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9
19 Phase 2 outline Repeatedly search for a matched agent a and an unmatched house h such that a prefers h to h ’= M(a) Promote a to h h ’ is now unmatched Example a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9
20 Phase 2 outline Repeatedly search for a matched agent a and an unmatched house h such that a prefers h to h ’= M(a) Promote a to h h ’ is now unmatched Example a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9
21 Phase 2 outline Repeatedly search for a matched agent a and an unmatched house h such that a prefers h to h ’= M(a) Promote a to h h ’ is now unmatched Example a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9
22 Phase 2 termination Once Phase 2 terminates, matching is trade-in-free With suitable data structures, Phase 2 is O(m) Coalitions may remain… a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9
23 Build a path P of agents (represented by a stack) Each house is initially unlabelled Each agent a has a pointer p(a) pointing to M(a) or the first unlabelled house on a ’s preference list (whichever comes first) Keep a counter c(a) for each agent a (initially c(a)=0 ) This represents the number of times a appears on the stack Outer loop iterates over each matched agent a such that p(a) M(a) Initialise P to contain agent a Inner loop iterates while P is nonempty Pop an agent a ’ from P If c(a ’ )=2 we have a coalition (CYCLE) Remove by popping the stack and label the houses involved Else if p(a ’ )=M(a ’ ) we reach a dead end (BACKTRACK) Label M(a ’ ) Else add a ’’ where p(a ’ )=M(a ’’ ) to the path (EXTEND) Push a ’ and a ’’ onto the stack Increment c(a ’’ ) Phase 3 outline
24 Once Phase 3 terminates, matching is coalition-free Phase 3 termination a 1 : h 4 h 5 h 3 h 2 h 1 a 2 : h 3 h 4 h 5 h 9 h 1 h 2 a 3 : h 5 h 4 h 1 h 2 h 3 a 4 : h 3 h 5 h 4 a 5 : h 4 h 3 h 5 a 6 : h 2 h 3 h 5 h 8 h 6 h 7 h 1 h 11 h 4 h 10 a 7 : h 1 h 4 h 3 h 6 h 7 h 2 h 10 h 5 h 11 a 8 : h 1 h 5 h 4 h 3 h 7 h 6 h 8 a 9 : h 4 h 3 h 5 h 9 Phase 3 is O(m) Theorem: A maximum Pareto optimal matching can be found in O( nm) time
25 Initial property rights Suppose A ’ A and each member of A ’ owns a house initially For each agent a A ’, denote this house by h(a) Truncate a ’s list at h(a) Form matching M by pre-assigning a to h(a) Use Hopcroft-Karp algorithm to augment M to a maximum cardinality matching M ’ in restricted HA instance Then proceed with Phases 2 and 3 as before Constructed matching M ’ is individually rational If A ’= A then we have a housing market TTC algorithm finds the unique matching that belongs to the core Shapley and Scarf, 1974 Roth and Postlewaite, 1977
26 Minimum Pareto optimal matchings Theorem: Problem of finding a minimum Pareto optimal matching is NP-hard Result holds even if all preference lists have length 3 Reduction from Minimum Maximal Matching Problem is approximable within a factor of 2 Follows since any Pareto optimal matching is a maximal matching in the underlying graph G Any two maximal matchings differ in size by at most a factor of 2 Korte and Hausmann, 1978
27 Interpolation of Pareto optimal matchings Given an HA instance I, p - (I) and p + (I) denote the sizes of a minimum and maximum Pareto optimal matching Theorem: I admits a Pareto optimal matching of size k, for each k such that p - (I) k p + (I) Given a Pareto optimal matching of size k, O ( m ) algorithm constructs a Pareto optimal matching of size k+1 or reports that k = p + (I) Based on assigning a vector r 1, …, r k to an augmenting path P = a 1, h 1, …, a k, h k where r i =rank a i (h i ) Examples: 1,3,2 1,2,2 Find a lexicographically smallest augmenting path h1h1 h2h2 h3h3 h4h h5h5 a1a1 a2a2 a3a3 a4a
28 Open problems Finding a maximum Pareto optimal matching Ties in the preference lists Solvable in O( nmlog n) time Solvable in O( nm) time? One-many case (houses may have capacity >1 ) Non-bipartite case Solvable in O( (n (m, n))mlog 3/2 n) time D.J. Abraham, D.F. Manlove Pareto optimality in the Roommates problem Technical Report TR of the Computing Science Department of Glasgow University Solvable in O( nm) time?