CSE 421, Winter 2014, Homework #6

Due: Wednesday, February 26th, in class.

Remember to take a look at the grading guidelines.

Reading assignment: Kleinberg-Tardos, Chapter 7.

In solving the problem sets, you are allowed to collaborate with fellow students taking the class, but remember that you are required to write up the solutions by yourself. 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 carefully chosen for their pedagogical value, and hence might be similar to those given in past offerings of this course at UW, or similar to other courses at other schools.  Using any pre-existing solutions from these sources, for from the web, constitutes a violation of the academic integrity you are expected to exemplify, and is strictly prohibited.

Most of the problems only require one or two key ideas for their solution. It will help you a lot to spell out these main ideas so that you can get most of the credit for a problem even if you err on the finer details. A final piece of advice: Start working on the problem sets early! Don't wait until the day (or few days) before they're due.

Problems

  1. Problem 3, Chapter 7, Kleinberg-Tardos.
  2. Problem 4, Chapter 7, Kleinberg-Tardos.
  3. Problem 5, Chapter 7, Kleinberg-Tardos
  4. Problem 7, Chapter 7, Kleinberg-Tardos.
  5. Problem 10, Chapter 7, Kleinberg-Tardos

Extra credit

In the Ford-Fulkerson algorithm for maximum flows, we repeatedly found an augmenting path in the residual graph. Suppose instead that we simply searched for an augmenting path in the original graph.

In other words, suppose we currently have a flow f. We will find an s-t path P and add a flow f'' to f where f'' is a flow along P with value min { c(u,v) - f(u,v) : (u,v) is an edge on P }. In other words, we push as much additional flow along P as we can. We repeat this until there is no positive augmenting path P. (Unlike the Ford-Fulkerson algorithm, we can never "remove" flow that we have already routed from s to t.)

Either prove that, for any network there is some order in which to choose paths so that this method gives a maximum flow, or find a network where this method cannot produce a max flow no matter how the flow paths are chosen at every step.