CSE 421 Algorithms Richard Anderson (for Anna Karlin) Winter 2006 Lecture 2.

Slides:



Advertisements
Similar presentations
Piyush Kumar (Lecture 3: Stable Marriage) Welcome to COT5405.
Advertisements

Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2013 Lecture 2.
Lecture 6 CSE 331 Sep 14. A run of the GS algorithm Mal Wash Simon Inara Zoe Kaylee.
CSE 421 Algorithms Richard Anderson Lecture 2. Announcements Office Hours –Richard Anderson, CSE 582 Monday, 10:00 – 11:00 Friday, 11:00 – 12:00 –Yiannis.
Lecture 4 CSE 331 Sep 9, Blog posts for lectures Starts from today See Sep 8 post on the blog.
Lecture 5 CSE 331 Sep 11, HW 1 out today Will be handed out at the END of the lecture Read the homework policy document carefully START EARLY! ©ehow.com.
Lecture 7 CSE 331 Sep 16, Feedback forms VOLUNTARY Last 5 mins of the lecture.
CSE 421 Algorithms Richard Anderson Autumn 2006 Lecture 2.
CSE 421 Algorithms Richard Anderson Lecture 3. Classroom Presenter Project Understand how to use Pen Computing to support classroom instruction Writing.
Lecture 8 CSE 331 Sep 17, HW 1 due today Place Q1 and Q2 in separate piles I will not accept HWs after 1:15pm.
Lecture 6 CSE 331 Sep 10, Homeworks HW 1 posted online: see blog/piazza Pickup graded HW 0 in TA OHs.
The Stable Marriage Problem
1 Stable Matching Problem Goal. Given n men and n women, find a "suitable" matching. n Participants rate members of opposite sex. n Each man lists women.
Lecture 4 CSE 331 Sep 6, TA change Swapnoneel will leave us for 531 Jiun-Jie Wang will join us.
Lecture 3 CSE 331. Stable Matching Problem Problem Statement Algorithm Problem Definition Implementation Analysis.
Lecture 2 CSE 331. Day 1 Survey On UBlearns Day 1 Survey (talking points) Security MS PhD for research Building PC’s for 442 It’s ok to play games –
Lecture 5 CSE 331 Sep 11, Submit the form I’ll need confirmation in writing. No graded material will be handed back till I get this signed form.
CSE 331: Review. Main Steps in Algorithm Design Problem Statement Algorithm Real world problem Problem Definition Precise mathematical def “Implementation”
Great Theoretical Ideas in Computer Science.
1 The Stable Marriage Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 1.
CSEP 521 Applied Algorithms Richard Anderson Winter 2013 Lecture 1.
Stable Marriages (Lecture modified from Carnegie Mellon University course Great Theoretical Ideas in Computer Science)
Bipartite Matching. Unweighted Bipartite Matching.
The Stable Marriage Problem
Great Theoretical Ideas in Computer Science for Some.
CSCI 256 Data Structures and Algorithm Analysis lecture 1 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
CSCI 256 Data Structures and Algorithm Analysis Lecture 2 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
Market Design and Analysis Lecture 2 Lecturer: Ning Chen ( 陈宁 )
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 4.
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
Matching Boys Girls A B C D E
Cybernetica AS & Tartu University
Stable Matching.
Lecture 4 CSE 331 Sep 7, 2016.
Lecture 8 CSE 331 Sep 14, 2011.
CSE 421: Introduction to Algorithms
The Mathematics Of 1950’s Dating: Who wins The Battle of The Sexes?
Lecture 5 CSE 331 Sep 10, 2010.
Lecture 4 CSE 331 Sep 6, 2017.
Lecture 7 CSE 331 Sep 14, 2016.
Lecture 6 CSE 331 Sep 11, 2017.
Richard Anderson (for Anna Karlin) Winter 2006 Lecture 1
S. Raskhodnikova; based on slides by K. Wayne
Richard Anderson Autumn 2006 Lecture 1
CSE 421: Introduction to Algorithms
Richard Anderson Lecture 3
Lecture 5 CSE 331 Sep 6, 2013.
Lecture 5 CSE 331 Sep 7, 2012.
Richard Anderson Autumn 2015 Lecture 1
Lecture 7 CSE 331 Sep 13, 2011.
Richard Anderson Autumn 2016 Lecture 2
Richard Anderson Autumn 2006 Lecture 1
Lecture 6 CSE 331 Sep 12, 2011.
Lecture 9 CSE 331 Sep 20, 2010.
Lecture 5 CSE 331 Sep 5, 2014.
Lecture 6 CSE 331 Sep 12, 2016.
Richard Anderson Winter 2009 Lecture 2
Lecture 7 CSE 331 Sep 10, 2014.
Richard Anderson Winter 2019 Lecture 1
Piyush Kumar (Lecture 3: Stable Marriage)
Lecture 5 CSE 331 Sep 9, 2011.
Lecture 7 CSE 331 Sep 11, 2013.
Richard Anderson Autumn 2015 Lecture 7
Richard Anderson Winter 2019 Lecture 2
Richard Anderson Winter 2019 Lecture 6
Richard Anderson Autumn 2016 Lecture 1
Richard Anderson Autumn 2015 Lecture 2
Richard Anderson Autumn 2019 Lecture 7
Richard Anderson Autumn 2019 Lecture 2
Presentation transcript:

