2. Theorem 4.2. If no augmenting path exists for some F(N), then the value of F(N) is a maximum.
Theorem 4.2
guarantees that
if no augmenting
path exists for
Fi(N) , then Fi(N)
has a maximum
value.
Proof. We first describe a labelling process for the vertices of N.
Initially no vertex is labelled and the labelling proceeds as follows:
(a) x is labelled.
(b) If for (u, v) ∈ E, u is labelled and v is unlabeled, then, provided
f(u, v) < c(u, v), v is labelled.
(c) If for (u, v) ∈ E, v is labelled and u is unlabeled, then, provided
f(u, v) > 0, u is labelled.
By a repetition of (b) and (c) as many vertices of N as possible are
labelled.
The labelling process defines a cut (P, P’) of N such that any labelled
vertex is a member of P and any unlabeled vertex is a member of P’.
3.
4. • By corollary 4.1, F(N) must be a maximum.
• The well-known max-flow, min-cut theorem originally stated by
Ford & Fulkerson.
https://en.wikipedia.org/wiki/D._R._Fulkerson https://en.wikipedia.org/wiki/L._R._Ford_Jr.
5. "Consider a rail network connecting two cities by way of a number
of intermediate cities, where each link of the network has a number
assigned to it representing its capacity. Assuming a steady state
condition, find a maximal flow from one given city to the other."
6. Theorem 4.3 (max-flow, min-cut). For a given network the maximum
possible value of the flow is equal to the minimum capacity of all cuts:
max F(N) = min K(P, P’).
• How best to find an augmenting path at each step of the
maximum-flow algorithm.
• If each augmentation only increases the overall flow from
x to y by one unit, then the number of augmentations
required for maximization could be equal to min K(P, P’).
• This can be arbitrarily large and bear no relationship to the
size of the network.
• Starting with the zero flow, we could carry out a
succession of augmentations alternately using the paths P1
= (x, v1, v2, y) and P2 = (x, v2, v1, y). Each augmentation
enhances the flow by only one unit so that, overall, 2I
augmentations will be required.
7. • The maximum-flow problem can be solved in a time which is
polynomially dependent upon tile network size only.
• The complexity is independent of the edge capacities.
• Method of choosing augmentation paths due to Edmonds & Karp is
so natural that it is likely to be included unwittingly in any
implementation of the maximum-flow algorithm.
• Given a network N = (V, E) with a flow F, we first construct an
associated network NF = (V, E') such that there is a one-to-one
correspondence between augmentation paths in N for F and directed
paths from x to y in NF.
• N and NF have the same vertex set and if, for any two vertices u and
v, (u, v) is an edge of NF if and only if either:
8. • Thus the question of finding an augmentation path for N and F is
reduced to finding a directed path from x to y in NF.
• We denote a directed path in NF by PF and its corresponding path for
F(N) by P.
• Any edge of PF corresponding to a bottleneck-edge of F(N) is also
called a bottleneck-edge.
• In determining PF each vertex v of NF is first labelled L(v), where L(v)
is equal to the minimum distance (in edges) from x to v. If no such path
exists then L(v) = 0. This can be done using the breadth-first search for
shortest paths algorithms.
• If a path exists from x to y, then pF is chosen to be a path of minimum
length.
9. The breadth-first search for pk procedure, BFSPK.
• Line 1 represents the
labelling process.
• Line 2 simply determines
whether or not a path PF
exists.
• The breadth-first search for
Pk procedure executes in
O(IEI)-time.
• To establish the overall
complexity of the
maximum-flow algorithm,
using shortest
augmentation paths, we
require the following
theorem 4.4.
10. Theorem 4.4 :- If in the maximum-flow algorithm each augmentation is carried out along a
shortest path then a maximum flow will be obtained after no more than ½ |E|.n
augmentations.
The maximum-flow
algorithm.