Reading Assignment: Kleinberg and Tardos Chapter 7 and Chapter 8.
Instructions: You are allowed to collaborate with fellow students taking the class in solving problem sets. However, you must write up your problem sets individually. If you do collaborate in any way, you must acknowledge for each problem the people you worked with on that problem.
The problems have been chosen for their pedagogical value and hence might be similar or identical to those given out in past offerings of this course at UW, or similar courses at other schools. Using any pre-existing solutions from these sources, from the Web or other algorithms textbooks constitues a violation of the academic integrity expected of you and is strictly prohibited.
Most of the problems require only one or two key ideas for their solution. In writing up your solutions make sure that you clearly write out the main ideas of your solution first so that if you make a mistake in the details you can still get good partial credit for the problem. After you sketch out your solution try to clean up your presentation to make sure that you are only making necessary correct claims since additional incorrect claims will hurt your score.
Please typeset solutions for legibility and hand in hard copies. (The goal for this is not to be time-consuming so don't waste time using drawing programs; hand-drawn diagrams are OK.)
Whether or not the problem asks for it explicitly, you are required to prove that your algorithms do what you claim and give a runtime analysis.
A final piece of advice: Begin work on the problem set early and don't wait till the deadline is only a few days away.
Problems:
At each round the new algorithm will simultaneously augment along all paths in some maximal set Pshort of vertex-disjoint shortest augmenting paths in the flow graph associated with the bipartite matching problem. (In other words, if df(s,t) is the length of the shortest augmenting path in the residual graph Gf then every path in Pshort has length df(s,t) and any other st-path of length df(s,t) shares at least one vertex other than s and t with a path in Pshort.)