1 / 17

Applications of the Max-Flow Min-Cut Theorem

Applications of the Max-Flow Min-Cut Theorem. 2. D. C. 5. 4. SF. 4. NY. 6. 7. 5. H. A. S-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}, T={C,A,NY} [S,T] = {(D,A),(D,C),(H,A)}, Cap [S,T] = 2+4+5 = 11

Télécharger la présentation

Applications of the Max-Flow Min-Cut Theorem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Applications of the Max-Flow Min-Cut Theorem

  2. 2 D C 5 4 SF 4 NY 6 7 5 H A S-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}, T={C,A,NY} [S,T] = {(D,A),(D,C),(H,A)}, Cap [S,T] = 2+4+5 = 11 S = {SF, D, A,C}, T = {H, NY} [S,T] = {(SF,H),(C,NY)}, Cap[S,T] =6 + 4 = 10

  3. 2 D C 5 4 SF 4 NY 6 7 5 H A D C 5 4 SF 4 NY 6 5 H A Maximum-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 2+7=9. • The value of a maximum s-t flow = the capacity of a minimum s-t cut.

  4. Network 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 min{s,t-connectivity of G: (s,t) in V}.

  5. Example 6 2 1 4 8 3 7 5 Some Vertex Separators For s=2, t=7: {3, 4, 6}, {1, 4, 8} 2,7-connectivity = 3 Some Vertex Separators For s=1, t=8: {4, 5, 6}, {2,3} 1,8-connectivity = 2 Vertex-Connectivity = 2

  6. Menger’s 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.

  7. Maximum 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

  8. Proof • 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

  9. Finding 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 < c Then Let c = s-t Connectivity • Return c Find Vertex-Connectivity of G with |N|-1 Maximum Flow Computations

  10. Mining 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. Solution • 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. Don’t take block (3,1). * Assuming (1,3) Already Excavated

  12. Maximum 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,j+1) • 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 < 0, Add an Arc from Node (i,j) to t with Capacity -Wij • If Wij > 0 Add an Arc from s to Node (i,j) with Capacity Wij

  13. 3,4 2,4 1,1 1,2 1,3 1,4 2,1 2,2 2,3 2,5 1,5 3,1 3,2 3,3 4,5 3,5 4,1 4,2 4,3 4,4 s t Maximum Flow Network 100 100 100 100 100 400 400

  14. 3,5 2,4 1,1 1,2 1,3 1,5 2,1 2,2 2,3 2,5 1,4 3,1 3,2 3,3 3,4 4,5 4,1 4,2 4,3 4,4 s t Cut: S={s,(2,4)(1,3), (1,4), (1,5)} T: All Other Nodes Minimum Cut 100 100 100 100 100 400 400

  15. Meaning 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 • Cap[S,T] = Value of Gold in T + Cost of Excavating S

  16. Maximizing 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

More Related