Title: Applications of the Max-Flow Min-Cut Theorem
1Applications of the Max-Flow Min-Cut Theorem
2S-T Cuts
Partition the Nodes into Sets S and T. S,T
Arcs from Nodes in S to Nodes in T.
S SF, D, H, TC,A,NY S,T
(D,A),(D,C),(H,A), Cap S,T 245 11 S
SF, D, A,C, T H, NY S,T
(SF,H),(C,NY), CapS,T 6 4 10
3Maximum-Flow Minimum-Cut Theorem
- Removing arcs (D,C) and (A,NY) cuts off SF from
NY. - The set of arcs(D,C), (A,NY) is an s-t cut with
capacity 279. - The value of a maximum s-t flow the capacity of
a minimum s-t cut.
4Network Connectivity
- An s,t vertex separator of a graph G(V,E) is a
set of vertices whose removal disconnects
vertices s and t. - The s,t-connectivity of a graph G is the minimum
size of an s,t vertex separator. - The vertex-connectivity of G is the
mins,t-connectivity of G (s,t) in V.
5Example
6
2
1
8
4
3
7
5
Some Vertex Separators For s2, t7 3, 4, 6,
1, 4, 8 2,7-connectivity 3 Some Vertex
Separators For s1, t8 4, 5, 6,
2,3 1,8-connectivity 2 Vertex-Connectivity
2
6Mengers Theorem
- Given and undirected graph G and two nonadjacent
vertices s and t, the maximum number of
vertex-disjoint (aside from sharing s and t)
paths from s to t is equal to the
s,t-connectivity of G.
7Maximum Flow Formulation
- For G(V,E), construct the network G(N,A) as
follows - For each vertex v in V/s,t, add nodes v and v
- Add arc (v,v) with capacity 1
- For each edge (u,v) in E, add arcs (u,v) and
(v,u) with infinite capacity - For each edge (s,v) in E, add arc (s,v) with
infinite capacity - For each edge (v,t) in E, add arc (v,t) with
infinite capacity
8Proof
- Lemma 1
- Each set of k vertex-disjoint s,t paths in G,
corresponds to exactly one integral flow of value
k in G. - Lemma 2
- Each s,t cut of finite capacity c corresponds to
an s,t vertex-separator of size c in G - Result follows from Max-Flow Min-Cut Theorem
9Finding the Vertex-Connectivity of G(N,A)
- Let Node 1 be the Source Node s
- Let c N
- For i 2 N
- Let t i
- If s-t Connectivity lt c Then
- Let c s-t Connectivity
- Return c
- Find Vertex-Connectivity of G with N-1 Maximum
Flow Computations
10Mining for Gold
- Divide a cross-section of earth into a grid of
equally-sized blocks. - Given the cost of excavating a full block and the
market value of a full block of gold, determine
an optimal shape for the mine. - Constraints on the shape of your mine require
that a block of earth cannot be excavated unless
the three blocks above it (directly, and
diagonally left and right) have also been
excavated.
11(No Transcript)
12Solution
- To get the gold in block (2,4), we need to
excavate blocks (1,3), (1,4), (1,5) and (2,4).
Revenue 500, Cost 400, Profit 100. Take
block (2,4). - To get the gold in block (3,1), we need to
excavate blocks (3,1), (2,1), (2,2), (1,1), (1,2)
and (1,3). Revenue 500, Cost 500, Profit
0. Dont take block (3,1). - Assuming (1,3) Already Excavated
13Maximum Flow Formulation
- Each Block is a Node
- Add Infinite Capacity Arc from Node (i,j) to Node
(i-1,j-1), (i-1,j),(i-1,j1) - Add Source Node s and Sink Node t
- Wij Vij - C Where
- Vij Value of Gold in Block (i,j)
- C Cost of Excavating a Block
- If Wij lt 0, Add an Arc from Node (i,j) to t with
Capacity -Wij - If Wij gt 0 Add an Arc from s to Node (i,j) with
Capacity Wij
14Maximum Flow Network
100
100
100
100
100
400
400
15Minimum Cut
Cut Ss,(2,4)(1,3), (1,4), (1,5) T All Other
Nodes
100
100
100
100
100
400
400
16Meaning of the Minimum Cut
- Excavate all Blocks in S
- Only Finite-Capacity Arcs in Minimum Cut
- Blocks in S Can be Excavated Without Excavating
Blocks in T - Arcs in S,T
- Arcs from s to Nodes in T
- Capacity Value of Gold in T
- Arcs from Nodes in S to t
- Capacity Cost of Excavating S
- CapS,T
- Value of Gold in T Cost of Excavating S
17Maximizing Profit
- Finding a Maximum Flow Minimizes
- Value of Gold in T Cost of Excavating S
- Equivalent to Maximizing
- F - (Value of Gold in T Cost of Excavating S
) - Equivalent to Maximizing
- Value of All Gold F
- Value of Gold in S - Cost of Excavating S
- Profit for Excavating S