Pareto Optimality in House Allocation Problems - PowerPoint PPT Presentation

About This Presentation
Title:

Pareto Optimality in House Allocation Problems

Description:

PJ Saf rik University in Ko ice. Kurt Mehlhorn. Max-Planck-Institut fur Informatik. Saarbrucken ... Weighted bipartite graph G=(V,E) Vertex set V=A ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 29
Provided by: dcsG6
Category:

less

Transcript and Presenter's Notes

Title: Pareto Optimality in House Allocation Problems


1
Pareto Optimality in House Allocation Problems
David Abraham Computer Science Department Carnegie
-Mellon University
Katarína Cechlárová Institute of Mathematics PJ
Safárik University in Košice
  • David Manlove
  • Department of Computing Science
  • University of Glasgow

Kurt Mehlhorn Max-Planck-Institut fur
Informatik Saarbrucken
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 Aa1, a2, , ar
  • Set of houses Hh1, 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 nrs and let mtotal length of preference
    lists

a1 finds h1 and h2 acceptable
a3 prefers h4 to h3
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
  • Abdulkadiroglu 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 VA?H
  • Edge set ai, hj ?E if and only if ai finds
    hj acceptable
  • Weight of edge ai, hj is rank of hj in ais
    preference list
  • Example
  • a1 h2 h1
  • a2 h3 h4 h2
  • a3 h4 h3
  • a4 h1 h4

a1
?
h1
2
1
a2
h2
?
3
1
a3
2
h3
?
2
1
1
a4
h4
?
2
5
The underlying graph
  • Weighted bipartite graph G(V,E)
  • Vertex set VA?H
  • Edge set ai, hj ?E if and only if ai finds
    hj acceptable
  • Weight of edge ai, hj is rank of hj in ais
    preference list
  • Example
  • a1 h2 h1
  • a2 h3 h4 h2
  • a3 h4 h3
  • a4 h1 h4

a1
?
h1
2
M(a1)h1
1
a2
h2
?
3
1
a3
2
h3
?
2
1
1
M(a1, h1), (a2, h4), (a3, h3)
a4
h4
?
2
6
The underlying graph
  • Weighted bipartite graph G(V,E)
  • Vertex set VA?H
  • Edge set ai, hj ?E if and only if ai finds
    hj acceptable
  • Weight of edge ai, hj is rank of hj in ais
    preference list
  • Example
  • a1 h2 h1
  • a2 h3 h4 h2
  • a3 h4 h3
  • a4 h1 h4

a1
?
h1
2
1
a2
h2
?
3
1
a3
2
h3
?
2
1
1
M(a1, h2), (a2, h3), (a3, h4), (a4, h1)
a4
h4
?
2
7
Pareto optimal matchings
  • A matching M1 is Pareto optimal if there is no
    matching M2 such that
  • Some agent is better off in M2 than in M1
  • 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
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(ai1) (0?i?r-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
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(ai1) (0?i?r-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
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(ai1) to
    M(ai) (0?i?r-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

a1
h1
M is not coalition-free due to ?a1, a2, a4?
a2
h2
a3
h3
a4
h4
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(ai1) 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

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
  • Abdulkadiroglu and Sönmez, 1998
  • Example
  • a1 h1 h2 h3
  • a2 h1 h2
  • a3 h1 h2

M1(a1,h1), (a2,h2)
  • a1 h1 h2 h3
  • a2 h1 h2
  • a3 h1 h2

M2(a1,h3), (a2,h2), (a3,h1)
13
Related work
  • Rank maximal matchings
  • Matching M is rank maximal if, in M
  • Maximum number of agents obtain their
    first-choice house
  • 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 Gales Top-Trading Cycles (TTC)
    algorithm
  • Shapley and Scarf, 1974

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

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

17
Phase 1
M not coalition-free
  • 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 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
    hM(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

19
Phase 2 outline
  • Repeatedly search for a matched agent a and an
    unmatched house h such that a prefers h to
    hM(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

20
Phase 2 outline
  • Repeatedly search for a matched agent a and an
    unmatched house h such that a prefers h to
    hM(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

21
Phase 2 outline
  • Repeatedly search for a matched agent a and an
    unmatched house h such that a prefers h to
    hM(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

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

23
Phase 3 outline
  • 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 as 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)

24
Phase 3 termination
  • Once Phase 3 terminates, matching is
    coalition-free
  • 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

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 as 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 AA 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 k1 or reports that kp(I)
  • Based on assigning a vector ?r1, , rk? to an
    augmenting path P?a1, h1, ,
    ak, hk? where
    rirankai(hi)
  • Examples ?1,3,2?
    ?1,2,2?
  • Find a lexicographically smallest augmenting path

1
h1
a1
1
a2
h2
2
3
1
h3
a3
2
1
h4
a4
2
h5
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 gt1)
  • Non-bipartite case
  • Solvable in O(?(n?(m, n))mlog3/2 n) time
  • D.J. Abraham, D.F. Manlove
  • Pareto optimality in the Roommates problem
  • Technical Report TR-2004-182 of the Computing
    Science Department of Glasgow University
  • Solvable in O(?nm) time?
Write a Comment
User Comments (0)
About PowerShow.com