0% found this document useful (0 votes)
9 views98 pages

Presentation Vishwa

Uploaded by

Bhavesh padhiyar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views98 pages

Presentation Vishwa

Uploaded by

Bhavesh padhiyar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 98

Disjoint Stable Matchings

Aadityan Ganesh, Prajakta Nimbhorkar, Geevarghese Philip, Vishwa


Prakash HV
January 6, 2021
Chennai Mathematical Institute

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

Marriage Matching Instance


A marriage matching instance of size n involves two disjoint sets
of size n, the men and the women. Associated with each person
is a strictly ordered preference list containing all the members of
the opposite sex. Person p prefers q to r , where q and r are of
the opposite sex of p, if and only if q precedes r on p’s
preference list.

w4 , w3 , · · · , wn m1 w1 m1 , m3 , · · · , mn
w1 , w6 , · · · , w9 m2 w2 m5 , m2 , · · · , m9
.. .. .. ..
. . . .
w5 , w7 , · · · , wn mn wn m5 , m7 , · · · , mn

Set of men Set of women


3/39
Stable Matchings

Marriage Matching Instance


A marriage matching instance of size n involves two disjoint sets
of size n, the men and the women. Associated with each person
is a strictly ordered preference list containing all the members of
the opposite sex. Person p prefers q to r , where q and r are of
the opposite sex of p, if and only if q precedes r on p’s
preference list.

w4 , w3 , · · · , wn m1 w1 m1 , m3 , · · · , mn
w1 , w6 , · · · , w9 m2 w2 m5 , m2 , · · · , m9
.. .. .. ..
. . . .
w5 , w7 , · · · , wn mn wn m5 , m7 , · · · , mn

Set of men Set of women


3/39
Stable Matchings

Marriage Matching Instance


A marriage matching instance of size n involves two disjoint sets
of size n, the men and the women. Associated with each person
is a strictly ordered preference list containing all the members of
the opposite sex. Person p prefers q to r , where q and r are of
the opposite sex of p, if and only if q precedes r on p’s
preference list.

w4 , w3 , · · · , wn m1 w1 m1 , m3 , · · · , mn
w1 , w6 , · · · , w9 m2 w2 m5 , m2 , · · · , m9
.. .. .. ..
. . . .
w5 , w7 , · · · , wn mn wn m5 , m7 , · · · , mn

Set of men Set of women


3/39
Stable Matchigs

If (m, w ) are matched in a matching M, we say m = pM (w ) and


w = pM (m )
Blocking Pair
A man m and a woman w are said to block a matching M, or
the pair (m, w ) is said to be a blocking pair for M, if m and w
are not partners in M, but m prefers w to pM (m ) and w prefers
m to pM (w ). A matching with no blocking pair is called a stable
matching, and is otherwise unstable.

m1 w1

m2 w2
4/39
Stable Matchigs

If (m, w ) are matched in a matching M, we say m = pM (w ) and


w = pM (m )
Blocking Pair
A man m and a woman w are said to block a matching M, or
the pair (m, w ) is said to be a blocking pair for M, if m and w
are not partners in M, but m prefers w to pM (m ) and w prefers
m to pM (w ). A matching with no blocking pair is called a stable
matching, and is otherwise unstable.

m1 w1

m2 w2
4/39
Stable Matchigs

If (m, w ) are matched in a matching M, we say m = pM (w ) and


w = pM (m )
Blocking Pair
A man m and a woman w are said to block a matching M, or
the pair (m, w ) is said to be a blocking pair for M, if m and w
are not partners in M, but m prefers w to pM (m ) and w prefers
m to pM (w ). A matching with no blocking pair is called a stable
matching, and is otherwise unstable.

m1 w1

m2 w2
4/39
Stable Matchings

Stable Matching
A matching with no blocking pair

Checking stability: O (n2 )

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

m1 w1

m2 w2

m3 w3

8/39
Gale-Shapley Algorithm - Key Results

1. Every marriage instance has a stable matching.


2. All possible execution of the Gale-Shapley algorithm yields the
same result.
3. It results in “Man-optimal” stable matching.
Man-optimal: Every man is matched with his most favored
partner among all stable partners.
4. Reversing roles, i.e, women proposing, results in
“Woman-optimal” stable matching.
Woman-optimal: Every woman is matched with her most
favored partner among all stable partners.
5. The man-optimal stable matching is woman-pessimal, and
vice-versa.
9/39
Gale-Shapley Algorithm - Key Results

