CS CS 473g: Algorithms, Fall 2007
Homework 3 (due Tuesday, October 23, 2007 at 11:59.99 p.m.)
Version 1.02
Required Problems
1.
The good, the bad, and the middle.
[20 Points]
Suppose you’re looking at a flow network
G
with source
s
and sink
t
, and you want to be
able to express something like the following intuitive notion: Some nodes are clearly on the
“source side” of the main bottlenecks; some nodes are clearly on the “sink side” of the main
bottlenecks; and some nodes are in the middle. However,
G
can have many minimum cuts, so
we have to be careful in how we try making this idea precise.
Here’s one way to divide the nodes of
G
into three categories of this sort.
•
We say a node
v
is
upstream
if, for all minimum
s

t
cuts
(
A, B
)
, we have
v
∈
A
– that
is,
v
lies on the source side of every minimum cut.
•
We say a node
v
is
downstream
if, for all minimum
s

t
cuts
(
A, B
)
, we have
v
∈
B
– that
is,
v
lies on the sink side of every minimum cut.
•
We say a node
v
is
central
if it is neither upstream nor downstream; there is at least one
minimum
s

t
cut
(
A, B
)
for which
v
∈
A
, and at least one minimum
s

t
cut
(
A
0
, B
0
)
for
which
v
∈
B
0
.
Give an algorithm that takes a flow network
G
and classifies each of its nodes as being
upstream, downstream, or central. The running time of your algorithm should be within a
constant factor of the time required to compute a
single
maximum flow.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '08
 Chekuri,C
 Algorithms, Maximum flow problem, Maxflow mincut theorem, 2 G, Mik, minimum st cuts, 473g

Click to edit the document details