1 Chapter 1 Introduction: Some Representative Problems Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.

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.
Matching Theory.
Matching problems Toby Walsh NICTA and UNSW. Motivation Agents may express preferences for issues other than a collective decision  Preferences for a.
CSC 430 Lecture1: Introduction and Python Primer.
Improved Efficiency for Private Stable Matching Matthew Franklin, Mark Gondree, and Payman Mohassel University of California, Davis 02/07/07 - Session.
Joint work with Rob Irving
Telling a computer how to behave (via pseudocode -- a workaround for Computing’s Tower of Babel.) COS 116, Spring 2010 Adam Finkelstein.
ZeusBerthaAmyDianeErikaClare YanceyAmyClareDianeBerthaErika XavierBerthaClareErikaDianeAmy WyattDianeAmyBerthaClareErika VictorBerthaDianeAmyErikaClare.
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.
Chapter 26 of CLSR Bipartite Matching By Dr. M. Sakalli, Sources: Levitin and many other CSE, Marmara Univ. May/2009.
Lecture 4 CSE 331 Sep 9, Blog posts for lectures Starts from today See Sep 8 post on the blog.
Princeton University COS 423 Theory of Algorithms Spring 2002 Kevin Wayne COS 423: Theory of Algorithms Princeton University Spring, 2001 Kevin Wayne.
A Longer Example: Stable Matching UNC Chapel HillZ. Guo.
Inefficiency of equilibria, and potential games Computational game theory Spring 2008 Michal Feldman.
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.
9/3/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Guest lecturer: Martin Furer Algorithm Design and Analysis L ECTURE.
Telling a computer how to behave (via pseudocode -- a workaround for Computing’s Tower of Babel.) COS 116, Spring 2012 Adam Finkelstein.
Creating new worlds inside the computer COS 116: 2/10/2011 Sanjeev Arora.
Piyush Kumar (Lecture 1: Introduction) Welcome to COT5405.
Piyush Kumar (Lecture 1: Introduction)
CSC 430 Lecture1: Introduction and Python Primer.
The Stable Marriage Problem
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 1.
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.
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2013.
L3 #1 The Hospitals / Residents Problem and Some Extensions David Manlove University of Glasgow Department of Computing Science Supported by EPSRC grant.
Lecture 3 CSE 331. Stable Matching Problem Problem Statement Algorithm Problem Definition Implementation Analysis.
Advanced Algorithms Piyush Kumar (Lecture 1: Introduction) Welcome to COT5405.
Stable Matchings a.k.a. the Stable Marriage Problem
CSE 331: Review. Main Steps in Algorithm Design Problem Statement Algorithm Real world problem Problem Definition Precise mathematical def “Implementation”
1 The Stable Marriage Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Lecture 23: Stable Marriage ( Based on Lectures of Steven Rudich of CMU and Amit Sahai of Princeton) Shang-Hua Teng.
Stable Matching Lecture 7: Oct 3. Matching A B C DE Boys Girls Today’s goal: to “match” the boys and the girls in a “good” way.
1 Chapter 1 Introduction: Some Representative Problems Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
The Stable Marriage Problem
Matching Lecture 19: Nov 23.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
1 Chapter 5-1 Greedy Algorithms Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
CSCI 256 Data Structures and Algorithm Analysis lecture 1 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
Fair Shares.
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
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 ( 陈宁 )
Market Design and Analysis Lecture 1 Lecturer: Ning Chen ( 陈宁 )
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 3.
COMP9007: Algorithms Stable Matching. What's in an algorithm? Algorithms can have huge impact For example – A report to the White House from 2010 includes.
Matching Boys Girls A B C D E
Cybernetica AS & Tartu University
Stable Matching.
Chapter 1 Introduction: Some Representative Problems
Stable Marriage Problem
Chapter 10 Iterative Improvement
CSE 421: Introduction to Algorithms
11/15/2018.
11/18/2018.
Lecture 6 CSE 331 Sep 11, 2017.
Complexity & Analysis of Data Structures & Algorithms
S. Raskhodnikova; based on slides by K. Wayne
Richard Anderson Autumn 2006 Lecture 1
CSE 421: Introduction to Algorithms
1.1 A First Problem: Stable Matching
Discrete Math for CS CMPSC 360 LECTURE 9 Last time: Strong induction
Chapter 1 Introduction: Some Representative Problems
Lecture 6 CSE 331 Sep 12, 2011.
Lecture 6 CSE 331 Sep 12, 2016.
Lecture 7 CSE 331 Sep 10, 2014.
Richard Anderson Winter 2019 Lecture 1
Piyush Kumar (Lecture 3: Stable Marriage)
Lecture 7 CSE 331 Sep 11, 2013.
Presentation transcript:

1 Chapter 1 Introduction: Some Representative Problems Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.

1.1 A First Problem (warm-up problem): Stable Matching Problem -- Greedy Algorithm

3 Matching Residents to Hospitals Goal. Given a set of preferences among hospitals and medical school students, design a self-reinforcing admissions process. Unstable pair: applicant x and hospital y are unstable if: n x prefers y to its assigned hospital. n y prefers x to one of its admitted students. Stable assignment. Assignment with no unstable pairs. n Natural and desirable condition. n Individual self-interest will prevent any applicant/hospital deal from being made.

4 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 in order of preference from best to worst. n Each woman lists men in order of preference from best to worst. ZeusAmyClareBertha YanceyBerthaClareAmy XavierAmyClareBertha 1 st 2 nd 3 rd Men’s Preference Profile favoriteleast favorite ClareXavierZeusYancey BerthaXavierZeusYancey AmyYanceyZeusXavier 1 st 2 nd 3 rd Women’s Preference Profile favoriteleast favorite

5 Stable Matching Problem Perfect matching: everyone is matched monogamously. n Each man gets exactly one woman. n Each woman gets exactly one man. Stability: no incentive for some pair of participants to undermine assignment by joint action. n In matching M, an unmatched pair m-w is unstable if man m and woman w prefer each other to current partners. n Unstable pair m-w could each improve by eloping. Stable matching: perfect matching with no unstable pairs. Stable matching problem. Given the preference lists of n men and n women, find a stable matching if one exists.

6 Stable Matching Problem Q. Is assignment X-C, Y-B, Z-A stable? ZeusAmyClareBertha YanceyBerthaClareAmy XavierAmyClareBertha 1 st 2 nd 3 rd Men’s Preference Profile ClareXavierZeusYancey BerthaXavierZeusYancey AmyYanceyZeusXavier 1 st 2 nd 3 rd Women’s Preference Profile favoriteleast favoritefavorite least favorite

7 Stable Matching Problem Q. Is assignment X-C, Y-B, Z-A stable? A. No. Bertha and Xavier will hook up. ZeusAmyClareBertha YanceyBerthaClareAmy XavierAmyClareBertha ClareXavierZeusYancey BerthaXavierZeusYancey AmyYanceyZeusXavier 1 st 2 nd 3 rd 1 st 2 nd 3 rd favoriteleast favoritefavorite least favorite Men’s Preference ProfileWomen’s Preference Profile

8 Stable Matching Problem Q. Is assignment X-A, Y-B, Z-C stable? A. Yes. ZeusAmyClareBertha YanceyBerthaClareAmy XavierAmyClareBertha ClareXavierZeusYancey BerthaXavierZeusYancey AmyYanceyZeusXavier 1 st 2 nd 3 rd 1 st 2 nd 3 rd favoriteleast favoritefavorite least favorite Men’s Preference ProfileWomen’s Preference Profile

Designing the algorithm Basic Ideas (Greedy Strategy): n We use two stages: – Engagement to keep the best-so-far solutions. – Engagement can be dissolved if receiving a better proposal. – Finally, if no one is free, all engagements are final. n This is a classical greedy strategy. 9

