Ford Fulkerson Method

The Ford Fulkerson Method from CLRS
Zachary Couvillion
Exercises
26.2-1
In Figure 26.1(b), what is the flow across the cut ({𝑠, 𝑣2 , 𝑣4 }, {𝑣1 , 𝑣3 , 𝑑})? What is
the capacity of this cut?
Solution
Flow: 19
Capacity: 41
26.2-2
Show the execution of the Edmonds-Karp algorithm on the flow network of Figure
26.1(a).
Solution
26.2-3
In the example of Figure 26.5, what is the minimum cut corresponding to the
maximum flow shown? Of the augmenting paths appearing in the example, which
two cancel flow?
Solution
({𝑠, 𝑣1 , 𝑣2, 𝑣4 }, {𝑣3 , 𝑑})
26.2-4
Prove that for any pair of vertices u and v and any capacity and flow functions c
and f, we have 𝑐𝑓 (𝑒, 𝑣) + 𝑐𝑓 (𝑣, 𝑒) = 𝑐(𝑒, 𝑣) + 𝑐(𝑣, 𝑒).
Solution
𝑐𝑓 (𝑒, 𝑣) + 𝑐𝑓 (𝑣, 𝑒) = 𝑐(𝑒, 𝑣) βˆ’ 𝑓(𝑒, 𝑣) + 𝑐(𝑣, 𝑒) βˆ’ 𝑓(𝑣, 𝑒)
𝑐𝑓 (𝑒, 𝑣) + 𝑐𝑓 (𝑣, 𝑒) = 𝑐(𝑒, 𝑣) + 𝑐(𝑣, 𝑒) βˆ’ (𝑓(𝑒, 𝑣) + 𝑓(𝑣, 𝑒))
𝑐𝑓 (𝑒, 𝑣) + 𝑐𝑓 (𝑣, 𝑒) = 𝑐(𝑒, 𝑣) + 𝑐(𝑣, 𝑒)
26.2-5
Recall that the construction in Section 26.1 that converts a multisource, multisink
flow network into a single-source, single-sink network adds edges with infinite
capacity. Prove that any flow in the resulting network has a finite value if the
edges of the original multisource, multisink network have finite capacity.
Solution
There are no edges (𝑠, 𝑣) if v is not some 𝑠𝑖 . For each 𝑠𝑖 , 𝑐(𝑠𝑖 , 𝑉 βˆ’ 𝑠) is finite, so
𝑐(𝑠, 𝑉 βˆ’ 𝑠) is finite.
26.2-6
Suppose that each source 𝑠𝑖 in a multisource, multisink problem produces exactly
𝑝𝑖 units of flow, so that 𝑓(𝑠𝑖 , 𝑉) = 𝑝𝑖 . Suppose also that each sink 𝑑𝑗 consumes
exactly π‘žπ‘— units, so that 𝑓(𝑉, 𝑑𝑗 ) = π‘žπ‘— , where βˆ‘π‘– 𝑝𝑖 = βˆ‘π‘— π‘žπ‘— . Show how to convert
the problem of finding a flow f that obeys these additional constraints into the
problem of finding a maximum flow in a single-source, single-sink flow network.
Solution
Add a supersource s and a supersink t such that 𝑐(𝑠, 𝑠𝑖 ) = ∞ and 𝑐(𝑑𝑖 , 𝑑) = ∞.
26.2-7
Prove Lemma 26.3
Solution
𝑓𝑝 meets the capacity constraint of 𝐺𝑓 as 𝑓𝑝 will never exceed the minimum
capacity of some edge (𝑒, 𝑣) on p by definition of 𝑐𝑓 (𝑝). Skew symmetry is
explicitly stated as for each 𝑓𝑝 (𝑒, 𝑣) there is βˆ’π‘“π‘ (𝑣, 𝑒). Flow conservation is
implied by skew symmetry. |𝑓𝑝 | = 𝑐𝑓 (𝑝) > 0 as 𝑐𝑓 (𝑝) for any p in for any p in 𝐺𝑓
will be positive or else the path will be incomplete. Suppose that some 𝑐𝑓 (𝑒, 𝑣) ≀
0, then there is no path 𝑠 ↝ 𝑑 through (𝑒, 𝑣) in 𝐺𝑓 , so 𝑐𝑓 (𝑝) > 0.
26.2-8
Show that a maximum flow in a network 𝐺 = (𝑉, 𝐸) can always be found by a
sequence of at most |𝐸| augmenting paths.
Solution
Once a path is augmented, it cannot be augmented again until its flow is reduced.
An augmentation will always leave some 𝑐𝑓 (𝑒, 𝑣) = 0. The edge (𝑒, 𝑣) then
cannot appear again in some 𝐺𝑓 ; (𝑒, 𝑣) βˆ‰ 𝐸𝑓 . Each augmentation deletes at least
one edge from 𝐺𝑓 . The most extreme case is one such that each path p in 𝐺𝑓 𝑠 ↝
𝑑 is comprised of exactly one edge. Therefore, each augmentation must delete
exactly one edge while only deleting exactly one path as the number of paths is
|𝐸𝑓 |.
26.2-9
The edge connectivity of an undirected graph is the minimum number k of edges
that must be removed to disconnect the graph. For example, the edge
connectivity of a tree is 1, and the edge connectivity of a cyclic chain of vertices is
2. Show how the edge connectivity of an undirected graph 𝐺 = (𝑉, 𝐸) can be
determined by running a maximum-flow algorithm on at most |𝑉| flow networks,
each having 𝑂(𝑉) vertices and 𝑂(𝐸) edges.
Solution
The edge connectivity of some graph 𝐺 = (𝑉, 𝐸) is the minimum number of edges
over some minimum cut of 𝐺𝑖 , where 𝐺𝑖 is some flow network in which 𝑉𝑖 = 𝑉
and (𝑒, 𝑣) ∈ 𝐸𝑖 and (𝑣, 𝑒) ∈ 𝐸𝑖 for each (𝑒, 𝑣) ∈ 𝐸. 𝑐𝑖 (𝑒, 𝑣) = 1 for each (𝑒, 𝑣) ∈
𝐸𝑖 . For all 𝐺𝑖 , 𝑑 ∈ 𝑉 and remains constant where 𝑠 = 𝑠𝑖 for each 𝑠𝑖 ∈ 𝑉.
The edge connectivity of a graph depends on the connectivity between individual
nodes. If the number of edges over the minimum cut (𝑆, 𝑇) where 𝑠𝑖 ∈ 𝑆 and 𝑑 ∈
𝑇 is k, then there must be k paths between 𝑠𝑖 and 𝑑 that must be broken. This is
due to the fact that each edge has a capacity of one, and paths cannot β€œshare
edges”; otherwise, removing the shared edge would break multiple paths. More
precisely, capacity constraint will delete some edge (𝑒, 𝑣) ∈ 𝐸𝑖 from path 𝑝: 𝑠 ↝
𝑒 β†’ 𝑣 ↝ 𝑑 in 𝐺𝑖𝑓 . The next path to consider need not include (𝑒, 𝑣) as 𝑓𝑖 (𝑒, 𝑣) =
𝑐𝑖 (𝑒, 𝑣) and 𝑐𝑖𝑓 (𝑒, 𝑣) = 0. Once the two nodes with the fewest distinct paths are
found, the edge connectivity is found.
Every possible 𝑠𝑖 must be considered unless some minimum cut yields one edge.
Therefore, at most |𝑉| flow networks must be constructed, each with a unique 𝑠𝑖 .
26.2-10
Suppose that a flow network 𝐺 = (𝑉, 𝐸) has symmetric edges, that is, (𝑒, 𝑣) ∈ 𝐸
if and only if (𝑣, 𝑒) ∈ 𝐸. Show that the Edmonds-Karp algorithm terminates after
at most |𝑉||𝐸|/4 iterations.
Solution
From the time (𝑒, 𝑣) becomes critical to the next time it becomes critical, 𝛿(𝑠, 𝑒)
and 𝛿(𝑣, 𝑑) increases by at least 2. The maximum number augmentations is |𝑉|/4,
so |𝑉||𝐸|/4 iterations are possible.