1. Every marriage instance has a stable matching.


2. All possible execution of the Gale-Shapley algorithm yields the
same result.
3. It results in “Man-optimal” stable matching.
Man-optimal: Every man is matched with his most favored
partner among all stable partners.
4. Reversing roles, i.e, women proposing, results in
“Woman-optimal” stable matching.
Woman-optimal: Every woman is matched with her most
favored partner among all stable partners.
5. The man-optimal stable matching is woman-pessimal, and
vice-versa.
9/39
Gale-Shapley Algorithm - Key Results

1. Every marriage instance has a stable matching.


2. All possible execution of the Gale-Shapley algorithm yields the
same result.
3. It results in “Man-optimal” stable matching.
Man-optimal: Every man is matched with his most favored
partner among all stable partners.
4. Reversing roles, i.e, women proposing, results in
“Woman-optimal” stable matching.
Woman-optimal: Every woman is matched with her most
favored partner among all stable partners.
5. The man-optimal stable matching is woman-pessimal, and
vice-versa.
9/39
Gale-Shapley Algorithm - Key Results

1. Every marriage instance has a stable matching.


2. All possible execution of the Gale-Shapley algorithm yields the
same result.
3. It results in “Man-optimal” stable matching.
Man-optimal: Every man is matched with his most favored
partner among all stable partners.
4. Reversing roles, i.e, women proposing, results in
“Woman-optimal” stable matching.
Woman-optimal: Every woman is matched with her most
favored partner among all stable partners.
5. The man-optimal stable matching is woman-pessimal, and
vice-versa.
9/39
Gale-Shapley Algorithm - Key Results

1. Every marriage instance has a stable matching.


2. All possible execution of the Gale-Shapley algorithm yields the
same result.
3. It results in “Man-optimal” stable matching.
Man-optimal: Every man is matched with his most favored
partner among all stable partners.
4. Reversing roles, i.e, women proposing, results in
“Woman-optimal” stable matching.
Woman-optimal: Every woman is matched with her most
favored partner among all stable partners.
5. The man-optimal stable matching is woman-pessimal, and
vice-versa.
9/39
Extended Gale-Shapley Algorithm

Algorithm 2 Extended Gale-Shapley


1: procedure GS-Extended(M) . M is an SM instance
2: assign each person to be free
3: while some man m is free do
4: w ← first woman on m’s list
5: if some man p is engaged to w then
6: assign p to be free
7: end if
8: assign m and w to be engaged to each other
9: for each successor m0 of m on w ’s list do
10: delete w on m0 ’s list
11: delete m0 on w ’s list . deleting the pair (m0 , w )
12: end for
13: end while
return Stable matching consisting of n engaged pairs
14: end procedure

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

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

Men’s Preference Women’s Preference

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.

Note: GS-lists can be obtained by applying man-oriented extended


Gale-Shapley algorithm to get MGS-lists and then, starting with
the MGS-lists, applying woman-oriented extended GS algorithm.

13/39
Extended GS Algorithm Key Results

1. all stable matchings are contained in the GS-lists.

2. no matching (stable or otherwise) contained in the GS-lists


can be blocked by a pair that is not in the GS-lists.

3. In the man-optimal (respectively woman-optimal) stable


matching, each man is partnered by the first (respectively
last) woman on his GS-list, and each woman by the last
(respectively first) man on hers.

14/39
Extended GS Algorithm Key Results

1. all stable matchings are contained in the GS-lists.

2. no matching (stable or otherwise) contained in the GS-lists


can be blocked by a pair that is not in the GS-lists.

3. In the man-optimal (respectively woman-optimal) stable


matching, each man is partnered by the first (respectively
last) woman on his GS-list, and each woman by the last
(respectively first) man on hers.

14/39
Extended GS Algorithm Key Results

1. all stable matchings are contained in the GS-lists.

2. no matching (stable or otherwise) contained in the GS-lists


can be blocked by a pair that is not in the GS-lists.

3. In the man-optimal (respectively woman-optimal) stable


matching, each man is partnered by the first (respectively
last) woman on his GS-list, and each woman by the last
(respectively first) man on hers.

14/39
Extended GS Algorithm Key Results

1. all stable matchings are contained in the GS-lists.

