Lecture 10 CSE 331 Sep 21, 2011
Online Office Hr Toinght 9:30-10:00
Please do let me know if I’m mumbling
Gale-Shapley Algorithm At most n2 iterations Intially all men and women are free While there exists a free woman who can propose Let w be such a woman and m be the best man she has not proposed to w proposes to m O(1) time implementation If m is free (m,w) get engaged Else (m,w’) are engaged If m prefers w’ to w w remains free Else (m,w) get engaged and w’ is free Output the engaged pairs as the final output
Gale-Shapley Algorithm Linked list of free women Intially all men and women are free Array Next[w] While there exists a free woman who can propose Let w be such a woman and m be the best man she has not proposed to w proposes to m Array Current[m] If m is free (m,w) get engaged Else (m,w’) are engaged Today If m prefers w’ to w w remains free ManPref[m,j] WomanPref[w,j] Else (m,w) get engaged and w’ is free Output the engaged pairs as the final output
Yes, Firefly again but with numbers 1 1 2 2 3 3
The data structures so far 1 2 3 Man-Pref 1 1 1 2 3 2 2 1 2 3 3 3 1 3 Linked list of free women 2 1 2 3 first 1 Next Current
Implementation Steps (1) How to represent the input? (2) How do we find a free woman w? Init: O(n), Query/Update: O(1) (3) How would w pick her best unproposed man m? Init: O(n), Query/Update: O(1) (4) How do we know who m is engaged to? Init: O(n), Query/Update: O(1) (5) How do we decide if m prefers w’ to w?
Overall running time n2 X ( O(1) + O(1) + O(1)+ Query/Update(5) ) O(n) + O(n) + O(n)+ Init(5) n2 X ( O(1) + O(1) + O(1)+ Query/Update(5) )
Questions?
Puzzle Prove that any algorithm for the SMP takes Ω(n2) time
Reading Assignments Sec 1.1 and Chap. 2 in [KT]
Relationship: Mention in other’s program Graphs Representation of relationships between pairs of entities/elements Edge Entities: News hosts Relationship: Mention in other’s program Vertex
Graphs are omnipresent Airline Route maps
What does this graph represent? Internet
And this one? Math articles on Wikipedia
And this one?
Rest of today’s agenda Basic Graph definitions