Network Flows - Special Topics: Linear Regression | MATH 796, Study notes of Mathematics

Material Type: Notes; Class: Special Topics: Linear Regression; Subject: Mathematics; University: University of Kansas; Term: Spring 2008;

Typology: Study notes

Pre 2010

Uploaded on 03/11/2009

koofers-user-zl2
koofers-user-zl2 🇺🇸

8 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Friday 3/28
Network Flows
Definition: Anetwork is a directed graph N= (V, E ) with the following additional data:
A distinguished source sVand sink tV.
Acapacity function c:EN.
s t
1
1 1
2
1
1
1
c(e)
b
c d
a
We want to think of an s, t-network as modeling a situation where stuff—data, traffic, liquid, electrical
current, etc.—is flowing from sto t. The capacity of an edge is the amount of stuff that can flow through
it (or perhaps the amount of stuff per unit time). This is a very general model that can be specialized to
describe cuts, connectivity, matchings and other things in directed and undirected graphs.
Aflow on Nis a function f:ENthat satisfies the capacity constraints
(1) 0 f(e)c(e)eE
and the conservation constraints
(2) f(v) = f+(v)vV\ {s, t}
where
f(v) = X
e=
uv
f(e), f+(v) = X
e=
vw
f(e).
That is, stuff cannot accumulate at any internal vertex of the network, nor can it appear out of nowhere.
The value of a flow fis the net flow into the sink:
|f|=f(t)f+(t) = f+(s)f(s).
The second equality follows from the conservation constraints. Typically, we’ll assume that there are no
edges into the source or out of the sink, so that
|f|=f(t) = f+(s).
Problem: Given a network, find a flow of maximum value.
Observation: If we can find a path from sto tin which no edge is being used to its full capacity, then we
can increase the flow along every edge on that path, and thereby increase the value of the flow by the same
amount.
pf3
pf4

Partial preview of the text

Download Network Flows - Special Topics: Linear Regression | MATH 796 and more Study notes Mathematics in PDF only on Docsity!

Friday 3/

Network Flows

Definition: A network is a directed graph N = (V, E) with the following additional data:

  • A distinguished source s ∈ V and sink t ∈ V.
  • A capacity function c : E → N.

s t

c(e)

b

c d

a

We want to think of an s, t-network as modeling a situation where stuff—data, traffic, liquid, electrical current, etc.—is flowing from s to t. The capacity of an edge is the amount of stuff that can flow through it (or perhaps the amount of stuff per unit time). This is a very general model that can be specialized to describe cuts, connectivity, matchings and other things in directed and undirected graphs.

A flow on N is a function f : E → N that satisfies the capacity constraints

(1) 0 ≤ f (e) ≤ c(e) ∀e ∈ E

and the conservation constraints

(2) f −(v) = f +(v) ∀v ∈ V \ {s, t}

where f −(v) =

e=−uv→

f (e), f +(v) =

e=−vw→

f (e).

That is, stuff cannot accumulate at any internal vertex of the network, nor can it appear out of nowhere.

The value of a flow f is the net flow into the sink:

|f | = f −(t) − f +(t) = f +(s) − f −(s).

The second equality follows from the conservation constraints. Typically, we’ll assume that there are no edges into the source or out of the sink, so that

|f | = f −(t) = f +(s).

Problem: Given a network, find a flow of maximum value.

Observation: If we can find a path from s to t in which no edge is being used to its full capacity, then we can increase the flow along every edge on that path, and thereby increase the value of the flow by the same amount.

s t

s t

|f| = 0 |f| = 1

The problem is that some flows cannot be increased in this way, but are nevertheless not maximal. The flow on the right above is an example. In every path from s to t, there is some edge e with f (e) = c(e). However, the flow shown below evidently has a greater value, namely 2:

s t

Observation: Flow along an edge −xy→ can be regarded as negative flow from y to x.

Accordingly, there is another way to increase flow. Look for a path from s to t consisting of forward edges not being used to full capacity OR backward edges with positive flow. Then, increasing flow on the forward edges and decreasing flow on the backward edges will increase the value of the flow.

s t

|f| = 1 |f| = 2

s t

Proposition 1. Let f be a flow, and let A ⊆ V. Then:

(3a) f +(A) − f −(A) =

v∈A

(f +(v) − f −(v)).

In particular, if [S, T ] is a cut, then

(3b) f +(S) − f −(S) = f −(T ) − f +(T ) = |f |,

(3c) |f | ≤ c(S, T ).

In particular, the maximum value of a flow is less than or equal to the minimum capacity of a cut, a principle known as weak duality.

Proof. We just need some careful bookkeeping. For (3a):

f +(A) − f −(A) =

e∈[A,A]

f (e) +

e∈[A, A¯]

f (e)

e∈[A,A]

f (e) +

e∈[ A,A¯ ]

f (e)

e=−vw, v→ ∈A

f (e)

e=−wv, v→ ∈A

f (e)

v∈A

e=−vw→

f (e) −

e=−wv→

f (e)

v∈A

(f +(v) − f −(v)).

For (3b), the conservation constraints (2), together with (3a), imply that

f +(S) − f −(S) =

v∈S

(f +(v) − f −(v)) = f +(s) − f −(s) = |f | = f −(t) − f +(t) = f −(T ) − f +(T ).

For (3c), the capacity constraints (1) imply that

|f | = f +(S) − f −(S) ≤ f +(S) ≤

e∈[S,T ]

c(e) = c(S, T ).

Proposition 2. Suppose that f is a flow that has no augmenting path. Let

S = {v ∈ V | there is an augmenting path from s to v}, T = V \ S.

Then s ∈ S, t ∈ T , and c(S, T ) = |f |. In particular, f is a maximum flow and [S, T ] is a minimum cut.

Proof. Note that t 6 ∈ S precisely because f has no augmenting path. By (3b), we have

|f | = f +(S) − f −(S) =

e∈[S, S¯]

f (e) −

e∈[ S,S¯ ]

f (e) =

e∈[S, S¯]

f (e).

But f (e) = c(e) for every e ∈ [S, T ] (otherwise S would be bigger than what it actually is), so this last quantity is just c(S, T ). The final assertion follows by weak duality. 

We have proven:

Theorem 3. For any network N , the Ford-Fulkerson Algorithm terminates in finite time, and outputs a maximum flow f and a minimum cut [S, T ] such that |f | = c(S, T ).