Pareto optimality in house allocation problems l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

Pareto Optimality in House Allocation Problems PowerPoint PPT Presentation


  • 148 Views
  • Uploaded on
  • Presentation posted in: General

David Abraham Computer Science Department Carnegie-Mellon University. Pareto Optimality in House Allocation Problems. 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

Download Presentation

Pareto Optimality in House Allocation Problems

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Pareto optimality in house allocation problems l.jpg

David Abraham

Computer Science Department

Carnegie-Mellon University

Pareto Optimality in House Allocation Problems

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


House allocation problem ha l.jpg

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 :h3h4 h2

    • a3 : h4h3

    • a4 : h1h4

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

a1 finds h1 and h2 acceptable

a3 prefers h4 to h3


Applications l.jpg

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


The underlying graph l.jpg

The underlying graph

  • Weighted bipartite graph G=(V,E)

    • Vertex set V=AH

    • Edge set:{ai,hj}E if and only if ai findshjacceptable

    • Weight of edge {ai,hj} is rank of hjinai’spreference list

  • Example

    • a1 : h2 h1

    • a2 :h3h4 h2

    • a3 : h4h3

    • a4 : h1h4

a1

h1

2

1

a2

h2

3

1

a3

2

h3

2

1

1

a4

h4

2


The underlying graph5 l.jpg

The underlying graph

  • Weighted bipartite graph G=(V,E)

    • Vertex set V=AH

    • Edge set:{ai,hj}E if and only if ai findshjacceptable

    • Weight of edge {ai,hj} is rank of hjinai’spreference list

  • Example

    • a1 : h2 h1

    • a2 :h3h4h2

    • a3 : h4h3

    • a4 : h1h4

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


The underlying graph6 l.jpg

The underlying graph

  • Weighted bipartite graph G=(V,E)

    • Vertex set V=AH

    • Edge set:{ai,hj}E if and only if ai findshjacceptable

    • Weight of edge {ai,hj} is rank of hjinai’spreference list

  • Example

    • a1 : h2h1

    • a2 : h3h4 h2

    • a3 : h4h3

    • a4 : h1h4

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


Pareto optimal matchings l.jpg

Pareto optimal matchings

  • A matchingM1 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 :h1h2

  • a3 : h3

  • a1 : h2h1

  • a2 : h1h2

  • a3 : h3

M1

M2


Testing for pareto optimality l.jpg

Testing for Pareto optimality

  • A matchingM 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) toM(ai+1) (0ir-1)

    • a1 : h2 h1

    • a2 :h3h4 h2

    • a3 : h4h3

    • a4 : h1h4

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

Mis not maximal due to a3 and h3


Testing for pareto optimality9 l.jpg

Testing for Pareto optimality

  • A matchingM 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) toM(ai+1) (0ir-1)

    • a1 : h2 h1

    • a2 :h3h4 h2

    • a3 : h4h3

    • a4 : h1h4

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

Mis not trade-in-free due to a2 and h3


Testing for pareto optimality10 l.jpg

Testing for Pareto optimality

  • A matchingM 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) toM(ai) (0ir-1)

    • a1 : h2 h1

    • a2 :h3h4 h2

    • a3 : h4h3

    • a4 : h1h4

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

a1

h1

Mis not coalition-free

due to a1, a2, a4

a2

h2

a3

h3

a4

h4


