complexity of ford-fulkerson
DESCRIPTION
Complexity of Ford-Fulkerson. Let U = max {(i,j) in A} u ij . If S = {s} and T = N\{s}, then u[S,T] is at most nU. The maximum flow is at most nU. At most nU augmentations. Each iteration of the inner while loop is O(m): Each arc is inspected at most once Finding is O(n) - PowerPoint PPT PresentationTRANSCRIPT
Complexity of Ford-Fulkerson
• Let U = max {(i,j) in A} uij.• If S = {s} and T = N\{s}, then u[S,T] is at
most nU.• The maximum flow is at most nU.
– At most nU augmentations.
• Each iteration of the inner while loop is O(m):– Each arc is inspected at most once– Finding is O(n)– Updating the flow on P is O(n)
• Complexity is O(nmU).
Pathological Example
s 1
2
3
5
(0,106) (0,106)
(0,106)(0,106)
(0,1) t
An Augmenting Path
s 1
2
3
5
(1,106) (0,106)
(1,106)(0,106)
(1,1) t
v = 1
Residual Network
s 1
2
3
5
106-1 106
106-1106
0 t111
An Augmenting Path in the Residual Network
s 1
2
3
5
106-1 106
106-1106
0 t111
Updated Flow
s 1
2
3
5
(1,106) (1,106)
(1,106)(1,106)
(0,1) t
v = 2
Updated Residual Network
s 1
2
3
5
106-1 106 -1
106-1106 -1
1 t01 111
Next Augmenting Path in the Residual Network
s 1
2
3
5
106-1 106 -1
106-1106 -1
1 t01 111
This will take 2 million iterations to find the maximum flow!
Polynomial Max Flow Algorithms (Chapter 7)
• Always augment along the shortest augmenting path in the residual network.– O(n2m)
• Always augment along the maximum-capacity augmenting path in the residual network.– O(nm log U)
• Goldberg’s algorithm (preflow-push) with highest-label implementation.– O(n2m1/2)