Professional Documents
Culture Documents
Sessions - 1 and 2
Sessions - 1 and 2
12
A First Problem: Stable Matching
• Target Applications:
• Selecting teaching assistants (TA) for courses – TA-course matching problem
• Matching medical students to hospitals
• Matching employers to applicants for job hiring
• College admission – matching students to colleges
• Content delivery networks – assigning users to web servers
13
A First Problem: Stable Matching
• Target Applications:
• Selecting teaching assistants (TA) for courses – TA-course matching problem
• Matching medical students to hospitals
• Matching employers to applicants for job hiring
• College admission – matching students to colleges
• Content delivery networks – assigning users to web servers
14
Stability Matching – Formulating the Problem
15
TA-course matching problem
course instructor A TA A
Unstable Pair
(course instr A, TA B)
course instructor B TA B
16
TA-course matching problem
18
Perfect matching
M = {(CS100 – Charlie)}
19
Perfect matching
M = {(CS100 – Charlie)}
M = {(CS100 – Charlie), (CS200 – Bob)}
20
Perfect matching
CS100 Alice
CS200 Bob
CS300 Charlie
CS100 Alice
an unstable pair
𝑐 − 𝑎 could each
improve by joint CS200 Bob
action
CS300 Charlie
CS100 Alice
CS200 Bob
CS300 Charlie
27
Unstable pair – How to resolve?
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
M = {(CS100 – Alice), (CS200 – Bob), (CS300 – Charlie)}
CS100 Alice
CS200 Bob
CS300 Charlie
No unstable pair
Perfect Matching and Stable Assignment 28
Stable matching – Live Poll 1
CS200 Bob
CS300 Charlie
31
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
CS300 Charlie
32
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
33
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
34
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
35
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
36
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
37
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
38
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
39
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
40
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
41
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
42
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
43
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
44
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
45
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
46
Stable Matching – Moving Towards Algorithm Design
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 100 CS 300
CS 200 Bob Alice Charlie Bob CS 100 CS 200 CS 300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
51
Stable Matching – Moving Towards Algorithm Design 1
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
52
Stable Matching – Moving Towards Algorithm Design 1
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
53
Stable Matching – Moving Towards Algorithm Design 2
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
54
Stable Matching – Moving Towards Algorithm Design 2
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
55
Stable Matching – Moving Towards Algorithm Design 2
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
56
Stable Matching – Moving Towards Algorithm Design 3
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
57
Stable Matching – Moving Towards Algorithm Design 3
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
58
Stable Matching – Moving Towards Algorithm Design 3
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
59
Stable Matching – Moving Towards Algorithm Design 3
1st 2nd 3rd 1st 2nd 3rd
CS 100 Alice Bob Charlie Alice CS 200 CS 300
100 CS 100
300
CS 200 Bob Charlie
Alice Alice
Charlie Bob CS 300
100 CS 100
200 CS 200
300
CS 300 Alice Bob Charlie Charlie CS 100 CS 200 CS 300
79
Gale-Shapely deferred acceptance algorithm
80