Testing for pareto optimality11 l.jpg

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) toM(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


Finding a pareto optimal matching l.jpg

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

    • a2 : h1h2

    • a3 : h1h2

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

  • a1 : h1 h2h3

  • a2 : h1h2

  • a3 : h1h2

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


Related work l.jpg

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


Faster algorithm for finding a maximum pareto optimal matching l.jpg

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


Phase 1 l.jpg

Phase 1

  • a1 : h4h5h3h2h1

  • a2 : h3h4h5h9h1h2

  • a3 : h5h4h1h2h3

  • a4 : h3h5h4

  • a5 : h4h3h5

  • a6 : h2h3h5h8h6h7h1h11h4h10

  • a7 : h1h4h3h6h7h2h10h5h11

  • a8 : h1h5h4h3h7h6h8

  • a9 : h4 h3h5h9

  • Maximum matching M in G has size 8

  • M must be maximal

  • No guarantee that M is trade-in-free or coalition-free


  • Phase 116 l.jpg

    Phase 1

    • a1 : h4h5h3h2h1

    • a2 : h3h4h5h9h1h2

    • a3 : h5h4h1h2h3

    • a4 : h3h5h4

    • a5 : h4h3h5

    • a6 : h2h3h5h8h6h7h1h11h4h10

    • a7 : h1h4h3h6h7h2h10h5h11

    • a8 : h1h5h4h3h7h6h8

    • a9 : h4 h3h5h9

  • Maximum matching M in G has size 9

  • M must be maximal

  • No guarantee that M is trade-in-free or coalition-free


  • Phase 117 l.jpg

    Phase 1

    Mnot coalition-free

    • a1 : h4h5h3h2h1

    • a2 : h3h4h5h9h1h2

    • a3 : h5h4h1h2h3

    • a4 : h3h5h4

    • a5 : h4h3h5

    • a6 : h2h3h5h8h6h7h1h11h4h10

    • a7 : h1h4h3h6h7h2h10h5h11

    • a8 : h1h5h4h3h7h6h8

    • a9 : h4 h3h5h9

  • Maximum matching M in G has size 9

  • M must be maximal

  • No guarantee that M is trade-in-free or coalition-free

  • Mnot trade-in-free


    Phase 2 outline l.jpg

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

    • a2 : h3h4h5h9h1h2

    • a3 : h5h4h1h2h3

    • a4 : h3h5h4

    • a5 : h4h3h5

    • a6 : h2h3h5h8h6h7h1h11h4h10

    • a7 : h1h4h3h6h7h2h10h5h11

    • a8 : h1h5h4h3h7h6h8

    • a9 : h4 h3h5h9


    Phase 2 outline19 l.jpg

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

    • a2 : h3h4h5h9h1h2

    • a3 : h5h4h1h2h3

    • a4 : h3h5h4

    • a5 : h4h3h5

    • a6 : h2h3h5h8h6h7h1h11h4h10

    • a7 : h1h4h3h6h7h2h10h5h11

    • a8 : h1h5h4h3h7h6h8

    • a9 : h4 h3h5h9


    Phase 2 outline20 l.jpg

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

    • a2 : h3h4h5h9h1h2

    • a3 : h5h4h1h2h3

    • a4 : h3h5h4

    • a5 : h4h3h5

    • a6 : h2h3h5h8h6h7h1h11h4h10

    • a7 : h1h4h3h6h7h2h10h5h11

    • a8 : h1h5h4h3h7h6h8

    • a9 : h4 h3h5h9


    Phase 2 outline21 l.jpg

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

    • a2 : h3h4h5h9h1h2

    • a3 : h5h4h1h2h3

    • a4 : h3h5h4

    • a5 : h4h3h5

    • a6 : h2h3h5h8h6h7h1h11h4h10

    • a7 : h1h4h3h6h7h2h10h5h11

    • a8 : h1h5h4h3h7h6h8

    • a9 : h4 h3h5h9


    Phase 2 termination l.jpg

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

    • a2 : h3h4h5h9h1h2

    • a3 : h5h4h1h2h3

    • a4 : h3h5h4

    • a5 : h4h3h5

    • a6 : h2h3h5h8h6h7h1h11h4h10

    • a7 : h1h4h3h6h7h2h10h5h11

    • a8 : h1h5h4h3h7h6h8

    • a9 : h4 h3h5h9


    Phase 3 outline l.jpg

    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 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’’ wherep(a’)=M(a’’)to the path (EXTEND)

        • Push a’ and a’’ onto the stack

        • Increment c(a’’)


    Slide24 l.jpg

    Phase 3 termination

    • Once Phase 3 terminates, matching is coalition-free

    • a1 : h4h5h3h2h1

    • a2 : h3h4h5h9h1h2

    • a3 : h5h4h1h2h3

    • a4 : h3h5h4

    • a5: h4h3h5

    • a6 : h2h3h5h8h6h7h1h11h4h10

    • a7 : h1h4h3h6h7h2h10h5h11

    • a8 : h1h5h4h3h7h6h8

    • a9 : h4 h3h5h9

    • Phase 3 is O(m)

    • Theorem:A maximum Pareto optimal matching can be found in O(nm) time


    Initial property rights l.jpg

    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


    Minimum pareto optimal matchings l.jpg

    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


    Interpolation of pareto optimal matchings l.jpg

    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 r1,…,rk to an augmenting path P=a1,h1,…,ak,hk where ri=rankai(hi)

      • Examples: 1,3,21,2,2

      • Find a lexicographically smallest augmenting path

    1

    a1

    h1

    1

    a2

    h2

    2

    3

    1

    a3

    h3

    2

    1

    a4

    h4

    2

    h5


    Open problems l.jpg

    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 problem

          Technical Report TR-2004-182 of the Computing Science Department of Glasgow University

      • Solvable in O(nm) time?


  • Login