Presentation is loading. Please wait.

Presentation is loading. Please wait.

The max flow problem 7 11 5 -2 2 1 10 5 4 9.

Similar presentations


Presentation on theme: "The max flow problem 7 11 5 -2 2 1 10 5 4 9."— Presentation transcript:

1 The max flow problem 7 11 5 -2 2 1 10 5 4 9

2 Ford-Fulkerson method
Ford-Fulkerson(G) f = 0 while(9 simple path p from s to t in Gf) f := f + fp output f

3 A cut S T c(S,T)=26

4 Lemma Corollary 26.6 Let f be a flow in G and let (S,T) be a cut in G. Then |f| = f(S,T). Let f be a flow in G and let (S,T) be a cut in G. Then |f| · c(S,T). This is a weak duality theorem.

5 Max Flow – Min Cut Theorem
Let f be a flow in G. The following three conditions are equivalent: 1. f is a maximum flow 2. Gf contains no augmenting path 3. There is a cut (S,T) so that |f|=c(S,T)

6 Max Flow – Min Cut Theorem
The value of the maximum flow in G is equal to the capacity of the minimum cut in G. This is a strong duality theorem.

7 Remarks The solution values agree, not the solutions themselves – flows and cuts are completely different objects. Given a max flow we can easily find a min cut (follows from proof of max flow-min cut theorem). Going the other way is less obvious.

8 Consequence The Ford-Fulkerson method is partially correct, i.e., if it terminates it produces the flow with the maximum value.

9 Local search checklist
Design: How do we find the first feasible solution? Neighborhood design? Which neighbor to choose? Analysis: Partial correctness? (termination )correctness) Termination? Complexity? ٧ ٧ ٧

10 Termination Suppose all capacities are integers.
We start with a flow of value 0. In each iteration, we get a new flow with higher integer value. We always have a legal flow, i.e., one of value at most |f|. Hence we can have at most |f| iterations.

11 Correctness of Ford-Fulkerson
Since Ford-Fulkerson is partially correct and it terminates if capacities are integers it is a correct algorithm for finding the maximum flow if capacities are integers. Exercise: It is also correct if capacities are rationals.

12 Does Ford-Fulkerson always terminate?
In case of irrational capacities, not necessarily! (Exercise) But we can’t give irrational capacities as inputs to digital computers anyway. In case of floating point capacities, who knows?

13 Integrality Theorem (26.11)
If a flow network has integer valued capacities, there is a maximum flow with an integer value on every edge. The Ford-Fulkerson method will yield such a maximum flow. The integrality theorem is often extremely important when “programming” and modeling using the max flow formalism.

14 Reduction: Maximum Matching ! Max Flow
What is the maximum cardinality matching in G?

15 G

16 s t G’ All capacities are 1

17 Finding a balanced set of Representatives
(Ahuja, Application 6.2) A city has clubs C1, C2,…,Cn and parties P1, P2,…,Pm. A citizen may be a member of several clubs but may only be a member of one party. A balanced city council must be formed by including exactly one member from each club and at most uk members from party Pk.

18

19 Local search checklist
Design: How do we find the first feasible solution? Neighborhood design? Which neighbor to choose? Analysis: Partial correctness? (termination )correctness) Termination? Complexity? ٧ ٧ ٧ ٧

20 Complexity of Ford-Fulkerson
We have at most |f| improvement steps (iterations of the while-loop). Is this the best possible bound?

21 Complexity We have at most |f| improvement steps (iterations of the while-loop) and this bound cannot be improved for the general Ford-Fulkerson method. How fast can we implement a single improvement step?

22 Complexity Assume |V|-1 · |E|. Otherwise the graph is not connected.
Then, Ford-Fulkerson can be implemented to run in time at most O(|E| |f|). Is this fast?

23 Polynomial time algorithms
Defintion: A polynomial time algorithm is an algorithm than runs in time polynomial in n, where n is the number of bits of the input. How we intend to encode the input influences if we have a polynomial algorithm or not. Usually, some “standard encoding” is implied. In this course: Polynomial ¼ Fast Exponential ¼ Slow

24 How to encode max flow instance?
java MaxFlow ??????????

25 How to encode max flow instance?
java MaxFlow 6#0|16|13|0|0|0#0|0|10|12|0|0 #0|4|0|0|14|0#0|0|9|0|0|20 #0|0|0|7|0|4|#0|0|0|0|0|0

26 Complexity of Ford-Fulkerson
With standard (decimal or binary) representation of integers, Ford-Fulkerson is an exponential time algorithm.

27 java MaxFlow #| | ||| #|| | || #|1111||| | #|| ||| #||| ||1111 #|||||

28 Complexity of Ford-Fulkerson
With unary (4 ~ 1111) representation of integers, Ford-Fulkerson is a polynomial time algorithm. Intuition: When the input is longer it is easier to be polynomial time as a function of the input length. An algorithm which is polynomial if integer inputs are represented in unary is called a pseudo-polynomial algorithm. Intuitively, a pseudo-polynomial algorithm is an algorithm which is fast if all numbers in the input are small.

29 Edmonds-Karp Edmonds-Karp algorithm for Max Flow:
Implement Ford-Fulkerson by always choosing the shortest possible augmenting path, i.e., the one with fewest possible edges.

30 Complexity of Edmonds-Karp
Each iteration of the while loop can still be done in time O(|E|). The number of iterations are now at most O(|V||E|) regardless of capacities – to be seen next. Thus, the total running time is O(|V| |E|2) and Edmonds-Karp is a polynomial time algorithm for Max Flow.

31 Why at most O(|V| |E|) iterations?
When executing Edmonds-Karp, the residual network Gf gradually changes (as f changes). This sequence of different residual networks Gf satisfies: Theorem (~ Lemma 26.8 and Theorem 26.9): The distance between s and t in Gf never decreases: After each iteration of the while-loop, it either increases or stays the same. 2) The distance between s and t in Gf can stay the same for at most |E| iterations of the while-loop before increasing. As the distance between s and t can never be more than |V|-1 and it starts out as at least 1, it follows from the theorem that we have at most (|V|-2)|E| iterations.


Download ppt "The max flow problem 7 11 5 -2 2 1 10 5 4 9."

Similar presentations


Ads by Google