2. no matching (stable or otherwise) contained in the GS-lists


can be blocked by a pair that is not in the GS-lists.

3. In the man-optimal (respectively woman-optimal) stable


matching, each man is partnered by the first (respectively
last) woman on his GS-list, and each woman by the last
(respectively first) man on hers.

14/39
The Lattice Structure

A person x is said to prefer a matching M to a matching M 0 if x


prefers pM (x ) to pM 0 (x ).
Domination
A stable matching M is said to dominate a stable matching M 0 ,
written M  M 0 , if every man has at least as good a partner in
M as he has in M 0 .i.e., every man either prefers M to M 0 or is
indifferent between them. M disjointly dominates M 0 (M ≺ M 0 )
if M  M 0 and M ∩ M 0 = ∅.

m1 :
m2 :
m3 :
m4 :
15/39
Men’s Preference
The Lattice Structure

A person x is said to prefer a matching M to a matching M 0 if x


prefers pM (x ) to pM 0 (x ).
Domination
A stable matching M is said to dominate a stable matching M 0 ,
written M  M 0 , if every man has at least as good a partner in
M as he has in M 0 .i.e., every man either prefers M to M 0 or is
indifferent between them. M disjointly dominates M 0 (M ≺ M 0 )
if M  M 0 and M ∩ M 0 = ∅.

m1 :
m2 :
m3 :
m4 :
15/39
Men’s Preference
The Lattice Structure

A person x is said to prefer a matching M to a matching M 0 if x


prefers pM (x ) to pM 0 (x ).
Domination
A stable matching M is said to dominate a stable matching M 0 ,
written M  M 0 , if every man has at least as good a partner in
M as he has in M 0 .i.e., every man either prefers M to M 0 or is
indifferent between them. M disjointly dominates M 0 (M ≺ M 0 )
if M  M 0 and M ∩ M 0 = ∅.

m1 :
m2 :
m3 :
m4 :
15/39
Men’s Preference
Meet and Join

M0
m1 :
m2 :
M1 M2 m3 :
m4 :
Men’s Preference
M 00

M 0 = {(m, w ) | w = best (pM1 (m ), pM2 (m ))}

M 00 = {(m, w ) | w = worst (pM1 (m ), pM2 (m ))}

16/39
Meet and Join

M0
m1 :
m2 :
M1 M2 m3 :
m4 :
Men’s Preference
M 00

M 0 = {(m, w ) | w = best (pM1 (m ), pM2 (m ))}

M 00 = {(m, w ) | w = worst (pM1 (m ), pM2 (m ))}

16/39
Meet and Join

M0
m1 :
m2 :
M1 M2 m3 :
m4 :
Men’s Preference
M 00

M 0 = {(m, w ) | w = best (pM1 (m ), pM2 (m ))}

M 00 = {(m, w ) | w = worst (pM1 (m ), pM2 (m ))}

16/39
Meet and Join

M0
m1 :
m2 :
M1 M2 m3 :
m4 :
Men’s Preference
M 00

M 0 = {(m, w ) | w = best (pM1 (m ), pM2 (m ))}

M 00 = {(m, w ) | w = worst (pM1 (m ), pM2 (m ))}

16/39
The Lattice Structure

Set of all stable matchings form a distributive lattice under the


Domination domination.

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

For a given marriage instance, find a largest set S of disjoint stable


matchings.

19/39
Existence of Disjoint Stable Matchings

Does there exist a marriage matching instances with disjoint stable


matchings?
m1 : w1 , w2 , w3 w1 : m2 , m3 , m1
m2 : w2 , w3 , w1 w2 : m3 , m1 , m2
m3 : w3 , w1 , w2 w3 : m1 , m2 , m3

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

Does there exist a marriage matching instances with disjoint stable


matchings?
m1 : w1 , w2 , w3 w1 : m2 , m3 , m1
m2 : w2 , w3 , w1 w2 : m3 , m1 , m2
m3 : w3 , w1 , w2 w3 : m1 , m2 , m3

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

Does there exist a marriage matching instances with disjoint stable


matchings?
m1 : w1 , w2 , w3 w1 : m2 , m3 , m1
m2 : w2 , w3 , w1 w2 : m3 , m1 , m2
m3 : w3 , w1 , w2 w3 : m1 , m2 , m3