10 Another Class of Problem: Stable Roommate Problem Q. Do stable matchings always exist? A. Not obvious a priori. Stable roommate problem. n 2n people; each person ranks others from 1 to 2n-1. n Assign roommate pairs so that no unstable pairs. Observation. Stable matchings do not always exist for stable roommate problem. B Bob Chris Adam C A B D D Doofus ABC D C A 1 st 2 nd 3 rd A-B, C-D  B-C unstable A-C, B-D  A-B unstable A-D, B-C  A-C unstable

Propose-and-reject algorithm. [Gale-Shapley 1962] Intuitive method that guarantees to find a stable matching. 11 Propose-And-Reject Algorithm Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to whom m has not yet proposed if (w is free) assign m and w to be engaged else if (w prefers m to her fiancé m') assign m and w to be engaged, and m' to be free else w rejects m }

12 Proof of Correctness: Termination Observation 1. Men propose to women in decreasing order of preference. Observation 2. Once a woman is matched, she never becomes unmatched; she only "trades up." Claim. Algorithm terminates after at most n 2 iterations of while loop. Pf. Each time through the while loop a man proposes to a new woman. There are only n 2 possible proposals. ▪ Wyatt Victor 1 st A B 2 nd C D 3 rd C B AZeus Yancey XavierC D A B B A D C 4 th E E 5 th A D E E D C B E Bertha Amy 1 st W X 2 nd Y Z 3 rd Y X VErika Diane ClareY Z V W W V Z X 4 th V W 5 th V Z X Y Y X W Z n(n-1) + 1 proposals required

13 Proof of Correctness: Perfection Claim. All men and women get matched. Pf. (by contradiction) n Suppose, for sake of contradiction, that Zeus is not matched upon termination of algorithm. n Then some woman, say Amy, is not matched upon termination. n By Observation 2, Amy was never proposed to. n But, Zeus proposes to everyone, since he ends up unmatched. ▪

14 Proof of Correctness: Stability Claim. No unstable pairs. Pf. (by contradiction) n Suppose A-Z is an unstable pair: each prefers each other to partner in Gale-Shapley matching S*. n Case 1: Z never proposed to A.  Z prefers his GS partner to A.  A-Z is stable. n Case 2: Z proposed to A.  A rejected Z (right away or later)  A prefers her GS partner to Z.  A-Z is stable. n In either case A-Z is stable, a contradiction. ▪ Bertha-Zeus Amy-Yancey S*... men propose in decreasing order of preference women only trade up

15 Summary Stable matching problem. Given n men and n women, and their preferences, find a stable matching if one exists. Gale-Shapley algorithm. Guarantees to find a stable matching for any problem instance. Q. How to implement GS algorithm efficiently? Q. If there are multiple stable matchings, which one does GS find?

16 Efficient Implementation Efficient implementation. We describe O(n 2 ) time implementation. Representing men and women. n Assume men are named 1, …, n. n Assume women are named 1', …, n'. Engagements. n Maintain a list of free men, e.g., in a queue. – Or, use array free[m] to flag whether a man is free or not. Maintain two arrays wife[m], and husband[w]. – set entry to 0 if unmatched – if m matched to w then wife[m]=w and husband[w]=m Men proposing. n For each man, maintain a list of women, ordered by preference. Maintain an array count[m] that counts the number of proposals made by man m. – This could be used as the index to the preference list

17 Efficient Implementation Women rejecting/accepting. Does woman w prefer man m to man m' ? n For each woman, create inverse of preference list of men. n Constant time access for each query after O(n) preprocessing. – Why need the inverse list? for i = 1 to n inverse[pref[i]] = i Pref 1 st 8 2 nd 7 3 rd 3 4 th 4 5 th th 7 th 8 th Inverse4 th 2 nd 8 th 6 th 5 th 7 th 1 st 3 rd Amy Amy prefers man 3 to 6 since inverse[3] < inverse[6] 2 7

