Presentation is loading. Please wait.

Presentation is loading. Please wait.

UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 4 Tuesday, 2/19/02 Graph Algorithms: Part 2 Network.

Similar presentations


Presentation on theme: "UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 4 Tuesday, 2/19/02 Graph Algorithms: Part 2 Network."— Presentation transcript:

1 UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 4 Tuesday, 2/19/02 Graph Algorithms: Part 2 Network Flows, Case Study

2 Network Flow Chapter 26

3 Basic Network Flow Concepts

4 Network Flow source: Sedgewick, Graph Algorithms weighted network edge weights Goal: compute second set of edge weights <= capacities. flow direction source sink flow in = flow out (except at source, sink)

5 Network Flow Applications ä Distribution Problems ä move objects from place to place within network ä examples: ä merchandise ä communications ä traffic flow source: Sedgewick, Graph Algorithms

6 Network Flow Applications (continued) ä Matching Problems ä network represents ways to connect vertices ä goal: choose connections to ä cover vertex set ä only touch each vertex once ä examples: ä job placement ä minimum-distance point matching (2 point sets) source: Sedgewick, Graph Algorithms

7 Network Flow Applications (continued) ä Cut Problems ä remove edges to cut network into >= 2 pieces ä examples: ä network reliability ä cutting supply lines source: Sedgewick, Graph Algorithms

8 Flow Definitions ä Flow network G = (V,E) ä directed graph ä each edge (u,v) in E has capacity c(u,v) >= 0 ä every vertex is on some path from source s to sink t ä G is connected ä |E| >= |V| - 1 source: 91.503 textbook Cormen et al.

9 Flow Properties ä Flow in G is f: VxV -> R satisfying: ä Capacity Constraint: ä Skew Symmetry: ä Flow Conservation: ä f(u,v) is net flow from vertex u to vertex v ä positive net flow entering vertex v: ä positive net flow entering a vertex other than source or sink must = positive net flow leaving the vertex ä Value of a flow f is total net flow out of source: source: 91.503 textbook Cormen et al.

10 Flow Properties (continued) ä Lemma 26.1 ä Let G=(V,E) be a flow network, and let f be a flow in G. Then: ä Implicit summation notation: source: 91.503 textbook Cormen et al. Exercise: show

11 source: Sedgewick, Graph Algorithms Flow Properties (continued) Flow Equilibrium A = amount of flow into left set from outside right set B = amount of flow out of left set (and not into right set) C = amount of flow into right set from outside left set D = amount of flow out of right set (and not into left set) y = amount of flow into left set from right set x = amount of flow into right set from left set EQUILIBRIUM requires A + x = B + y C + y = D + x A + C = B + D

12 Controlling Network Flow source: Sedgewick, Graph Algorithms open switches along path open switches along path change switch at 1 to redirect flow to fill 1-4; add flow on (maxflow results)

13 Augmenting Paths

14 Augmenting Flow on a Path source: Sedgewick, Graph Algorithms increase flow in 2 2 2 2 decrease flow in divert to, 1 1 1 1 2 flow increases from 3 to 4

15 Augmenting Path Sequences source: Sedgewick, Graph Algorithms

16 Residual Networks

17 source: 91.503 textbook Cormen et al. flow network G and flow f residual network G f and augmenting path augmented flow in G augmented flow in G f min capacity on augmenting path

18 Residual Networks source: Sedgewick, Graph Algorithms

19 Cuts

20 s-t Cut source: Sedgewick, Graph Algorithms Disconnects source from sink

21 MaxFlow MinCut Theorem ä If f is a flow in a flow network G=(V,E) with source s and sink t, then, equivalently: ä 1. f is a maximum flow in G ä 2. The residual network G f contains no augmenting paths ä 3. |f| = c(S,T) for some cut (S,T) of G source: 91.503 textbook Cormen et al.

22 MaxFlow MinCut Theorem Proof Layout Lemma 26.1 Lemma 26.2 Lemma 26.3 Corollary 26.4 Lemma 26.5 Corollary 26.6 Eq 26.6 Eq 26.4 MaxFlow MinCut (3) -> (1) (1) -> (2) (2) -> (3) Theorem 26.7

23 Ford-Fulkerson MaxFlow Method

24 General Approach source: 91.503 textbook Cormen et al.

25 With Residual Networks source: 91.503 textbook Cormen et al.

26

27 Analysis source: 91.503 textbook Cormen et al. Time depends on method termination?  (E) time  ( | max f | ) iterations, assuming integral capacities Each iteration of while loop can be executed in O(E) time = time to find path in residual network using BFS or DFS Each iteration of while loop can be executed in O(E) time = time to find path in residual network using BFS or DFS Total time =  ( E | max f | ) assuming integral capacities Total time =  ( E | max f | ) assuming integral capacities

28 Shortest Augmenting Paths Edmonds-Karp source: Sedgewick, Graph Algorithms

29 Shortest Augmenting Paths Edmonds-Karp ä Time is in O(VE 2 ): ä Each iteration of while loop takes time in O(E) ä Number of iterations is in O(VE) ä Shortest-path distance in residual network increases monotonically with each flow augmentation ä Total number of augmentations is in O(VE) ä Proof Sketch: ä Edge in residual network is critical on augmenting path if residual capacity of path is residual capacity of (u,v) ä Critical edge disappears from residual network ä Critical edge reappears only if net flow from u to v is decreased; happens only if (v,u) appears later on another augmenting path ä From time (u,v) becomes critical to time it next becomes critical, distance of u from source increases by >= 2 ä (u,v) becomes critical at most O(V) times

30 Graph Algorithms Research Case Study

31 Case Study Literature Wu, Li [1999]

32 ä Board work ä In-class exercise


Download ppt "UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 4 Tuesday, 2/19/02 Graph Algorithms: Part 2 Network."

Similar presentations


Ads by Google