Presentation Vishwa
Presentation Vishwa
1/39
Outline
Background
Stable Matchings
Gale-Shapley Algorithm
Extended Gale-Shapley Algorithm
The Lattice Structure
Disjoint Stable Matchings
Disjoint Perfect Matchings
Disjoint Stable Matchings
Algorithm to find Disjoint Stable Matchings
Correctness and Running time of the Algorithm
Rotations
Rotational poset
Properties of Rotational poset
Analogous Algorithm
2/39
Stable Matchings
w4 , w3 , · · · , wn m1 w1 m1 , m3 , · · · , mn
w1 , w6 , · · · , w9 m2 w2 m5 , m2 , · · · , m9
.. .. .. ..
. . . .
w5 , w7 , · · · , wn mn wn m5 , m7 , · · · , mn
w4 , w3 , · · · , wn m1 w1 m1 , m3 , · · · , mn
w1 , w6 , · · · , w9 m2 w2 m5 , m2 , · · · , m9
.. .. .. ..
. . . .
w5 , w7 , · · · , wn mn wn m5 , m7 , · · · , mn
w4 , w3 , · · · , wn m1 w1 m1 , m3 , · · · , mn
w1 , w6 , · · · , w9 m2 w2 m5 , m2 , · · · , m9
.. .. .. ..
. . . .
w5 , w7 , · · · , wn mn wn m5 , m7 , · · · , mn
m1 w1
m2 w2
4/39
Stable Matchigs
m1 w1
m2 w2
4/39
Stable Matchigs
m1 w1
m2 w2
4/39
Stable Matchings
Stable Matching
A matching with no blocking pair
5/39
Stable and Fixed Pairs
Stable Pair
A pair (m, w ) is called as a stable pair if m and w are partners in
at least one stable matching.
Fixed Pair
A pair (m, w ) is called as a fixed pair if m and w are partners in
at all stable matchings.
6/39
Stable and Fixed Pairs
Stable Pair
A pair (m, w ) is called as a stable pair if m and w are partners in
at least one stable matching.
Fixed Pair
A pair (m, w ) is called as a fixed pair if m and w are partners in
at all stable matchings.
6/39
Gale-Shapley Algorithm
Algorithm 1 Gale-Shapley
1: procedure Find stable matching(M)
2: assign each person to be free
3: while some man m is free do
4: w ← first woman on m’s list to whom m hasn’t proposed
5: if w is free then
6: assign m and w to be engaged to each other
7: else
8: if w prefers m to her current matched partner m0 then
9: assign m and w to be engaged and m0 to be free
10: else
11: w rejects m . m remains free
12: end if
13: end if
14: end while
return Stable matching consisting of n engaged pairs
15: end procedure
7/39
Gale-Shapley Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1 m3
m3 : w2 w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
8/39
Gale-Shapley Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1 m3
m3 : w2 w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
8/39
Gale-Shapley Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1 m3
m3 : w2 w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
8/39
Gale-Shapley Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1 m3
m3 : w2 w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
8/39
Gale-Shapley Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1 m3
m3 : w2 w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
8/39
Gale-Shapley Algorithm - Key Results
10/39
Run of Extended GS Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1 m3
m3 : w2 w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
11/39
Run of Extended GS Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1 m3
m3 : w2 w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
11/39
Run of Extended GS Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1
m3 : w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
11/39
Run of Extended GS Algorithm
m1 : w2 w3 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1
m3 : w1 w3 w3 : m3 m2 m1
m1 w1
m2 w2
m3 w3
11/39
Run of Extended GS Algorithm
m1 : w2 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1
m3 : w1 w3 w3 : m3 m2
m1 w1
m2 w2
m3 w3
11/39
Run of Extended GS Algorithm
m1 : w2 w1 w1 : m1 m2 m3
m2 : w3 w1 w2 w2 : m2 m1
m3 : w1 w3 w3 : m3 m2
m1 w1
m2 w2
m3 w3
11/39
GS-lists
MGS-list
Final preference lists generated by the extended Gale-Shapley
algorithm with men as proposers are called as man-oriented
Gale-Shapley lists or MGS-lists.
WGS-list
Final preference lists generated by the extended Gale-Shapley
algorithm with women as proposers are called as woman-oriented
Gale-Shapley lists or WGS-lists.
12/39
GS-lists
MGS-list
Final preference lists generated by the extended Gale-Shapley
algorithm with men as proposers are called as man-oriented
Gale-Shapley lists or MGS-lists.
WGS-list
Final preference lists generated by the extended Gale-Shapley
algorithm with women as proposers are called as woman-oriented
Gale-Shapley lists or WGS-lists.
12/39
GS-lists
GS-list
Intersection of MGS-list and WGS-list.
13/39
Extended GS Algorithm Key Results
14/39
Extended GS Algorithm Key Results
14/39
Extended GS Algorithm Key Results
14/39
Extended GS Algorithm Key Results
14/39
The Lattice Structure
m1 :
m2 :
m3 :
m4 :
15/39
Men’s Preference
The Lattice Structure
m1 :
m2 :
m3 :
m4 :
15/39
Men’s Preference
The Lattice Structure
m1 :
m2 :
m3 :
m4 :
15/39
Men’s Preference
Meet and Join
M0
m1 :
m2 :
M1 M2 m3 :
m4 :
Men’s Preference
M 00
16/39
Meet and Join
M0
m1 :
m2 :
M1 M2 m3 :
m4 :
Men’s Preference
M 00
16/39
Meet and Join
M0
m1 :
m2 :
M1 M2 m3 :
m4 :
Men’s Preference
M 00
16/39
Meet and Join
M0
m1 :
m2 :
M1 M2 m3 :
m4 :
Men’s Preference
M 00
16/39
The Lattice Structure
17/39
Disjoint Stable Matchings
17/39
Why do we need them?
P1
P2
P3
P4
18/39
Why do we need them?
P1
P2
P3
P4
18/39
Why do we need them?
P1
P2
P3
P4
18/39
Why do we need them?
P1
P2
P3
P4
18/39
Problem Statement
19/39
Existence of Disjoint Stable Matchings
m1 w1 m1 w1 m1 w1
m2 w2 m2 w2 m2 w2
m3 w3 m3 w3 m3 w3
20/39
Existence of Disjoint Stable Matchings
m1 w1 m1 w1 m1 w1
m2 w2 m2 w2 m2 w2
m3 w3 m3 w3 m3 w3
20/39
Existence of Disjoint Stable Matchings
m1 w1 m1 w1 m1 w1
m2 w2 m2 w2 m2 w2
m3 w3 m3 w3 m3 w3
20/39
Necessary Condition
This is because w is both the best stable partner and the worst
stable partner of m.
21/39
Algorithm: Disjoint Stable Matchings
22/39
Termination and Time Complexity
For the same reason, the running time of the algorithm is O(n2 ).
23/39
Run of Disjoint GS Algorithm
m1 :
m2 :
m3 :
m4 :
m5 :
m6 :
m7 :
24/39
Run of Disjoint GS Algorithm
m1 :
m2 :
m3 :
m4 :
m5 :
m6 :
m7 :
Men’s Preference
24/39
Run of Disjoint GS Algorithm
m1 :
m2 :
m3 :
m4 :
m5 :
m6 :
m7 :
Men’s Preference
24/39
Run of Disjoint GS Algorithm
m1 :
m2 :
m3 :
m4 :
m5 :
m6 :
m7 :
Men’s Preference
24/39
Disjoint Stable Matchings
Lemma 1
Each Mi in the set S = {M0 , M1 , · · · , Mn = Mz } is a perfect
matching.
25/39
Disjoint Stable Matchings
Lemma 1
Each Mi in the set S = {M0 , M1 , · · · , Mn = Mz } is a perfect
matching.
25/39
Disjoint Stable Matchings
Lemma 2
All the matchings in the set S are stable matchings.
Lemma 3
If M0 , M1 , · · · , Mn = Mz are the matchings discovered by the
algorithm 3 in this order, then M0 ≺ M1 ≺ · · · ≺ Mn = Mz .
26/39
Disjoint Stable Matchings
Lemma 2
All the matchings in the set S are stable matchings.
Lemma 3
If M0 , M1 , · · · , Mn = Mz are the matchings discovered by the
algorithm 3 in this order, then M0 ≺ M1 ≺ · · · ≺ Mn = Mz .
26/39
Disjoint Stable Matchings
Lemma 4
In any arbitrary execution E of the algorithm 3, for any man m,
pMi (m ) is the best stable partner of m when, for every man,
stable partners from M0 , M1 , · · · , Mi −1 are disallowed.
m1 :
m2 :
m3 :
m4 :
m5 :
m6 :
27/39
Longest Chain of Disjoint Stable matchings
Lemma 5
Proof:
M0 M1 ··· Mn
28/39
Longest Chain of Disjoint Stable matchings
Lemma 5
Proof:
M0 M1 ··· Mn
28/39
Longest Chain of Disjoint Stable matchings
Lemma 5
Proof:
M0 M1 ··· Mn
28/39
Longest Chain of Disjoint Stable matchings
Lemma 5
Proof:
M0 M1 ··· Mn
28/39
Longest Chain of Disjoint Stable matchings
Lemma 5
Proof:
M0 M1 ··· Mn
28/39
Longest Chain of Disjoint Stable matchings
Lemma 5
Proof:
M0 M1 ··· Mn
28/39
Disjoint Stable Matching
Corollary 7
30/39
M10 M20 ··· Mk0
Disjoint Chain
Corollary 7
30/39
M10 M20 ··· Mk0
Disjoint Chain
Corollary 7
30/39
M10 M20 ··· Mk0
Disjoint Chain
Corollary 7
30/39
M10 M20 ··· Mk0
Maximum Size Set of Disjoint Stable Matchings
Theorem 8
31/39
Rotations
31/39
Rotations
nextM (m )
For any man m, let nextM (m ) denote pM (sM (m ))
32/39
Roations
Definition of Rotations
An ordered list of matched pairs
ρ = (m0 , w0 ), (m1 , w1 ), · · · , (mr −1 , wr −1 ) in a stable matching
M is called as a rotation exposed in M if for each i
(0 ≤ i ≤ r − 1), mi +1 is nextM (mi ) where i + 1 is taken modulo
r.
Elimination of a Rotation
If M is a stable matching and
ρ = (m0 , w0 ), (m1 , w1 ), · · · , (mr −1 , wr −1 ) is a rotation exposed
in M, then M/æ is defined to be matching in which each man
who is not in ρ stays married to his partner in M, and each man
mi in M is matched to wi +1 = sM (mi )
That is, M/ρ differs from M by one place cyclic shift of each men
33/39
in ρ
Roations
Definition of Rotations
An ordered list of matched pairs
ρ = (m0 , w0 ), (m1 , w1 ), · · · , (mr −1 , wr −1 ) in a stable matching
M is called as a rotation exposed in M if for each i
(0 ≤ i ≤ r − 1), mi +1 is nextM (mi ) where i + 1 is taken modulo
r.
Elimination of a Rotation
If M is a stable matching and
ρ = (m0 , w0 ), (m1 , w1 ), · · · , (mr −1 , wr −1 ) is a rotation exposed
in M, then M/æ is defined to be matching in which each man
who is not in ρ stays married to his partner in M, and each man
mi in M is matched to wi +1 = sM (mi )
That is, M/ρ differs from M by one place cyclic shift of each men
33/39
in ρ
Representation
m2 m7 m8
m1 m3 m4
m5 m6
Figure 1: Graph H (M )
34/39
Properties of Rotations
35/39
Properties of Rotations
35/39
Properties of Rotations
35/39
Properties of Rotations
35/39
poset of rotations
The set of all rotations forms a partial order under the following
relation.
ρ1 ≺ ρ2 iff in every path from M0 to Mz in M ρ1 gets eliminated
before ρ2 .
ρ1 ρ2
ρ3 ρ4
ρ5
ρ6 ρ7
36/39
poset of rotations
Theorem 9
There is a one-one correspondence between the closed subsets of
Π((M )) and stable matchings in (M )
Theorem 10
S is a closed set of rotations of Π((M )) corresponding to a
stable matching M iff S is the (unique) set of rotations in every
M0 -M chain in (M )
37/39
poset of rotations
Theorem 9
There is a one-one correspondence between the closed subsets of
Π((M )) and stable matchings in (M )
Theorem 10
S is a closed set of rotations of Π((M )) corresponding to a
stable matching M iff S is the (unique) set of rotations in every
M0 -M chain in (M )
37/39
Algorithm based on Π((M ))
38/39
Algorithm based on Π((M ))
38/39
Algorithm based on Π((M ))
38/39
Algorithm based on Π((M ))
38/39
Algorithm based on Π((M ))
38/39
Future Work
39/39
Thank You!
39/39