m1 w1 m1 w1 m1 w1
m2 w2 m2 w2 m2 w2
m3 w3 m3 w3 m3 w3

20/39
Necessary Condition

If the man-optimal and the woman-optimal stable matchings share


a common edge (m, w ), then (m, w ) is in every stable matching.

This is because w is both the best stable partner and the worst
stable partner of m.

So, to have disjoint stable matchings, man-optimal and


woman-optimal matchings must be disjoint.

21/39
Algorithm: Disjoint Stable Matchings

Algorithm 3 Disjoint Stable Matchings


1: procedure Find maximum set of Disjoint stable matchings(M)
2: S ←∅ . S: Set of disjoint matchings. Initialize S to be an empty set
3: M 0 ← M.ReverseRoles . Men renamed as women and women as men
4: Mz ←FindStableMatching(M 0 ) . GS Algorithm: Woman-optimal
5: X ←GS-Extended(M) . calling Algorithm 2 modifies M’s list
6: while X ∩ Mz = ∅ do
7: S ← S ∪ {X }
8: for every man m do
9: Delete first woman w on m’s list . First woman is pX (m)
10: Delete last man on w ’s list . Last man is pX (w )
11: Mark m as free
12: end for
13: X ←GS-Extended(M) . Get a new disjoint matching as X
14: end while
15: S ← S ∪ {Mz }
return S
16: end procedure

22/39
Termination and Time Complexity

In every iteration, we delete at least one entry from the preference


list. As the size of preference list is 2n2 , the algorithm terminates.

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 :

Men’s preference list

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.

Note: It does not come freely from Extended GS!


It only guarantees one-one.

25/39
Disjoint Stable Matchings

Lemma 1
Each Mi in the set S = {M0 , M1 , · · · , Mn = Mz } is a perfect
matching.

Note: It does not come freely from Extended GS!


It only guarantees one-one.

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

The algorithm 3 gives the longest chain of disjoint stable


matchings.

Proof:

M0 M1 ··· Mn

M00 M10 ··· ··· Mk0

28/39
Longest Chain of Disjoint Stable matchings

Lemma 5

The algorithm 3 gives the longest chain of disjoint stable


matchings.

Proof:

M0 M1 ··· Mn

M00 M10 ··· ··· Mk0

28/39
Longest Chain of Disjoint Stable matchings

Lemma 5

The algorithm 3 gives the longest chain of disjoint stable


matchings.

Proof:

M0 M1 ··· Mn

M0 M10 ··· ··· Mk0

28/39
Longest Chain of Disjoint Stable matchings

Lemma 5

The algorithm 3 gives the longest chain of disjoint stable


matchings.

Proof:

M0 M1 ··· Mn

M0 M10 ··· ··· Mk0

28/39
Longest Chain of Disjoint Stable matchings

Lemma 5

The algorithm 3 gives the longest chain of disjoint stable


matchings.

Proof:

M0 M1 ··· Mn

M0 M1 ··· ··· Mk0

28/39
Longest Chain of Disjoint Stable matchings

Lemma 5

The algorithm 3 gives the longest chain of disjoint stable


matchings.

Proof:

M0 M1 ··· Mn

M0 M1 ··· Mn ··· Mk0

28/39
Disjoint Stable Matching

Theorem 6 (Teo, C.-P. and Sethuraman, J. (1998))

Let I be an SM instance and let T be a set of stable matchings


in I . Let αj,T (respectively β j,T ) denote the set of pairs obtained
by assigning each man mi (woman wi ) to pj,T (mi ) (pj,T (wi )),
the jth element in the sorted multiset
PT (mi ) = {wi |(mi , wi ) ∈ M, M ∈ αj,T } (respectively PT (wi )).
Then, each of αj,T and β j,T is a stable matching.

Given stable matchings M1 , M2 , · · · , Mk ,

Mi0 = {(m, w ) | w is the i-th women in the sorted multiset


{pM1 (m), pM2 (m), · · · , pMk (m)} }

M10 M20 ··· Mq0


29/39
Disjoint Stable Matching

Theorem 6 (Teo, C.-P. and Sethuraman, J. (1998))

Let I be an SM instance and let T be a set of stable matchings


in I . Let αj,T (respectively β j,T ) denote the set of pairs obtained
by assigning each man mi (woman wi ) to pj,T (mi ) (pj,T (wi )),
the jth element in the sorted multiset
PT (mi ) = {wi |(mi , wi ) ∈ M, M ∈ αj,T } (respectively PT (wi )).
Then, each of αj,T and β j,T is a stable matching.

