stable marriage problem introductory talk
DESCRIPTION
Stable Marriage Problem Introductory talk. Yosuke KIKUCHI Dept Comp. and Info. Eng. Tsuyama College of Tech OKAYAMA, JAPAN. Contents. Original stable marriage problem Experimental study Scored stable marriage. My lab. member. Stable marriage problem. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/1.jpg)
Stable Marriage Problem Introductory talk
Yosuke KIKUCHIDept Comp. and Info. Eng.Tsuyama College of Tech
OKAYAMA, JAPAN
![Page 2: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/2.jpg)
Contents
• Original stable marriage problem• Experimental study• Scored stable marriage
![Page 3: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/3.jpg)
My lab. member
![Page 4: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/4.jpg)
Stable marriage problem
• Gale and Shapley studied the problem in 1962. And they proposed efficient algorithm to solve it.
• There are N -women and N-men. Each parson has a preference list of opposite sex. Then decide N-matching between women and men.
![Page 5: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/5.jpg)
A matching is stable
A matching is unstable if a man A and a woman a, not married to each other ,but they mutually prefer each other to their partners. These pair A and a is called blocking pair.A matching is stable if it does not contain a blocking pair.
![Page 6: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/6.jpg)
Blocking pair
• Men {A,B}, Women {a,b}
Preference list
Men’s Women’s
A a Bb
Man A
Man B
Woman a
Woman b
1 2A b aB b a
1 2
a B Ab A B
![Page 7: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/7.jpg)
Setting of stable marriage problem
• Case N=4 (Men {A,B,C,D}, Women {a,b,c,d})
1 2 3 4
A c b d a
B b a c d
C b d a c
D c a d b
1 2 3 4
a A B D C
b C A D B
c C B D A
d B A C D
Men’s preference list Women’s preference list
![Page 8: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/8.jpg)
Simple approach
1 2 3 4
A c b d a
B b a c d
C b d a c
D c a d b
1 2 3 4
a A B D C
b C A D B
c C B D A
d B A C D
Men’s preference list Women’s preference list
(Aa, Bb, Cc, Dd) A and b are a blocking pair.
(Ab, Ba, Cc, Dd) b and C are a blocking pair.
(Ac, Ba, Cb, Dd) c and D are a blocking pair.
(Ad, Ba, Cb, Dc) This is a stable matching.
Is this approach valid for any preference list ?
![Page 9: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/9.jpg)
Simple approach• Case N= 3(Men {A,B,C}, Women {a,b,c})
1 2 3
A b a c
B c a b
C a b c
1 2 3
a A C B
b C A B
c C B A
Men’s preference list Women’s preference list
(Aa, Bb, Cc)(Ab, Ba, Cc)
A and b are a blocking pair.b and C are a blocking pair.A and a are a blocking pair.
a and C are a blocking pair.
(Ac, Ba, Cb)(Ac, Bb, Ca)
This approach does not end.But (Ab, Bc, Ca) and (Aa, Bc, Cb) are stable matcihg.Thus this approach can not obtain stable matching for any lists.
This is initial matching!
![Page 10: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/10.jpg)
Applications of stable matching
• Distribution of students among laboratory• Distribution interns into hospitals[1]
- reference -[1] 医師臨床研修マッチング協議会 (JAPAN INTERNS MATCHING CONFERENCE(?))
URL) http://www.jrmp.jp/ 2008/3/26
![Page 11: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/11.jpg)
Distribution n interns into m hospitals nk: capacity of k-th hospital n1+n2+ ・・・ +nm=n
The number of interns > the capacities of hospitals⇒ fictitious hospital (the worst choice for inters)(the capacity of fictitious hospital = The number of interns - the capacities of hospitals)
The number of interns < the capacities of hospitals⇒ fictitious interns (the worst choice for hospitals)(the number of fictitious interns = The capacities of hospitals - the number of interns )
![Page 12: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/12.jpg)
Distribution n interns into m hospitals
Interns I1
I2
. . . In
Hospitals H1 (capacity n1) H2 (capacity n2) . . . Hm (capacity nm
![Page 13: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/13.jpg)
Distribution n interns into m hospitalsInterns I1
I2
. . . In
Hospitals H11 (capacity 1) H12 (capacity 1) H1n1
(capacity 1) H21 (capacity 1) H22 (capacity 1) H2n2
(capacity 1)
……
…
Same list
Same list
Then we modify this model to original stable marriage model.
![Page 14: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/14.jpg)
Incomplete lists
1 2 3
A a
B c a b
C c a
1 2 3
a C A
b B A C
c B C
Men’s preference list Women’s preference list
In these reference lists, only (Aa, Bb, Cc) is matching. But this matching is not stable matching.It is known that there exists a stable matching for complete lists.
![Page 15: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/15.jpg)
Incomplete lists
1 2 3
A a ω ω
B c a b
C c a ω
1 2 3
a C A Ω
b B A C
c B C Ω
Men’s preference list Women’s preference list
We add new man Ω and new woman ω.Ω is the worst choice for women.ω is the worst choice for men.
![Page 16: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/16.jpg)
Gale-Shapley algorithm
• This algorithm can find a stable matching. • The matching is optimal for men(women).• The algorithm contains following four steps.– 1. man proposes to his desirable woman one by one.– 2. woman decides whether accept or reject.– 3. If a man is refused, then he remove her name from his
preference list.– 4. Repeat the steps above, until every man is accepted by a
woman.
![Page 17: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/17.jpg)
Pseudo code of Gale-Shapley algorithm Variables and constants n: number of women = number of men k: number of couples X: suitor x: woman toward whom the suitor makes advances Ω: (undesirable) imaginary man
K=0; all the women are engaged to Ω; while(k < n){ X=(k+1)-st man; while(X != Ω){ x=the best choice remaining on X’s list; if(x prefers X to her current partner){ engage X and x; X=preceding partner of x;} if(X != Ω) withdraw x from X’s list; } k = k+1;}Output matching ;
![Page 18: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/18.jpg)
c b
Gale-Shapley algorithm
Men’s list Women’s list
A B C ba D cd
1 2 3 4
A c b d a
B b a c d
C b d a c
D c a d b
1 2 3 4
a A B D C
b C A D B
c C B D A
d B A C D
Ω a Ω b Ω c Ω d
![Page 19: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/19.jpg)
Gale-Shapley algorithm
• Features ・ The algorithm can find a stable matching.・ The matching is optimal solution for men (women).・ The matching is independent from the order of proposals.
![Page 20: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/20.jpg)
The algorithm can find a stable matching
Man A
Man
Woman
Woman a
Suppose A is not married to a and if A prefers a to his partner in the matching obtained. Then a has rejected A’s proposal and is married to someone she prefers to A.Then A and a is not blocking pair . Thus the matching is stable.
![Page 21: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/21.jpg)
The matching is optimal solution for men (women)
A man can not marry with a woman who ranks higher in his list than his partner.
If the women make the advances, then the matching obtained is optimal for women.
![Page 22: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/22.jpg)
Man A Woman a Man A
Man B
Woman a
Woman b
If one stable matching contains Aa, and another contains Ab and Ba, then either A prefers b to a and a prefers A to B or A prefers a to b and a prefers B to A.
![Page 23: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/23.jpg)
Man A Woman a
Man A
Man B
Woman a
Woman b
If one stable matching contains Aa, and another contains Ab and Ba, then either A prefers b to a and a prefers A to B or A prefers a to b and a prefers B to A.
Every other stable matching is better for one of the spouses and worse for the other.
![Page 24: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/24.jpg)
There are two stbale matching. One is the (Aa, …), and another is the (Ab, Ba, …).
Then it is hold that either A prefers b to a and a prefers A to B, or A prefers a to b and a prefers B to A.
![Page 25: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/25.jpg)
Proof. We prove the situations of A and a can not both worsen in the second matching.
We prove that they can not improve for the two at the same time.
Notation: bAa ⇒ A prefers b to a. AaB ⇒ a prefers A to B.
![Page 26: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/26.jpg)
A=X0, a=x0, b=x1 , and suppose bAa then x1X0x0. The matching (Aa, …) is a worse choice for X0, x1 marries with X1 and X1x1X0 . The matching is better choice for x1. The matching (Ab, Ba, …) is a worse choice for x1. X1 marries with x2 and x2X1x1.
![Page 27: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/27.jpg)
We obtain the sequence X0x0 X1x1 X2x2 … in the matching (Aa, …), X0x1 X1x2 X2x3 … in the matching (Ab, Ba, …)where xk+1Xkxk and Xk+1xk+1Xk for all k ≧0. Since the number of person is finite, there exist integers j and k, j <k, such that Xj= Xk.Let j be the smallest integer having this property and for this j, let k be the smallest integer such that Xj= Xk and k>j. Then xj= xk .
![Page 28: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/28.jpg)
If j=0 since otherwise Xk-1xk=Xk-1xj would appear in the matching (Ab, Ba, …) as well as Xj-1xj, from which Xj-1=Xk-1 , contradicting the fact that j is the smallest integer with Xj=Xk . Thus Xk-1x0 appears in the matching (Ab, Ba, …). But x0=a. Thus Xk-1=B. Given that XkxkXk-1, we have proved AaB.
![Page 29: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/29.jpg)
Number of proposalsWorst case O(n2) times (The maximum number of rejection is n(n-1)/2. ) The complexity of the algorithm is O(n2).
Best case n times (each man is not rejected . Thus each man’s partner is the really best partner for him. )
Then we estimate the mean number of proposals.
We will find an upper bound for the mean number of proposals.
![Page 30: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/30.jpg)
c b
When the algorithm is end?
Men’s list Women’s list
A B C ba D cd
1 2 3 4
A c b d a
B b a c d
C b d a c
D c a d b
1 2 3 4
a A B D C
b C A D B
c C B D A
d B A C D
Ω a Ω b Ω c Ω d
![Page 31: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/31.jpg)
We address the order of proposals
When the algorithm ends?
Woman’s list
1 2 3 4
a A B D C
b C A D B
c C B D A
d C A B D
When all women appear in this sequence, we obtain a stable matching.
d,b,d,b,c,c,b,d,a,c,dd ab d b c c b d1 2 3 4
A d b
B b c
C d
D c b d a
![Page 32: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/32.jpg)
coupon collector’s problem
• There are n distinct coupons and that each time one buys a box of detergent one obtains a coupon at random. How many boxes must be bought, on average, to obtain all n coupons?
C B C A C B D D
Case n=4 { A,B,C,D }
→we stop to buy boxes, when we obtain 4 kinds of coupon.
![Page 33: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/33.jpg)
mean value qk : the probability that at least k boxes are necessary m: number of coupons that we have. n : number of kinds of coupons
)/13/12/11(
)}1(/{)2/()1/()0/(
nn
nnnnnnnnn
Mean number of boxesone must buy to obtain new coupons when he already have m coupons.
The mean value of boxes one must buy to obtain all n coupons.
q1=1, q2=m/n, q3=(m/n)2,…
q1+q2+q3+...=1+(m/n)+(m/n)2+...
![Page 34: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/34.jpg)
mean value
nnH
nn
nnnnnnnnn
)/13/12/11(
)}1(/{)2/()1/()0/(
where Hn is the sum of the first n terms of the harmonic series 1+1/2+1/3+ ・・・ . Hn=ln n+γ+1/(2n)-1/(12n2)+ε where 0 < ε < 1/(120n4), γ is Euler’s constant.An upper bound for the mean number E(N) of proposals to obtain a stable matching by Gale-Shapley algorithm is nHn=nln n+O(n).
![Page 35: Stable Marriage Problem Introductory talk](https://reader034.vdocuments.us/reader034/viewer/2022042718/56813fd0550346895daab27f/html5/thumbnails/35.jpg)
mean value
An upper bound for the mean number E(N) of proposals to obtain a stable matching by Gale-Shapley algorithm is nHn=nln n+O(n).
Man can marry with a woman who is ranked ln n in his list on the average.