Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Dinitz Algorithm An example of a run.

Similar presentations


Presentation on theme: "The Dinitz Algorithm An example of a run."— Presentation transcript:

1 The Dinitz Algorithm An example of a run

2 Residual & Layered Networks construction
9 The original network N v1 v2 v3 9 11 14 v1 v2 v3 11 14 25 1 25 8 1 8 s 5 t s 5 10 t 10 10 5 v5 10 5 v5 v4 6 8 4 v4 6 8 4 9 9 v6 7 v7 v1 v2 v6 7 v7 11 9 25 v5 The residual network Nf (f = 0) s 5 10 t 4 5 v7 v4 9 v6 The layered network Lf

3 Computing a blocking flow in Lf
Finding an augmentation path by arbitrarily backtracking from t Updating the flow v1 v2 0/11 0/9 0/25 v5 s 0/5 0/10 t 0/4 0/5 v7 v4 0/9 v6

4 Computing a blocking flow in Lf
Updating the flow v1 v2 0/11 0/9 0/25 v5 s 5/5 5/10 t 0/4 0/5 v7 v4 0/9 v6

5 Computing a blocking flow in Lf
Updating the flow Cleaning forward v1 v2 0/11 0/9 0/25 v5 s 5/5 5/10 t 0/4 0/5 v7 v4 0/9 v6

6 Computing a blocking flow in Lf
Finding an augmentation path by arbitrarily backtracking from t. Cleaning forward v1 v2 0/11 0/9 0/25 v5 s 5/5 5/10 t 0/4 0/5 v7 v4 0/9 v6

7 Computing a blocking flow in Lf
Finding an augmentation path by arbitrarily backtracking from t. Updating the flow. v1 v2 0/11 0/9 0/25 v5 s 5/5 5/10 t 0/4 0/5 v7 v4 0/9 v6

8 Computing a blocking flow in Lf
Updating the flow. v1 v2 0/11 9/9 9/25 v5 s 5/5 5/10 t 0/4 0/5 v7 v4 0/9 v6

9 Computing a blocking flow in Lf
Updating the flow. Cleaning forward v1 v2 0/11 9/9 There aren’t any edges going into t – a blocking flow is found! 9/25 v5 s 5/5 5/10 t 0/4 0/5 v7 v4 0/9 v6

10 Adding the blocking flow to f
0/9 v1 v2 v3 0/11 0/14 0/25 0/1 0/8 s 0/5 t 0/10 0/10 0/5 v5 v4 0/6 0/8 0/4 0/9 v6 0/7 v7 v1 v2 0/11 9/9 9/25 v5 s 5/5 5/10 t 0/4 0/5 v7 v4 0/9 v6

11 Adding the blocking flow to f
9/9 v1 v2 v3 0/11 0/14 9/25 0/1 0/8 s 5/5 t 0/10 5/10 0/5 v5 v4 0/6 0/8 0/4 0/9 v6 0/7 v7 v1 v2 0/11 9/9 9/25 v5 s 5/5 5/10 t 0/4 0/5 v7 v4 0/9 v6

12 Constructing Nf and Lf v1 v2 v3 v1 v2 v3 s t s t v5 v5 v4 v4 v6 v7 v1
9/9 v1 v2 v3 9 0/11 0/14 v1 v2 v3 11 14 9/25 16 0/1 0/8 9 1 8 s 5/5 t s 5 t 0/10 5/10 10 0/5 v5 5 5 v5 5 v4 0/6 0/8 0/4 v4 6 8 4 0/9 9 v6 0/7 v7 v1 v2 v6 7 v7 11 14 v3 10 16 v4 v5 s 5 8 5 t 4 9 v6 v7 7

13 Computing a blocking flow in Lf
v1 v2 0/11 0/14 v3 0/10 0/16 v4 v5 s 0/5 0/8 0/5 t 0/4 0/9 v6 v7 0/7

14 Computing a blocking flow in Lf
v1 v2 0/11 0/14 v3 0/10 0/16 v4 v5 s 5/5 5/8 5/5 t 0/4 0/9 v6 v7 0/7

15 Adding the blocking flow to f
9/9 v1 v2 v3 0/11 0/14 9/25 0/1 0/8 s 5/5 t 0/10 5/10 0/5 v5 v4 0/6 0/8 0/4 0/9 v6 0/7 v7 v1 v2 0/11 0/14 v3 0/10 0/16 v4 v5 s 5/5 5/8 5/5 t 0/4 0/9 v6 v7 0/7

16 Adding the blocking flow to f
9/9 v1 v2 v3 0/11 0/14 9/25 0/1 0/8 s 5/5 t 0/10 10/10 5/5 v5 v4 0/6 5/8 0/4 0/9 v6 0/7 v7 v1 v2 0/11 0/14 v3 0/10 0/16 v4 v5 s 5/5 5/8 5/5 t 0/4 0/9 v6 v7 0/7