Given stable matchings M1 , M2 , · · · , Mk ,

Mi0 = {(m, w ) | w is the i-th women in the sorted multiset


{pM1 (m), pM2 (m), · · · , pMk (m)} }

M10 M20 ··· Mq0


29/39
Disjoint Stable Matching

Theorem 6 (Teo, C.-P. and Sethuraman, J. (1998))

Let I be an SM instance and let T be a set of stable matchings


in I . Let αj,T (respectively β j,T ) denote the set of pairs obtained
by assigning each man mi (woman wi ) to pj,T (mi ) (pj,T (wi )),
the jth element in the sorted multiset
PT (mi ) = {wi |(mi , wi ) ∈ M, M ∈ αj,T } (respectively PT (wi )).
Then, each of αj,T and β j,T is a stable matching.

Given stable matchings M1 , M2 , · · · , Mk ,

Mi0 = {(m, w ) | w is the i-th women in the sorted multiset


{pM1 (m), pM2 (m), · · · , pMk (m)} }

M10 M20 ··· Mq0


29/39
Disjoint Chain

Corollary 7

Let S = {M1 , M2 , · · · , Mk } be a set of disjoint stable


matchings. Let αj,S denote the stable matching obtained by
matching each man mi to pi,S (mi ), the jth woman in the sorted
set PS (mi ) = {wi |(mi , wi ) ∈ M, M ∈ αj,S }. Then, the stable
matchings from the set C = {α1,S , α2,S , · · · , αk,S } forms a
k-length chain α1,S ≺ α2,S ≺ · · · ≺ αk,S of disjoint stable
matchings.

Given stable matchings M1 , M2 , · · · , Mk ,

Mi0 = {(m, w ) | w is the i-th women in the sorted set


{pM1 (m), pM2 (m), · · · , pMk (m)} }

30/39
M10 M20 ··· Mk0
Disjoint Chain

Corollary 7

Let S = {M1 , M2 , · · · , Mk } be a set of disjoint stable


matchings. Let αj,S denote the stable matching obtained by
matching each man mi to pi,S (mi ), the jth woman in the sorted
set PS (mi ) = {wi |(mi , wi ) ∈ M, M ∈ αj,S }. Then, the stable
matchings from the set C = {α1,S , α2,S , · · · , αk,S } forms a
k-length chain α1,S ≺ α2,S ≺ · · · ≺ αk,S of disjoint stable
matchings.

Given stable matchings M1 , M2 , · · · , Mk ,

Mi0 = {(m, w ) | w is the i-th women in the sorted set


{pM1 (m), pM2 (m), · · · , pMk (m)} }

30/39
M10 M20 ··· Mk0
Disjoint Chain

Corollary 7

Let S = {M1 , M2 , · · · , Mk } be a set of disjoint stable


matchings. Let αj,S denote the stable matching obtained by
matching each man mi to pi,S (mi ), the jth woman in the sorted
set PS (mi ) = {wi |(mi , wi ) ∈ M, M ∈ αj,S }. Then, the stable
matchings from the set C = {α1,S , α2,S , · · · , αk,S } forms a
k-length chain α1,S ≺ α2,S ≺ · · · ≺ αk,S of disjoint stable
matchings.

Given stable matchings M1 , M2 , · · · , Mk ,

Mi0 = {(m, w ) | w is the i-th women in the sorted set


{pM1 (m), pM2 (m), · · · , pMk (m)} }

30/39
M10 M20 ··· Mk0
Disjoint Chain

Corollary 7

Let S = {M1 , M2 , · · · , Mk } be a set of disjoint stable


matchings. Let αj,S denote the stable matching obtained by
matching each man mi to pi,S (mi ), the jth woman in the sorted
set PS (mi ) = {wi |(mi , wi ) ∈ M, M ∈ αj,S }. Then, the stable
matchings from the set C = {α1,S , α2,S , · · · , αk,S } forms a
k-length chain α1,S ≺ α2,S ≺ · · · ≺ αk,S of disjoint stable
matchings.

Given stable matchings M1 , M2 , · · · , Mk ,

Mi0 = {(m, w ) | w is the i-th women in the sorted set


{pM1 (m), pM2 (m), · · · , pMk (m)} }

