Loading in 5 sec....

Pareto Optimality in House Allocation ProblemsPowerPoint Presentation

Pareto Optimality in House Allocation Problems

- By
**cato** - Follow User

- 174 Views
- Updated On :

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

Related searches for Pareto Optimality in House Allocation Problems

Download Presentation
## PowerPoint Slideshow about 'Pareto Optimality in House Allocation Problems' - cato

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

Phase 2 outline matching

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

- 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

- 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

- Large-scale residence exchange in Chinese housing markets
- Other matching problems:
- US Naval Academy: students to naval officer positions
- Roth and Sotomayor, 1990

- Scottish Executive Teacher Induction Scheme
- Assigning students to projects

- US Naval Academy: students to naval officer positions

The underlying graph

- Weighted bipartite graph G=(V,E)
- Vertex set V=AH
- 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 graph

- Weighted bipartite graph G=(V,E)
- Vertex set V=AH
- 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 graph

- Weighted bipartite graph G=(V,E)
- Vertex set V=AH
- 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

- 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

- 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) (0ir-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 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) (0ir-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 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) (0ir-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 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 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

- 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

- 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

- Matching M is rank maximal if, in M
- 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

- Matching M is popular if there is no other matching M’such that:
- 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

- 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 matching Maximum matching M in G has size 8 M must be maximal No guarantee that M is trade-in-free or coalition-free

- a1 : h4h5h3h2h1
- a2 : h3h4h5h9h1h2
- a3 : h5h4h1h2h3
- a4 : h3h5h4
- a5 : h4h3h5
- a6 : h2h3h5h8h6h7h1h11h4h10
- a7 : h1h4h3h6h7h2h10h5h11
- a8 : h1h5h4h3h7h6h8
- a9 : h4 h3h5h9

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

- a1 : h4h5h3h2h1
- a2 : h3h4h5h9h1h2
- a3 : h5h4h1h2h3
- a4 : h3h5h4
- a5 : h4h3h5
- a6 : h2h3h5h8h6h7h1h11h4h10
- a7 : h1h4h3h6h7h2h10h5h11
- a8 : h1h5h4h3h7h6h8
- a9 : h4 h3h5h9

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

Mnot coalition-free

- a1 : h4h5h3h2h1
- a2 : h3h4h5h9h1h2
- a3 : h5h4h1h2h3
- a4 : h3h5h4
- a5 : h4h3h5
- a6 : h2h3h5h8h6h7h1h11h4h10
- a7 : h1h4h3h6h7h2h10h5h11
- a8 : h1h5h4h3h7h6h8
- a9 : h4 h3h5h9

Mnot trade-in-free

Phase 2 outline matching

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

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

- 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

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

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

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

Phase 3 termination matching

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

- Suppose A’A and each member of A’ owns a house initially
- For each agent aA’,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

- TTC algorithm finds the unique matching that belongs to the core

Minimum Pareto optimal matchings matching

- 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 matchingPareto 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,21,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 matching

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

- D.J. Abraham, D.F. Manlove
- Solvable in O(nm) time?

- Solvable in O((n(m, n))mlog3/2 n) time

Download Presentation

Connecting to Server..