28.11.2014 Views

Lecture Notes Discrete Optimization - Applied Mathematics

Lecture Notes Discrete Optimization - Applied Mathematics

Lecture Notes Discrete Optimization - Applied Mathematics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

B<br />

p<br />

B<br />

p<br />

1<br />

1<br />

p<br />

1<br />

s<br />

1<br />

t<br />

s<br />

1 t<br />

s<br />

t<br />

B<br />

u<br />

B<br />

1<br />

u<br />

1<br />

u<br />

1<br />

Figure 7: A bad instance for the Ford-Fulkerson algorithm (left). Suppose that B is a<br />

large integer. The algorithm alternately augments one unit of flow along the two paths<br />

〈s,u, p,t〉 and 〈s, p,u,t〉. The flow after two augmentations is shown on the right. The<br />

algorithm needs 2B augmentations to find a maximum flow.<br />

Proof.<br />

f(X,V \ X)= f(X,V)− f(X,X)= f(X,V)= f(s,V)+ f(X− s,V)= f(s,V)=| f|.<br />

Intuitively, it is clear that if we consider an arbitrary cut (X, ¯X) of G, then the total flow<br />

f(X, ¯X) that leaves X is at most c(X, ¯X). The next lemma shows this formally.<br />

Lemma 5.4. The flow value of any flow f in G is at most the capacity of any cut (X, ¯X)<br />

of G, i.e., f(X, ¯X)≤c(X, ¯X).<br />

Proof. By Lemma 5.3, we have<br />

| f|= f(X, ¯X)= ∑<br />

∑<br />

u∈X v∈V\X<br />

f(u,v) ≤ ∑<br />

∑<br />

u∈X v∈V\X<br />

c(u,v)=c(X, ¯X).<br />

A fundamental result for flows is that the value of a maximum flow is equal to the minimum<br />

capacity of a cut.<br />

Theorem 5.3 (Max-Flow Min-Cut Theorem). Let f be a flow in G. Then the following<br />

conditions are equivalent:<br />

1. f is a maximum flow of G.<br />

2. The residual graph G f contains no augmenting path.<br />

3. | f|=c(X, ¯X) for some cut (X, ¯X) of G.<br />

Proof. (1)⇒(2): Suppose for the sake of contradiction that f is a maximum flow of G<br />

and there is an augmenting path P in G f . By Lemma 5.2, we can augment f along P and<br />

obtain a flow of value strictly larger than| f|, which is a contradiction.<br />

(2)⇒(3): Suppose that G f contains no augmenting path. Let X be the set of nodes that<br />

are reachable from s in G f . Note that t /∈ X because there is no path from s to t in G f .<br />

That is, (X, ¯X) is a cut of G. By Lemma 5.3, | f| = f(X, ¯X). Moreover, for every u∈X<br />

and v∈ ¯X, we must have f(u,v) = c(u,v) because otherwise (u,v)∈E f and v would be<br />

part of X. We conclude| f|= f(X, ¯X)=c(X, ¯X).<br />

32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!