E N D
El Problema del Matrimonio EstableRoger Z. RíosPrograma de Posgrado en Ing. de SistemasFacultad de Ing. Mecánica y EléctricaUniversidad Autónoma de Nuevo Leónhttp://yalma.fime.uanl.mx/~pisisSeminario de Clase “Optimización de Flujo en Redes”PISIS – FIME - UANLCd. Universitaria 24 Agosto 2007
Agenda • Problem definition • Solution algorithm • Variations and extensions • Real-world application
Problem Definition • 2 disjoint sets of size n (women, men) Women’s preferences Men’s preferences Matching M ={(1,1), (2,3), (3,2), (4,4)} Blocking pair (4,1)
Problem Definition • 2 disjoint sets of size n (women, men) Women’s preferences Men’s preferences Matching M ={(1,1), (2,3), (3,2), (4,4)} Blocking pair (4,1)
Problem Definition • 2 disjoint sets of size n (women, men) Women’s preferences Men’s preferences Matching M ={(1,1), (2,3), (3,2), (4,4)} Blocking pair (4,1)
Problem Definition (SMP) • Instance of size n (n women, n men) and strictly ordered preference list • Matching: 1-1 correspondence between men and women • If woman w and man m matched in M w and m are partners, w=pM(m), m=pM(w) • (w,m) block a match M if w and m are not partners, but w prefers m to pM(w) and m prefers w to pM(m) • A match for which there is at least one blocking pair is unstable
Solution: Properties • Stability checking (for a given matching M) is easy • Stable matching existence (not obvious) due to Gale and Shapley (1962)
Solution: Stability for (m:=1 to n) do for (each w such that m prefers w to pM(m)) do if (w prefers m to pM(w)) then report matching unstable stop endif Report matching stable Simple stability checking algorithm O(n2)
Solution assign each person to be free while (some man m is free) do { w:=first woman on m’s list to whom m has not yet proposed if (w is free) then assign m and w to be engaged {to each other} else if (w prefers m to her fiance m’) then assign m and w to be engaged and m’ to be free else w rejects m {and m remains free} } end while Basic Gale-Shapley man-oriented algorithm
Solution: Proof • Theorem: For any given SMP instance the G-S algorithm terminates with a stable matching • Proof: • No man can be rejected by all woman • Termination in O(n2) • No blocking pairs • If m prefers w to pM(m), w must have rejected m at some point for a man she prefers better
Solution: Example Women’s preferences Men’s preferences Man 1 proposes to woman 4 (accepted) Partial matching M ={(4,1)}
Solution: Example Women’s preferences Men’s preferences Man 1 proposes to woman 4 (accepted) Partial matching M ={(4,1)} Man 2 proposes to woman 2 (accepted) Partial matching M ={(2,2), (4,1)}
Solution: Example Women’s preferences Men’s preferences Man 1 proposes to woman 4 (accepted) Partial matching M ={(4,1)} Man 2 proposes to woman 2 (accepted) Partial matching M ={(2,2), (4,1)}
Solution: Example Women’s preferences Men’s preferences Man 3 proposes to woman 2 (accepted and women 2 rejects man 2) Partial matching M ={(2,3), (4,1)}
Solution: Example Women’s preferences Men’s preferences Man 3 proposes to woman 2 (accepted and women 2 rejects man 2) Partial matching M ={(2,3), (4,1)} Man 2 proposes to woman 3 (accepted) Partial matching M ={(2,3), (3,2), (4,1)}
Solution: Example Women’s preferences Men’s preferences Man 3 proposes to woman 2 (accepted and women 2 rejects man 2) Partial matching M ={(2,3), (4,1)} Man 2 proposes to woman 3 (accepted) Partial matching M ={(2,3), (3,2), (4,1)}
Solution: Example Women’s preferences Men’s preferences Man 4 proposes to woman 3 (rejected, woman 3 prefers man 2) Partial matching M ={(2,3), (3,2), (4,1)}
Solution: Example Women’s preferences Men’s preferences Man 4 proposes to woman 3 (rejected, woman 3 prefers man 2) Partial matching M ={(2,3), (3,2), (4,1)} Man 4 proposes to woman 1 (accepted) Final Matching M ={(1,4), (2,3), (3,2), (4,1)} (Stable matching)
Solution: Example Women’s preferences Men’s preferences Man 4 proposes to woman 3 (rejected, woman 3 prefers man 2) Partial matching M ={(2,3), (3,2), (4,1)} Man 4 proposes to woman 1 (accepted) Final Matching M ={(1,4), (2,3), (3,2), (4,1)} (Stable matching)
Extensions/Variations • Stable Marriage Problem • Sets of unequal size • Unnacceptable partners • Indifference • Stable Roommate Problem • Stable Resident/Hospital Problem
Real-World Application • Stable Resident/Hospital Problem (SRHP) • Largest and best-known application of SMP • Used by the National Resident Matching Program (NRMP)
SRHP Application • R (residents), H (hospitals), qi:= # of available spots in hospital i • (r,h) is a blocking pair if r prefers h to his/her current hospital and h prefers r to at least one of its assigned residents • Solution: • Transformation into a SMP • Specialized algorithm
SRHP Application • History • 1st dilemma: Early proposals • 2nd dilemma: Tight acceptance start -2 -1 start
SRHP Application • Solution: • Transformation into a SMP • Specialized algorithm SMP Instance Residents r1 (h11, h12, h13, h2, h3, …) … Hospitals h11 (r1, r2, r3, …) h12 (r1, r2, r3, …) h13 (r1, r2, r3, …) … SRHP Instance Residents r1 (h1, h2, h3, …) … Hospitals h1 (r1, r2, r3, …), q1=3 …
Related Hard Problems • Finding all different stable matchings • Maximum number of stable matchings • Parallelization
Conclusions • Stable matchings • Gale-Shapley algorithm • Math/Computer Science/Economics • Scientific support to decision-making
Questions? http://yalma.fime.uanl.mx/~roger roger@yalma.fime.uanl.mx Acknowledgements: Racing - Barça El Sardinero This Sunday 12:00 CDT