Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.

Slides:



Advertisements
Similar presentations
1 Almost stable matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University Péter Biró Department of Computer.
Advertisements

Stable Matching Problems with Constant Length Preference Lists Rob Irving, David Manlove, Gregg OMalley University Of Glasgow Department of Computing Science.
1 Student-Project Allocation with Preferences over Projects David Manlove Gregg OMalley University of Glasgow Department of Computing Science Supported.
1 Almost stable matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University, USA Péter Biró Department of Computer.
1 Student-Project Allocation with Preferences over Projects David Manlove University of Glasgow Department of Computing Science Joint work with Gregg OMalley.
Strong Stability in the Hospitals/Residents Problem
Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Min-Max Relations, Hall’s Theorem, and Matching-Algorithms Graphs & Algorithms Lecture 5 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Label Placement and graph drawing Imo Lieberwerth.
Joint work with Rob Irving
Algorithms and Networks
Breadth-First Search of Graphs Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
The Maximum Network Flow Problem. CSE Network Flows.
Lectures on Network Flows
An Experimental Test of House Matching Algorithms Onur Kesten Carnegie Mellon University Pablo Guillen University of Sydney.
Yangjun Chen 1 Bipartite Graphs What is a bipartite graph? Properties of bipartite graphs Matching and maximum matching - alternative paths - augmenting.
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
Popular Matching David Abraham Carnegie Mellon University Kavitha Telikepalli Max-Planck-Institut für Informatik Kurt Mehlhorn Rob Irving University of.
Yangjun Chen 1 Bipartite Graph 1.A graph G is bipartite if the node set V can be partitioned into two sets V 1 and V 2 in such a way that no nodes from.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Strong Stability in the Hospitals/Residents Problem Robert W. Irving, David F. Manlove and Sandy Scott University of Glasgow Department of Computing Science.
Summer School on Matching Problems, Markets and Mechanisms David Manlove.
Computational complexity of competitive equilibria in exchange markets Katarína Cechlárová P. J. Šafárik University Košice, Slovakia Budapest, Summer school,
Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Dispelling an Old Myth about an Ancient Algorithm.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Lecture 12-2: Introduction to Computer Algorithms beyond Search & Sort.
L3 #1 The Hospitals / Residents Problem and Some Extensions David Manlove University of Glasgow Department of Computing Science Supported by EPSRC grant.
Lecture 16 Maximum Matching. Incremental Method Transform from a feasible solution to another feasible solution to increase (or decrease) the value of.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
August 16, 2010 MPREF’10 Dynamic House Allocation Sujit Gujar 1, James Zou 2 and David C. Parkes 2 5 th Multidisciplinary Workshop on Advances in Preference.
 Rooted tree and binary tree  Theorem 5.19: A full binary tree with t leaves contains i=t-1 internal vertices.
Matching Algorithms and Networks. Algorithms and Networks: Matching2 This lecture Matching: problem statement and applications Bipartite matching Matching.
Algorithms for Student-Project Allocation
Bipartite Matching. Unweighted Bipartite Matching.
The Stable Marriage Problem
Matching Algorithms and Networks. Algorithms and Networks: Matching2 This lecture Matching: problem statement and applications Bipartite matching Matching.
Assignments and matchings Chapter 12 Presented by Yorai Geffen.
Network Flows Chun-Ta, Yu Graduate Institute Information Management Dept. National Taiwan University.
1 “Almost stable” matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University, USA Péter Biró Department of.
Minimum Bottleneck Spanning Trees (MBST)
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
Introduction to Graph Theory
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering,
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string.
IOI/ACM ICPC Training 4 June 2005.
The Maximum Network Flow Problem
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Bipartite Graphs What is a bipartite graph?
Algorithms and Networks
Maximum Flow - Best algorithms
Lectures on Network Flows
Chapter 5. Optimal Matchings
Lecture 16 Maximum Matching
Instructor: Shengyu Zhang
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
“Almost stable” matchings in the Roommates problem
Elementary Graph Algorithms
Problem Solving 4.
Popularity in the Capacitated House Allocation Problem
Bipartite Graph 1. A graph G is bipartite if the node set V can be partitioned into two sets V1 and V2 in such a way that no nodes from the same set are.
Rank Maximal Matching By Robert W. Irving, Telikepalli Kavitha,
離散數學 DISCRETE and COMBINATORIAL MATHEMATICS
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Presentation transcript:

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 Matchings in the underlying graph A matching M in G is a subset of E such that each vertex of G is incident to at most one edge of M Each agent is assigned to at most one house Each house is assigned at most one agent An agent is only ever assigned to an acceptable house 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 A matching M in G is a subset of E such that each vertex of G is incident to at most one edge of M Each agent is assigned to at most one house Each house is assigned at most one agent An agent is only ever assigned to an acceptable house 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 )} Matchings in the underlying graph

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 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

26 Conclusions 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? Further details D.J. Abraham, K. Cechlárová, D.F. Manlove and K. Mehlhorn, Pareto Optimality in House Allocation Problems, In Proceedings of ISAAC 2004, vol 3341 of Lecture Notes in Computer Science