Lecture 9 CSE 331 Sep 20, 2010
About 5 more to go… I’ll need confirmation in writing. No graded material will be handed back till I get this signed form from you!
HW 2 Q 4 example on the blog
GS algorithm: Firefly Edition 1 2 3 4 5 6 1
GS algo outputs a stable matching Last lecture, GS outputs a perfect matching S Lemma 2: S has no instability
Two obervations Obs 1: Once m is engaged he keeps getting engaged to “better” women Obs 2: If w proposes m’ first and then to m (or never proposes to m) then she prefers m’ to m
Proof of Lemma 2 By contradiction w’ last proposed to m’ Assume there is an instability (m,w’) m w m prefers w’ to w w prefers m to m’ m’ w’
Contradiction by Case Analysis Depending on whether w’ had proposed to m or not Case 1: w’ never proposed to m w’ m By Obs 2 w’ prefers m’ to m Assumed w’ prefers m to m’ Source: 4simpsons.wordpress.com
Case 2: w’ had proposed to m Case 2.1: m had accepted w’ proposal m is now engaged to w 4simpsons.wordpress.com Thus, m prefers w to w’ By Obs 1 Case 2.1: m had rejected w’ proposal m was engaged to w’’ (prefers w’’ to w’) By Obs 1 m is finally engaged to w (prefers w to w’’) By Obs 1 m prefers w to w’ 4simpsons.wordpress.com
Overall structure of case analysis Did w’ propose to m? Did m accept w’ proposal? 4simpsons.wordpress.com 4simpsons.wordpress.com 4simpsons.wordpress.com
Questions?
Extensions Fairness of the GS algorithm Different executions of the GS algorithm
Main Steps in Algorithm Design Problem Statement Problem Definition n! Algorithm “Implementation” Analysis Correctness Analysis
Definition of Efficiency An algorithm is efficient if, when implemented, it runs quickly on real instances Implemented where? Platform independent definition What are real instances? Worst-case Inputs N = 2n2 for SMP Efficient in terms of what? Input size N
Definition-II n! How much better? By a factor of 2? Analytically better than brute force How much better? By a factor of 2?
At most c.Nd steps (c>0, d>0 absolute constants) Definition-III Should scale with input size If N increases by a constant factor, so should the measure Polynomial running time At most c.Nd steps (c>0, d>0 absolute constants) Step: “primitive computational step”
More on polynomial time Problem centric tractability Can talk about problems that are not efficient!
Reading Assignments Sections 1.2, 2.1, 2.2 and 2.4 in [KT]
Asymptotic Analysis Travelling Salesman Problem (http://xkcd.com/399/)
Which one is better?
Now?
And now?
The actual run times n! 100n2 Asymptotic View n2
Asymptotic Notation ≤ is O with glasses ≥ is Ω with glasses