You are on page 1of 2

University of California — Berkeley Handout PS10

CS170: Efficient Algorithms and Intractable Problems November 15, 2001


Professor Luca Trevisan

Problem Set 10

This problem set is due on Thursday, November 29, before 3:00pm.

Use the CS170 drop box in 283 Soda, or hand the solution to Jack Barr, in the CS main
office, 3rd floor of Soda.

Write your name, your student ID number and your section number on your
solution. Write legibly. The description of your proofs and algorithms should be as clear
as possible (which does not mean long – in fact, typically, good clear explanations are also
short.)

Problem 1. [CLRS 26.1-9]


The City College of Berkeley employs professor Dove and professor Hawk. The two aca-
demicians not only work in the same department, but also happen to live in the same
building. Over time, their disagreement over political matters has become so severe that
not only they don’t want to walk the same way from home to work, but each one refuses
to walk on the same block where the other one has stepped on that day, even though they
have no problems if their paths cross at a corner. Luckily both their condo and the school
are at corners. The department chair has a map of the town, and wants to know if there is
an agreeable way for both professors to walk from home to work. Show how this problem
can be formulated, and solved, as a maximum flow problem.

Problem 2. [CLRS 26.4.b, simplified]


We have a network G = (V, E) with special vertices s, t ∈ V , and capacities ce for every
e ∈ E, and we have found a maximum flow f in the network. Unfortunately, we learn
that one of the capacity values that we used, namely cu,v was wrong, and it should have
actually been cu,v − 1. This is quite unfortunate because actually we had fu,v = cu,v on
that particular edge.
We could recompute a new optimal flow from scratch, but, luckily, we can do better. Show
how a new optimal flow can be computed in just O(|V | + |E|) time.

Problem 3. We have seen that, using the Ford-Fulkerson algorithm, not only we can find
the flow of maximum cost, but also the cut of minimum capacity. In certain applications,
it is important to know if the minimum cut is unique, and, if not, how many minimum cuts
there are.
Handout PS10: Problem Set 10 2

(a) Give an example of a network where the minimum cut is unique.


(b) Give an example of a network where there is more than one minimum cut.
(c) Give a polynomial time algorithm that determines whether the minimum cut is
unique, and, if not, finds at least two distinct minimum cuts.

You might also like