Table of Contents

7.1 The Maximum-Flow Problem and the Ford-Fulkerson Algorithm

The Problem Motivation:

A few concepts: to model transportation networks–networks whose edges carry some sort of traffic and whose nodes act as “switches” passing traffic between different edges. Network models of this type have several ingredients: capacities on the edges, indicating how much they can carry; source nodes in the graph, which generate traffic; sink (or destination) nodes in the graph, which can “absorb” traffic as it arrives; and fina~y, the traffic itself, which is transmitted across the edges.

Flow Networks definition: a flow network is a directed graph G = (V, E) with the following features. Associated with each edge e is a capacity, which is a nonnegative number that we denote ce.

a Flow network is a directed graph G = (V, E) with the following features. o Associated with each edge e is a capacity, which is a nonnegative number

that we denote ce.

o There is a single source node s e V. o There is a single sink node t ~ V

The Problem:

The Maximum-Flow Problem Given a flow network, the goal is to arrange the traffic so as to make as efficient use as possible of the available capacity. Thus the basic algorithmic problem we will consider is the following: Given a flow network, find a flow of maximum possible value

Attempt: Greedy - local informatioon is not enough to solve for global optimum

We can define the Residual Graph, which provides a systematic way to search for forward-backward operations in order to find the maximum flow. Given a flow network , and a flow on , we define the residual graph of with respect to as follows. 1. The node set of is the same as that of G 2. Each edge of is with a capacity of c(e)-f(e). 3. Each edge of is with a capacity of f(e).flipped over.

7.2 Maximum Flows and Minimum Cuts in a Network

goal is to show that the flow that is returned by the Ford-F~kerson Algorithm has the maximum possible value of any flow in G.Prove optimality.

find the min cut: Find an s-t cut of minimum capacity

flow value lemma/pf — the idea of flow conservation

Corollary. Let f be any flow, and let (A, B) be any cut. If v(f) = cap(A, B), then f is a max flow and (A, B) is a min cut.

f is an s-t-flow such that there is no s-t path in the residual graph then there is an s-t cut (A*,B*) in G for which v(f) = c(A*, B*). Consequently, f has the maximum value of any flow in G, and (A*, B*) has the minimum capacity of any s-t cut in G.

useful lemma, Let f be any s-t flow, and (A,B) any s-t cut. Then v(f) =fin(B) -f°Ut(B).

Pf on P374.

If f is an s-t-flow such that there is no s-t path in the residual graph then there is an s-t cut (A*,B*) in G for which v(f) = c(A*, B*). Consequently, f has the maximum value of any flow in G, and (A*, B*) has the minimum capacity of any s-t cut in G. …..

Proof. The statement claims the existence of a cut satisfying a certain desirable property; thus we must now identify such a cut. To this end, let A* denote the set of all nodes v in G for which there is an s-v path in @. Let B* denote.~e set of all other nodes: B* = V - A*.

Runtime analysis: O(Cm)

Intereting/readable: 6/6

7.3 Choosing Good Augmenting Paths

Big idea: Good choice of augmentation path can improve bounds significantly.

augmentation increases the value of the maximum flow by the bottleneck capacity of the selected path; so if we choose paths with large bottleneck capacity, we will be making a lot of progress.

maintain a so-called scaling parameter to avoid looking at exactly the largest bottleneck P379

The algorithms on p380

analysis of the running time:

The number of iterations o[ the outer While loop is at most 1 +[log2 C]. we are using paths that augment the flow by a great amount, and so there should be relatively few augmentations.

Let f be the [low at the end of the A-scaling phase. There is an s-t cut (A, B) in G for which c(A, B) < v(f) + mA, where m is the number of edges in the graph G. Consequently, the maximum [low in the network has value at most v(f) + m A.

Proof on P380.

Interesting/readable: 5/6