17 Constructing Nf and Lf v1 v2 v3 v1 v2 v3 s t s t v5 v5 v4 v4 v6 v7 v6
9/9 v1 v2 v3 9 0/11 0/14 v1 v2 v3 11 14 9/25 16 0/1 0/8 9 1 0/8 s 5/5 t s 5 t 0/10 10/10 10 5/5 v5 v5 5 3 10 v4 0/6 5/8 6 0/4 v4 5 4 0/9 9 v6 0/7 v7 v6 7 v7 v1 v2 v3 11 14 1 8 16 10 v5 v4 s 5 t 9 4 v7 6 v6

18 Computing a blocking flow in Lf
v1 v2 v3 0/11 0/14 0/1 0/8 0/16 0/10 v5 v4 s 0/5 t 0/9 0/4 v7 0/6 v6

19 Computing a blocking flow in Lf
v1 v2 v3 0/11 0/14 0/1 0/8 4/16 4/10 v5 v4 s 0/5 t 0/9 4/4 v7 4/6 v6

20 Computing a blocking flow in Lf
v1 v2 v3 0/11 0/14 0/1 0/8 4/16 4/10 v5 v4 s 0/5 t 0/9 4/4 v7 4/6 v6

21 Computing a blocking flow in Lf
v1 v2 v3 8/11 8/14 0/1 8/8 12/16 4/10 v5 v4 s 0/5 t 0/9 4/4 v7 4/6 v6

22 Adding the blocking flow to f
9/9 v1 v2 v3 0/11 0/14 9/25 0/1 0/8 s 5/5 t 0/10 10/10 5/5 v5 v4 0/6 5/8 0/4 0/9 v6 0/7 v7 v1 v2 v3 8/11 8/14 0/1 8/8 12/16 4/10 v5 v4 s 0/5 t 0/9 4/4 v7 4/6 v6

23 Adding the blocking flow to f
9/9 v1 v2 v3 8/11 8/14 21/25 0/1 8/8 s 5/5 t 4/10 10/10 5/5 v5 v4 4/6 5/8 4/4 0/9 v6 0/7 v7 v1 v2 v3 8/11 8/14 0/1 8/8 12/16 4/10 v5 v4 s 0/5 t 0/9 4/4 v7 4/6 v6

24 Constructing Nf and Lf v1 v2 v3 v1 v2 v3 s t s t v5 v5 v4 v4 v6 v7 v6
9/9 v1 v2 v3 9 8/11 8/14 v1 3 v2 6 v3 21/25 8 8 4 0/1 8/8 1 8 s 21 4 5/5 t s 5 t 4/10 10/10 6 5/5 v5 v5 10 5 3 v4 4/6 5/8 4/4 v4 5 2 4 4 0/9 9 v6 0/7 v7 v6 7 v7 v1 v2 v3 3 6 1 6 4 v5 v4 v6 v7 s 5 9 7 2 t

25 Computing a blocking flow in Lf
v1 v2 v3 0/3 0/6 0/1 0/4 0/6 v5 v4 v6 v7 s 0/5 0/9 0/7 0/2 t

26 Computing a blocking flow in Lf
v1 v2 v3 0/3 0/6 0/1 2/4 2/6 v5 v4 v6 v7 s 2/5 2/9 2/7 2/2 t

27 Adding the blocking flow to f
9/9 v1 v2 v3 8/11 8/14 21/25 0/1 8/8 s 5/5 t 4/10 10/10 5/5 v5 v4 4/6 5/8 4/4 0/9 v6 0/7 v7 v1 v2 v3 0/3 0/6 0/1 2/4 2/6 v5 v4 v6 v7 s 2/5 2/9 2/7 2/2 t

28 Adding the blocking flow to f
9/9 v1 v2 v3 8/11 8/14 23/25 0/1 8/8 s 5/5 t 6/10 10/10 5/5 v5 v4 6/6 3/8 4/4 2/9 v6 2/7 v7 v1 v2 v3 0/3 0/6 0/1 2/2 2/6 v5 v4 v6 v7 s 2/5 2/9 2/7 2/2 t

29 Termination: no path from s to t in Nf
9/9 v1 v2 v3 9 8/11 8/14 v1 3 v2 6 v3 23/25 8 8 0/1 2 8/8 1 8 s 23 4 5/5 t s 6/10 5 t 10/10 6 5/5 v5 v5 10 5 5 v4 6/6 3/8 v4 3 4/4 6 4 7 2/9 2 5 v6 2/7 v7 v6 2 v7 The flow f is maximal!


Download ppt "The Dinitz Algorithm An example of a run."

Similar presentations


Ads by Google