CSE 421 Algorithms Richard Anderson (for Anna Karlin) Winter 2006 Lecture 2

Announcements It’s on the web. Homework 1, Due Jan 12 –It’s on the web Subscribe to the mailing list Anna will have an office hour Monday, Jan 9, 11am-noon. CSE 594

Formal notions Perfect matching Ranked preference lists Stability m1m1 w1w1 m2m2 w2w2

Algorithm Initially all m in M and w in W are free While there is a free m w highest on m’s list that m has not proposed to if w is free, then match (m, w) else suppose (m 2, w) is matched if w prefers m to m 2 unmatch (m 2, w) match (m, w)

Does this work? Does it terminate? Is the result a stable matching? Begin by identifying invariants and measures of progress –m’s proposals get worse –Once w is matched, w stays matched –w’s partners get better

The resulting matching is stable Suppose –m 1 prefers w 2 to w 1 –w 2 prefers m 1 to m 2 How could this happen? m1m1 w1w1 m2m2 w2w2

Result Simple, O(n 2 ) algorithm to compute a stable matching Corollary –A stable matching always exists

A closer look Stable matchings are not necessarily fair m 1 : w 1 w 2 w 3 m 2 : w 2 w 3 w 1 m 3 : w 3 w 1 w 2 w 1 : m 2 m 3 m 1 w 2 : m 3 m 1 m 2 w 3 : m 1 m 2 m 3 m1m1 m2m2 m3m3 w1w1 w2w2 w3w3

Algorithm under specified Many different ways of picking m’s to propose Surprising result –All orderings of picking free m’s give the same result Proving this type of result –Reordering argument –Prove algorithm is computing something mores specific Show property of the solution – so it computes a specific stable matching

Proposal Algorithm finds the best possible solution for M And the worst possible for W (m, w) is valid if (m, w) is in some stable matching best(m): the highest ranked w for m such that (m, w) is valid S* = {(m, best(m)} Every execution of the proposal algorithm computes S*

Proof Argument by contradiction Suppose the algorithm computes a matching S different from S* There must be some m rejected by a valid partner. Let m be the first man rejected by a valid partner w. w rejects m for m 1. w = best(m)

S + stable matching including (m, w) Suppose m 1 is paired with w 1 in S + m 1 prefers w to w 1 w prefers m 1 to m Hence, (m 1, w) is an instability in S + mw m1m1 mw m1m1 w1w1 w1w1

The proposal algorithm is worst case for W In S*, each w is paired with its worst valid partner Suppose (m, w) in S* but not m is not the worst valid partner of w S - a stable matching containing the worst valid partner of w Let (m 1, w) be in S -, w prefers m to m 1 Let (m, w 1 ) be in S -, m prefers w to w 1 (m, w) is an instability in S - mw1w1 m1m1 w

Could you do better? Is there a fair matching Design a configuration for problem of size n: –M proposal algorithm: All m’s get first choice, all w’s get last choice –W proposal algorithm: All w’s get first choice, all m’s get last choice –There is a stable matching where everyone gets their second choice

Key ideas for Stable Matching Formalizing real world problem –Model: graph and preference lists –Mechanism: stability condition Specification of algorithm with a natural operation –Proposal Establishing termination of process through invariants and progress measure Underspecification of algorithm Establishing uniqueness of solution

Question Goodness of a stable matching: –Add up the ranks of all the matched pairs –M-rank, W-rank Suppose that the preferences are completely random –If there are n M’s, and n W’s, what is the expected value of the M-rank and the W-rank

Expected Ranks Expected M rank Expected W rank

Expected M rank Expected M rank is the number of steps until all M’s are matched –(Also is the expected run time of the algorithm) Each steps “selects a w at random” –O(n log n) total steps –Average M rank: O(log n)

Expected W rank If a w receives k random proposals, the expected rank for w is n/(k+1). On the average, a w receives O(log n) proposals –The average w rank is O(n/log n)

What is the run time of the Stable Matching Algorithm? Initially all m in M and w in W are free While there is a free m w highest on m’s list that m has not proposed to if w is free, then match (m, w) else suppose (m 2, w) is matched if w prefers m to m 2 unmatch (m 2, w) match (m, w) Executed at most n 2 times

O(1) time per iteration Find free m Find next available w If w is matched, determine m 2 Test if w prefer m to m 2 Update matching

What does it mean for an algorithm to be efficient?