18 Understanding the Solution Q. For a given problem instance, there may be several stable matchings. Do all executions of Gale-Shapley yield the same stable matching? If so, which one? An instance with two stable matchings. n A-X, B-Y, C-Z. n A-Y, B-X, C-Z. Zeus Yancey Xavier A B A 1 st B A B 2 nd C C C 3 rd Clare Bertha Amy X X Y 1 st Y Y X 2 nd Z Z Z 3 rd

19 Understanding the Solution Q. For a given problem instance, there may be several stable matchings. Do all executions of Gale-Shapley yield the same stable matching? If so, which one? Def. Man m is a valid partner of woman w if there exists some stable matching in which they are matched. Man-optimal assignment. Each man receives best valid partner.

20 Man Optimality Claim. All executions of GS yield man-optimal assignment, which is a stable matching! S* = {(m, best(m)): m  M} n No reason a priori to believe that man-optimal assignment is perfect, let alone stable. n Simultaneously best for each and every man. Claim. Every execution of GS results in the same matching S* Pf. (by contradiction) complicated, will not explain here

21 Stable Matching Summary Stable matching problem. Given preference profiles of n men and n women, find a stable matching. Gale-Shapley algorithm. Finds a stable matching in O(n 2 ) time. Man-optimality. In version of GS where men propose, each man receives best valid partner. Q. Does man-optimality come at the expense of the women? no man and woman prefer to be with each other than assigned partner w is a valid partner of m if there exist some stable matching where m and w are paired

22 Woman Pessimality Woman-pessimal assignment. Each woman receives worst valid partner. Claim. GS finds woman-pessimal stable matching S*. Pf. n Suppose A-Z matched in S*, but Z is not worst valid partner for A. n There exists stable matching S in which A is paired with a man, say Y, whom she likes less than Z. n Let B be Z's partner in S. n Z prefers A to B. n Thus, A-Z is an unstable in S. ▪ Bertha-Zeus Amy-Yancey S... man-optimality

23 Extensions: Matching Residents to Hospitals Ex: Men  hospitals, Women  med school residents. Variant 1. Some participants declare others as unacceptable. Variant 2. Unequal number of men and women. Variant 3. Limited polygamy. Def. Matching S unstable if there is a hospital h and resident r such that: n h and r are acceptable to each other; and n either r is unmatched, or r prefers h to her assigned hospital; and n either h does not have all its places filled, or h prefers r to at least one of its assigned residents. resident A unwilling to work in Cleveland hospital X wants to hire 3 residents

24 Lessons Learned Powerful ideas learned in course. n Isolate underlying structure of problem. n Create useful and efficient algorithms. Potentially deep social ramifications. [legal disclaimer]  Historically, men propose to women. Why not vice versa?  Men: propose early and often.  Men: be more honest.  Women: ask out the guys.  Theory can be socially enriching and fun!

1.2 Five Representative Problems

26 Interval Scheduling Input. Set of jobs with start times and finish times. Goal. Find maximum cardinality subset of mutually compatible jobs. Time f g h e a b c d h e b jobs don't overlap

27 Weighted Interval Scheduling Input. Set of jobs with start times, finish times, and weights. Goal. Find maximum weight subset of mutually compatible jobs. Time

28 Bipartite Matching Input. Bipartite graph. Goal. Find maximum cardinality matching. C A E 3 B D4

29 Independent Set Input. Graph. Goal. Find maximum cardinality independent set subset of nodes such that no two joined by an edge

30 Competitive Facility Location Input. Graph with weight on each node. Game. Two competing players alternate in selecting nodes. Not allowed to select a node if any of its neighbors have been selected. Goal. Select a maximum weight subset of nodes Second player can guarantee 20, but not 25.

31 Five Representative Problems Variations on a theme: independent set. Interval scheduling: n log n greedy algorithm. Weighted interval scheduling: n log n dynamic programming algorithm. Bipartite matching: n k max-flow based algorithm. Independent set: NP-complete. Competitive facility location: PSPACE-complete. (polynomial space)