Title: UMass Lowell Computer Science 91'503 Analysis of Algorithms Prof' Karen Daniels Spring, 2001
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
4Network Flow
edge weights
source
Goal compute second set of edge weights lt
capacities.
sink
weighted network
flow in flow out (except at source, sink)
flow direction
source Sedgewick, Graph Algorithms
5Network Flow Applications
- Distribution Problems
- move objects from place to place within network
- examples
- merchandise
- communications
- traffic flow
source Sedgewick, Graph Algorithms
6Network 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
7Network Flow Applications(continued)
- Cut Problems
- remove edges to cut network into gt 2 pieces
- examples
- network reliability
- cutting supply lines
source Sedgewick, Graph Algorithms
8Flow Definitions
- Flow network G (V,E)
- directed graph
- each edge (u,v) in E has capacity c(u,v) gt 0
- every vertex is on some path from source s to
sink t - G is connected
- E gt V - 1
source 91.503 textbook Cormen et al.
9Flow Properties
- Flow in G is f VxV -gt 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.
10Flow 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
Exercise show
source 91.503 textbook Cormen et al.
11Flow Properties (continued)Flow Equilibrium
D amount of flow out of right set (and not into
left 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
A amount of flow into left set from outside
right set
x amount of flow into right set from left set
y amount of flow into left set from right set
EQUILIBRIUM requires
A x B y
C y D x
A C B D
source Sedgewick, Graph Algorithms
12Controlling Network Flow
open switches along path lt 0,2,4,5gt
open switches along path lt 0,1,3,5gt
change switch at 1 to redirect flow to fill 1-4
add flow on lt 0,2,3,5 gt (maxflow results)
source Sedgewick, Graph Algorithms
13 Augmenting Paths
14Augmenting Flow on a Path
2
2
1
1
2
2
increase flow in lt0,2gt
increase flow in lt2,3gt
decrease flow in lt1,3gt
flow increases from 3 to 4
1
1
2
divert to lt1,4gt,lt4,5gt
source Sedgewick, Graph Algorithms
15Augmenting Path Sequences
source Sedgewick, Graph Algorithms
16 Residual Networks
17Residual Networks
min capacity on augmenting path
flow network G and flow f
residual network Gf and augmenting path
augmented flow in Gf
augmented flow in G
source 91.503 textbook Cormen et al.
18Residual Networks
source Sedgewick, Graph Algorithms
19 Cuts
20s-t Cut
Disconnects source from sink
source Sedgewick, Graph Algorithms
21MaxFlow 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 Gf contains no
augmenting paths - 3. f c(S,T) for some cut (S,T) of G
source 91.503 textbook Cormen et al.
22MaxFlow MinCut TheoremProof Layout
Lemma 26.1
Lemma 26.2
Lemma 26.3
Eq 26.6
Eq 26.4
Lemma 26.5
(2) -gt (3)
Corollary 26.4
(1) -gt (2)
Corollary 26.6
(3) -gt (1)
MaxFlow MinCut
Theorem 26.7
23 Ford-Fulkerson MaxFlow Method
24General Approach
source 91.503 textbook Cormen et al.
25With Residual Networks
source 91.503 textbook Cormen et al.
26source 91.503 textbook Cormen et al.
27Analysis
Q(E) time
Time depends on method
termination?
Q( 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
Total time Q( E max f ) assuming integral
capacities
source 91.503 textbook Cormen et al.
28Shortest Augmenting PathsEdmonds-Karp
source Sedgewick, Graph Algorithms
29Shortest Augmenting PathsEdmonds-Karp
- Time is in O(VE2)
- 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 gt 2 - (u,v) becomes critical at most O(V) times
30 Graph Algorithms
Research Case Study
31Case Study LiteratureWu, Li 1999
32Case Study LiteratureWu, Li 1999
- Board work
- In-class exercise