30/39
M10 M20 ··· Mk0
Maximum Size Set of Disjoint Stable Matchings

Theorem 8

For a given stable marriage instance, algorithm 3 gives the


maximum size set of disjoint stable matchings.

31/39
Rotations

31/39
Rotations

For every stable matching M, we define the following:


sM ( m )
For any man m, let sM (m ) denote the first women w on m’s list
such that w strictly prefers m to pM (w )

nextM (m )
For any man m, let nextM (m ) denote pM (sM (m ))

Note: sM (m ) might not exist. Example: Wz .


Both sM (m ) and nextM (m ) can be easily be found using Reduced
Lists.

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 )

(mi , mj ) ∈ E (H (m)) if mj = nextM (mi ).

34/39
Properties of Rotations

ˆ M/ρ is a stable matching such that M  M/ρ


ˆ Every stable matching except the women optimal matching
has at least one rotation exposed in it.
ˆ Every path from M0 to Mz in M corresponds to some
permutation of set of all rotations.

35/39
Properties of Rotations

ˆ M/ρ is a stable matching such that M  M/ρ


ˆ Every stable matching except the women optimal matching
has at least one rotation exposed in it.
ˆ Every path from M0 to Mz in M corresponds to some
permutation of set of all rotations.

35/39
Properties of Rotations

ˆ M/ρ is a stable matching such that M  M/ρ


ˆ Every stable matching except the women optimal matching
has at least one rotation exposed in it.
ˆ Every path from M0 to Mz in M corresponds to some
permutation of set of all rotations.

35/39
Properties of Rotations

ˆ M/ρ is a stable matching such that M  M/ρ


ˆ Every stable matching except the women optimal matching
has at least one rotation exposed in it.
ˆ Every path from M0 to Mz in M corresponds to some
permutation of set of all 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

Figure 2: The Rotational Poset Π((M ))

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

Given a stable matching Mi , we can find the next best disjoint


stable matching Mi +1 by doing the following steps.
1. For every (m, w ) ∈ Mi , find R = {ρ|(m, w ) ∈ ρ}
2. Find R̂ = closure of R
3. Return Mi +1 = Mi /R̂.

We use the above steps recursively (until we find a matching that


intersects with Mz ) to get the maximum chain of disjoint stable
matchings.

38/39
Algorithm based on Π((M ))

Given a stable matching Mi , we can find the next best disjoint


stable matching Mi +1 by doing the following steps.
1. For every (m, w ) ∈ Mi , find R = {ρ|(m, w ) ∈ ρ}
2. Find R̂ = closure of R
3. Return Mi +1 = Mi /R̂.

We use the above steps recursively (until we find a matching that


intersects with Mz ) to get the maximum chain of disjoint stable
matchings.

38/39
Algorithm based on Π((M ))

Given a stable matching Mi , we can find the next best disjoint


stable matching Mi +1 by doing the following steps.
1. For every (m, w ) ∈ Mi , find R = {ρ|(m, w ) ∈ ρ}
2. Find R̂ = closure of R
3. Return Mi +1 = Mi /R̂.

We use the above steps recursively (until we find a matching that


intersects with Mz ) to get the maximum chain of disjoint stable
matchings.

38/39
Algorithm based on Π((M ))

Given a stable matching Mi , we can find the next best disjoint


stable matching Mi +1 by doing the following steps.
1. For every (m, w ) ∈ Mi , find R = {ρ|(m, w ) ∈ ρ}
2. Find R̂ = closure of R
3. Return Mi +1 = Mi /R̂.

We use the above steps recursively (until we find a matching that


intersects with Mz ) to get the maximum chain of disjoint stable
matchings.

38/39
Algorithm based on Π((M ))

Given a stable matching Mi , we can find the next best disjoint


stable matching Mi +1 by doing the following steps.
1. For every (m, w ) ∈ Mi , find R = {ρ|(m, w ) ∈ ρ}
2. Find R̂ = closure of R
3. Return Mi +1 = Mi /R̂.

We use the above steps recursively (until we find a matching that


intersects with Mz ) to get the maximum chain of disjoint stable
matchings.

38/39
Future Work

ˆ Disjoint Stable Matchings in the Roommate problem.


ˆ When disjoint stable matchings do not exist, minimize
pairwise intersection.

39/39
Thank You!

39/39

You might also like