pareto optimality in house allocation problems
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/1.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/11.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/16.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/17.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/18.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/19.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/20.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/21.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/22.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/23.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/24.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/25.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/26.jpg)
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
![Page 27: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/27.jpg)
27
![Page 28: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/28.jpg)
28
The envy graph Straightforward to check a given matching M for the
maximality and trade-in-free properties in O(m) time To check for the existence of a coalition:
Form the envy graph of M, denoted by G(M) Vertex for each matched agent Edge from ai to aj if and only if ai prefers M(aj) to M(ai)
Example a1 : h2 h1
a2 : h3 h4 h2
a3 : h4 h3
a4 : h1 h4
M admits a coalition if and only if G(M) has a directed cycle
Proposition: we may check whether a given matching M is Pareto optimal in O(m) time
a1
a4
a2
![Page 29: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/29.jpg)
29
Phase 2 outline For each house h, maintain a list Lh , initially containing those pairs
(a, r) such that: a is a matched agent who prefers h to M(a) r is the rank of h in a’s list
Maintain a stack S of unmatched houses h whose list Lh is nonempty Each matched agent a maintains a pointer curra to the rank of M(a)
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
Lh6=(a6 , 5), (a7 , 4), (a8 , 6)
Lh7=(a6 , 6), (a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=(a7 , 7)
Lh11=(a6 , 8)
S=h6 , h7curra6
=10
curra7=9
![Page 30: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/30.jpg)
30
Phase 2 outline
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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a6 , 5), (a7 , 4), (a8 , 6)
Lh7=(a6 , 6), (a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=(a7 , 7)
Lh11=(a6 , 8)
S=h6 , h7curra6
=10
curra7=9
![Page 31: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/31.jpg)
31
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a6 , 5), (a7 , 4), (a8 , 6)
Lh7=(a6 , 6), (a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=(a7 , 7)
Lh11=(a6 , 8)
S=h6 , h7curra6
=10
curra7=9
![Page 32: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/32.jpg)
32
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a6 , 5), (a7 , 4), (a8 , 6)
Lh7=(a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=(a7 , 7)
Lh11=(a6 , 8)
S=h6 , h10curra6
=6
curra7=9
![Page 33: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/33.jpg)
33
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a6 , 5), (a7 , 4), (a8 , 6)
Lh7=(a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=(a7 , 7)
Lh11=(a6 , 8)
S=h6 , h10curra6
=6
curra7=9
![Page 34: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/34.jpg)
34
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a6 , 5), (a7 , 4), (a8 , 6)
Lh7=(a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=
Lh11=(a6 , 8)
S=h6 , h11curra6
=6
curra7=7
![Page 35: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/35.jpg)
35
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a6 , 5), (a7 , 4), (a8 , 6)
Lh7=(a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=
Lh11=(a6 , 8)
S=h6 , h11curra6
=6
curra7=7
![Page 36: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/36.jpg)
36
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a6 , 5), (a7 , 4), (a8 , 6)
Lh7=(a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=
Lh11=
S=h6curra6
=6
curra7=7
![Page 37: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/37.jpg)
37
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a7 , 4), (a8 , 6)
Lh7=(a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=
Lh11=
S=h7curra6
=5
curra7=7
![Page 38: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/38.jpg)
38
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a7 , 4), (a8 , 6)
Lh7=(a7 , 5), (a8 , 5)
Lh8=(a6 , 4)
Lh10=
Lh11=
S=h7curra6
=5
curra7=7
![Page 39: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/39.jpg)
39
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a7 , 4), (a8 , 6)
Lh7=(a8 , 5)
Lh8=(a6 , 4)
Lh10=
Lh11=
S=curra6
=5
curra7=5
![Page 40: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/40.jpg)
40
Phase 2 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
while S is nonemptypop a house h from S;remove the first pair (a,r) from the head of Lh;if r < curra // a prefers h to M(a)
let h’= M(a);remove (a,h’) from M and add (a,h) to M;curra := h;h := h’;
push h onto the stack if Lh is nonempty;
Lh6=(a7 , 4), (a8 , 6)
Lh7=(a8 , 5)
Lh8=(a6 , 4)
Lh10=
Lh11=
S=curra6
=5
curra7=5
![Page 41: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/41.jpg)
41
Phase 2 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
![Page 42: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/42.jpg)
42
Once Phase 2 terminates, matching is trade-in-free Phase 2 is O(m) Coalitions may remain…
Phase 2 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
![Page 43: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/43.jpg)
43
Elimination of coalitions Repeatedly finding and eliminating coalitions takes O(m2)
time Cycle detection in G(M) takes O(m) time O(m) coalitions in the worst case
Faster method: extension of TTC algorithm An agent matched to his/her first-choice house cannot be in a
coalition Such an agent can be removed from consideration
Houses matched to such agents are no longer exchangeable Such a house can be removed from consideration
This rule can be recursively applied until either No agent remains (matching is coalition-free) A coalition exists, which can be found and removed
Phase 3 description
![Page 44: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/44.jpg)
44
Phase 3: 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
Agent counter House labela1 1 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
P=a1
a1
![Page 45: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/45.jpg)
45
Phase 3: 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
Agent counter House labela1 1 h1
a2 0 h2
a3 0 h3
a4 1 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
P=a1, a4
EXTEND
a4
![Page 46: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/46.jpg)
46
Phase 3: 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
Agent counter House labela1 1 h1
a2 0 h2
a3 1 h3
a4 1 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
EXTEND
a4
P=a1, a4 , a3 a3
![Page 47: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/47.jpg)
47
Phase 3: 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
Agent counter House labela1 1 h1
a2 0 h2
a3 1 h3
a4 1 h4
a5 1 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
EXTEND
a4
P=a1, a4 , a3 , a5 a3
a5
![Page 48: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/48.jpg)
48
Phase 3: 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
Agent counter House labela1 1 h1
a2 0 h2
a3 1 h3
a4 2 h4
a5 1 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
EXTEND
a4
P=a1, a4 , a3 , a5 , a4 a3
a5
![Page 49: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/49.jpg)
49
Phase 3: 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
Agent counter House labela1 1 h1
a2 0 h2
a3 1 h3
a4 2 h4
a5 1 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
CYCLE
a4
P=a1, a4, a3 , a5 a3
a5
![Page 50: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/50.jpg)
50
Phase 3: 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
Agent counter House labela1 1 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
CYCLE
a4
a3
a5
P=a1, a4, a3 , a5
![Page 51: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/51.jpg)
51
Phase 3: 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
Agent counter House labela1 1 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
P=a1
![Page 52: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/52.jpg)
52
Phase 3: 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
Agent counter House labela1 1 h1
a2 1 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
EXTEND
P=a1 , a2
a2
![Page 53: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/53.jpg)
53
Phase 3: 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
Agent counter House labela1 1 h1
a2 1 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 1 h9
a1
EXTEND
P=a1 , a2 , a9
a2
a9
![Page 54: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/54.jpg)
54
Phase 3: 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
Agent counter House labela1 1 h1
a2 1 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 1 h9
a1
BACKTRACK
P=a1 , a2
a2
a9
![Page 55: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/55.jpg)
55
Phase 3: 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
Agent counter House labela1 1 h1
a2 1 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
P=a1 , a2
a2
![Page 56: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/56.jpg)
56
Phase 3: 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
Agent counter House labela1 2 h1
a2 1 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
EXTEND
P=a1 , a2 , a1
a2
![Page 57: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/57.jpg)
57
Phase 3: 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
Agent counter House labela1 2 h1
a2 1 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
CYCLE
P=a1 , a2
a2
![Page 58: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/58.jpg)
58
Phase 3: 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
Agent counter House labela1 0 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
a1
CYCLE
P=a1 , a2
a2
![Page 59: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/59.jpg)
59
Phase 3: 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
Agent counter House labela1 0 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 1 h6
a7 0 h7
a8 0 h8
a9 0 h9
P=a6
a6
![Page 60: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/60.jpg)
60
Phase 3: 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
Agent counter House labela1 0 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 1 h6
a7 0 h7
a8 1 h8
a9 0 h9
P=a6 , a8
EXTENDa6 a8
![Page 61: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/61.jpg)
61
Phase 3: 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
Agent counter House labela1 0 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 1 h6
a7 1 h7
a8 1 h8
a9 0 h9
P=a6 , a8 , a7
EXTENDa6 a8
a7
![Page 62: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/62.jpg)
62
Phase 3: 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
Agent counter House labela1 0 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 2 h6
a7 1 h7
a8 1 h8
a9 0 h9
P=a6 , a8 , a7 , a6
EXTEND
a6 a8
a7
![Page 63: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/63.jpg)
63
Phase 3: 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
a1 0 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 2 h6
a7 1 h7
a8 1 h8
a9 0 h9
P=a6 , a8 , a7
CYCLE
a6 a8
a7
Agent counter House label
![Page 64: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/64.jpg)
64
Phase 3: 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
Agent counter House labela1 0 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
P=a6 , a8 , a7
CYCLE
a6 a8
a7
![Page 65: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/65.jpg)
65
Phase 3: 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
Agent counter House labela1 0 h1
a2 0 h2
a3 0 h3
a4 0 h4
a5 0 h5
a6 0 h6
a7 0 h7
a8 0 h8
a9 0 h9
P=
![Page 66: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/66.jpg)
66
Initial property rights
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
![Page 67: Pareto Optimality in House Allocation Problems](https://reader036.vdocument.in/reader036/viewer/2022062723/56813e13550346895da7f3b4/html5/thumbnails/67.jpg)
67
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,1 1,2,2
Find a lexicographically smallest augmenting path
h1
h2
h3
h4
1
2
1
h5
a1
a2
a3
a4
231
21