Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science...

26
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 ted by Royal Society of Edinburgh/Scottish Executive Personal Research Fello and Engineering and Physical Sciences Research Council grant GR/R84597/01

Transcript of Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science...

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

Pareto Optimality in House Allocation

Problems

David ManloveDepartment of Computing ScienceUniversity of Glasgow

David AbrahamComputer Science DepartmentCarnegie-Mellon University

Katarína CechlárováInstitute of MathematicsPJ Safárik University in Košice

Kurt MehlhornMax-Planck-Institut fűr InformatikSaarbrűcken

Supported by Royal Society of Edinburgh/Scottish Executive Personal Research Fellowshipand Engineering and Physical Sciences Research Council grant GR/R84597/01

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

2

House Allocation problem (HA)

Set of agents A={a1, a2, …, ar} Set of houses H={h1, h2, …, hs}

Each agent ai has an acceptable set of houses Ai H ai ranks Ai in strict order of preference

Example: a1 : h2 h1

a2 : h3 h4 h2

a3 : h4 h3

a4 : h1 h4

Let n=r+s and let m=total length of preference lists

a1 finds h1 and h2 acceptable

a3 prefers h4 to h3

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

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

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

4

The underlying graph

Weighted bipartite graph G=(V,E) Vertex set V=AH Edge set: { ai, hj } E if and only if ai finds hj acceptable Weight of edge { ai, hj } is rank of hj in ai’s preference list

Example a1 : h2 h1

a2 : h3 h4 h2

a3 : h4 h3

a4 : h1 h4

a1

a2

a3

a4

h1

h2

h3

h4

2

1

1

2

3

2

11

2

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

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 a1 : h2 h1

a2 : h3 h4 h2

a3 : h4 h3

a4 : h1 h4

a1

a2

a3

a4

h1

h2

h3

h4

2

1

1

2

3

2

11

2M={(a1, h1), (a2, h4), (a3, h3)}

M(a1)=h1

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

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 a1 : h2 h1

a2 : h3 h4 h2

a3 : h4 h3

a4 : h1 h4

a1

a2

a3

a4

h1

h2

h3

h4

2

1

1

2

3

2

11

2M={(a1, h2), (a2, h3), (a3, h4), (a4, h1)}

Matchings in the underlying graph

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

7

Pareto optimal matchings

A matching M1 is Pareto optimal if there is no matching M2 such that:

1. Some agent is better off in M2 than in M1

2. No agent is worse off in M2 than in M1

Example

M1 is not Pareto optimal since a1 and a2 could swap houses – each would be better off

M2 is Pareto optimal

a1 : h2 h1

a2 : h1 h2

a3 : h3

a1 : h2 h1

a2 : h1 h2

a3 : h3

M1

M2

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

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 a0 ,a1 ,…,ar-1 such that ai prefers M(ai) to M(ai+1) (0ir-1)

a1 : h2 h1

a2 : h3 h4 h2

a3 : h4 h3

a4 : h1 h4

Proposition: M is Pareto optimal if and only if M is maximal, trade-in-free and coalition-free

M is not maximal due to a3 and h3

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

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 a0 ,a1 ,…,ar-1 such that ai prefers M(ai) to M(ai+1) (0ir-1)

a1 : h2 h1

a2 : h3 h4 h2

a3 : h4 h3

a4 : h1 h4

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 a2 and h3

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

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 a0 ,a1 ,…,ar-1 such that ai prefers M(ai+1) to M(ai) (0ir-1)

a1 : h2 h1

a2 : h3 h4 h2

a3 : h4 h3

a4 : h1 h4

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 a1, a2, a4

a1

a3

a4

h1

h3

h4

a2 h2

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

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 a0 ,a1 ,…,ar-1 such that ai prefers M(ai+1) to M(ai) (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

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

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 a1 : h1 h2 h3 a2 : h1 h2 a3 : h1 h2

a1 : h1 h2 h3

a2 : h1 h2

a3 : h1 h2

M1={(a1,h1), (a2,h2)}

M2={(a1,h3), (a2,h2), (a3,h1)}

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

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

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

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

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

15

Phase 1

a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

Maximum matching M in G has size 8 M must be maximal No guarantee that M is trade-in-free or coalition-free

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

16

Phase 1

a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

Maximum matching M in G has size 9 M must be maximal No guarantee that M is trade-in-free or coalition-free

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

17

Phase 1

a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

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

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

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 a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

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

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 a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

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

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 a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

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

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 a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

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

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…

a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

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

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

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

24

Once Phase 3 terminates, matching is coalition-free

Phase 3 termination

a1 : h4 h5 h3 h2 h1

a2 : h3 h4 h5 h9 h1 h2

a3 : h5 h4 h1 h2 h3

a4 : h3 h5 h4

a5 : h4 h3 h5

a6 : h2 h3 h5 h8 h6 h7 h1 h11 h4 h10

a7 : h1 h4 h3 h6 h7 h2 h10 h5 h11

a8 : h1 h5 h4 h3 h7 h6 h8

a9 : h4 h3 h5 h9

Phase 3 is O(m) Theorem: A maximum Pareto optimal matching

can be found in O(nm) time

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

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

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

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))mlog3/2 n) time D.J. Abraham, D.F. Manlove

Pareto optimality in the Roommates problemTechnical Report TR-2004-182 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