The Ford–Fulkerson Algorithm, Exams of Art

Find an augmenting path by looking for an s, t-path in the residual graph. Use it to augment the flow x as much as possible. Page 29. When ...

Typology: Exams

2021/2022

Uploaded on 09/27/2022

dreamingofyou
dreamingofyou 🇬🇧

4.3

(16)

233 documents

1 / 43

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
When augmenting paths fail Proving the residual graph theorem Max-flow algorithms
The Ford–Fulkerson Algorithm
Math 482, Lecture 26
Misha Lavrov
April 6, 2020
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b

Partial preview of the text

Download The Ford–Fulkerson Algorithm and more Exams Art in PDF only on Docsity!

The Ford–Fulkerson Algorithm

Math 482, Lecture 26

Misha Lavrov

April 6, 2020

A summary of the last lecture

In the previous lecture, we found a high-value flow in a network by starting with the zero flow and repeating the following procedure: (^1) Find an augmenting path. (^2) Use it to augment the flow as much as possible.

s t

a (^) b

c (^) d

0 / 10

0 / 10

0 / 12

0 / 10 0 / 4

0 / (^40) / 8

0 / 4

A summary of the last lecture

In the previous lecture, we found a high-value flow in a network by starting with the zero flow and repeating the following procedure: (^1) Find an augmenting path. (^2) Use it to augment the flow as much as possible.

s t

a (^) b

c (^) d

10 / 10

10 / 10

10 / 12

4 / 10 4 / 4

0 / (^44) / 8

0 / 4

A summary of the last lecture

In the previous lecture, we found a high-value flow in a network by starting with the zero flow and repeating the following procedure: (^1) Find an augmenting path. (^2) Use it to augment the flow as much as possible.

s t

a (^) b

c (^) d

10 / 10

10 / 10

12 / 12

6 / 10 4 / 4

2 / (^44) / 8

0 / 4

A summary of the last lecture

In the previous lecture, we found a high-value flow in a network by starting with the zero flow and repeating the following procedure: (^1) Find an augmenting path. (^2) Use it to augment the flow as much as possible.

s t

a (^) b

c (^) d

10 / 10

8 / 10

12 / 12

8 / 10 4 / 4

4 / (^46) / 8

2 / 4

Eventually, there are no more augmenting paths.

The final residual graph

We can see this in the residual graph for the final flow obtained:

s (^) t

a (^) b

c (^) d

10

2 8

2

8

2

2

4

4

12

2 6

The residual graph theorem

Theorem Suppose that we have a network (N, A) and a feasible flow x such that there is no s, t-path in the residual graph. Then:

The residual graph theorem

Theorem Suppose that we have a network (N, A) and a feasible flow x such that there is no s, t-path in the residual graph. Then:

Let S be the set of all nodes reachable from s in the residual graph. Let T be the set of all other nodes. The cut (S, T ) has the same capacity as the value of x.

The residual graph theorem

Theorem Suppose that we have a network (N, A) and a feasible flow x such that there is no s, t-path in the residual graph. Then:

Let S be the set of all nodes reachable from s in the residual graph. Let T be the set of all other nodes. The cut (S, T ) has the same capacity as the value of x.

In particular, x is a maximum flow and (S, T ) is a minimum cut.

In our example, we take S = {s, c} and T = {a, b, d, t}. The capacity of this cut is csa + ccb + ccd = 10 + 4 + 4 = 18, same as the value of x.

Applying the definition

In the cut (S, T ) defined in the residual graph theorem, the residual graph has no arcs from S to T.

Applying the definition

In the cut (S, T ) defined in the residual graph theorem, the residual graph has no arcs from S to T. What does that mean? Recall: Whenever xij < cij for an arc (i, j) ∈ A, the residual graph has an arc i → j. Whenever xij > 0 for an arc (i, j) ∈ A, the residual graph has an arc j → i.

Applying the definition

In the cut (S, T ) defined in the residual graph theorem, the residual graph has no arcs from S to T. What does that mean? Recall: Whenever xij < cij for an arc (i, j) ∈ A, the residual graph has an arc i → j. Whenever xij > 0 for an arc (i, j) ∈ A, the residual graph has an arc j → i. Therefore: For every arc (i, j) with i ∈ S and j ∈ T , xij = cij.

Another equation for the value

Lemma For any cut (S, T ), v (x) =

i∈S

j∈T

xij −

i∈T

j∈S

xij.

(We proved this at the end of Lecture 23.)

Another equation for the value

Lemma For any cut (S, T ), v (x) =

i∈S

j∈T

xij −

i∈T

j∈S

xij.

(We proved this at the end of Lecture 23.)

Example: S = {s, a, b} and T = {c, d, t}.

s (^) t

a (^) b

c (^) d

10 / 10

8 / 10 12 / 12

8 / 10 4 / 4

4 / (^46) / 8

2 / 4