Push-Relabel Algorithm for Maximum Flow HK Journalists Gehua Qin, - - PowerPoint PPT Presentation

push relabel algorithm for maximum flow
SMART_READER_LITE
LIVE PREVIEW

Push-Relabel Algorithm for Maximum Flow HK Journalists Gehua Qin, - - PowerPoint PPT Presentation

Introduction Proof of Correctness Analysis of Running time Push-Relabel Algorithm for Maximum Flow HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Algorithms run as fast as HK Journalists! November, 29, 2016 HK Journalists Gehua Qin,


slide-1
SLIDE 1

Introduction Proof of Correctness Analysis of Running time

Push-Relabel Algorithm for Maximum Flow

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian

Algorithms run as fast as HK Journalists!

November, 29, 2016

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-2
SLIDE 2

Introduction Proof of Correctness Analysis of Running time

Outline

1

Introduction Basic Features Basic Idea

2

Proof of Correctness Properties of Height Proof of Correctness

3

Analysis of Running time Analysis of the push-relabel method

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-3
SLIDE 3

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Outline

1

Introduction Basic Features Basic Idea

2

Proof of Correctness Properties of Height Proof of Correctness

3

Analysis of Running time Analysis of the push-relabel method

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-4
SLIDE 4

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Features

a fairly different approach to finding maximum flows.

Invented by Andrew Goldberg and Bob Tarjan in 1980s. Running time is O(V 2E), compared with O(VE 2) for Edmonds-Karp’s Algorithm Do not maintain the flow-conservation — preflow

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-5
SLIDE 5

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Preflow

Flow-conservation: u ∈ V − {s}, X

v∈V

f (v, u) = X

v∈V

f (u, v)

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-6
SLIDE 6

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Preflow

In push-relabel algorithm: Flow-conservation: u ∈ V − {s}, X

v∈V

f (v, u) ≥ X

v∈V

f (u, v)

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-7
SLIDE 7

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Preflow

Definition Excess flow: e(u) = P

v∈V f (v, u) − P v∈V f (u, v)

Definition If u ∈ V − {s}, e(u) > 0, then we call u is overflowing

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-8
SLIDE 8

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Outline

1

Introduction Basic Features Basic Idea

2

Proof of Correctness Properties of Height Proof of Correctness

3

Analysis of Running time Analysis of the push-relabel method

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-9
SLIDE 9

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Example

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-10
SLIDE 10

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Example

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-11
SLIDE 11

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Example

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-12
SLIDE 12

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Example

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-13
SLIDE 13

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

Definition ∀u ∈ V , u.h = the height of u.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-14
SLIDE 14

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Initialization

Initialization During the whole process, s.h ≡ |V |, t.h ≡ 0 In the beginning, ∀u ∈ V − {s, t}, u.h = 0

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-15
SLIDE 15

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Initialization

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-16
SLIDE 16

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Initialization

Initialization During the whole process, s.h ≡ |V |, t.h ≡ 0 In the beginning, ∀u ∈ V − {s, t}, u.h = 0 Initialize the preflow f as: (u, v).f = ( c(u,v) if u = s

  • ther

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-17
SLIDE 17

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Initialization

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-18
SLIDE 18

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

NOTE!!!

The whole process is within the residual network.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-19
SLIDE 19

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

NOTE!!!

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-20
SLIDE 20

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

Relabel(u) Applies when: u is overflowing and ∀v ∈ V , such that (u, v) ∈ Ef , we have u.h ≤ v.h. Action: Increase the height of u. u.h = 1 + min{v.h : (u, v) ∈ Ef }

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-21
SLIDE 21

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Relabel

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-22
SLIDE 22

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Relabel

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-23
SLIDE 23

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Relabel

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-24
SLIDE 24

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Relabel

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-25
SLIDE 25

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Relabel

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-26
SLIDE 26

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Relabel

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-27
SLIDE 27

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-28
SLIDE 28

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-29
SLIDE 29

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

Push(u,v) Applies when: u is overflowing, cf (u, v) > 0, and u.h = v.h + 1. Action: Push ∆f (u, v) = min(u.e, cf (u, v)) units of flow from u to v. ∆f (u, v) = min(u.e, cf (u, v)) if((u, v) ∈ E

(u, v).f = (u, v).f + ∆f (u, v)

else (u, v).f = (u, v).f − ∆f (u, v) u.e = u.e − ∆f (u, v) v.e = v.e − ∆f (u, v)

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-30
SLIDE 30

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

When we cannot push...

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-31
SLIDE 31

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

When we cannot push...

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-32
SLIDE 32

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

When we can push!!!

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-33
SLIDE 33

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

When we can push!!!

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-34
SLIDE 34

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-35
SLIDE 35

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-36
SLIDE 36

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-37
SLIDE 37

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-38
SLIDE 38

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-39
SLIDE 39

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-40
SLIDE 40

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-41
SLIDE 41

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-42
SLIDE 42

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-43
SLIDE 43

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-44
SLIDE 44

Introduction Proof of Correctness Analysis of Running time Basic Features Basic Idea

Process

Property When the excess flow of every vertice is 0, we find a maximum flow.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-45
SLIDE 45

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

Outline

1

Introduction Basic Features Basic Idea

2

Proof of Correctness Properties of Height Proof of Correctness

3

Analysis of Running time Analysis of the push-relabel method

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-46
SLIDE 46

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How does height change?

Lemma The height never decrease. And it increase at least 1.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-47
SLIDE 47

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How does height change?

Lemma The height never decrease. And it increase at least 1. Question 1 When does height change? —Only during relabel operation

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-48
SLIDE 48

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How does height change?

Lemma The height never decrease. And it increase at least 1. Question 1 When does height change? —Only during relabel operation Question 2 When does relabel(u) run for a node u? —If and only if h(v) ≥ h(u) for all v, adjacent to u

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-49
SLIDE 49

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How does height change?

Without increasing of height... It will be impossible to transfer water.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-50
SLIDE 50

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How does height change?

When the height is increased... Water can be transferred.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-51
SLIDE 51

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

Lemma During the whole process, height h always satisfies: ∀(u, v) ∈ Eresidual, h(u) ≤ h(v) + 1

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-52
SLIDE 52

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

Which means there will not be...

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-53
SLIDE 53

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

Lemma During the whole process, height h always satisfies: ∀(u, v) ∈ Eresidual, h(u) ≤ h(v) + 1 Remember: In a residual graph, an edge is shown iff capacity > 0

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-54
SLIDE 54

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

Lemma During the whole process, height h always satisfies: ∀(u, v) ∈ Eresidual, h(u) ≤ h(v) + 1 Proof. When initialization, height is valid.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-55
SLIDE 55

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

Lemma During the whole process, height h always satisfies: ∀(u, v) ∈ Eresidual, h(u) ≤ h(v) + 1 Proof. When initialization, height is valid. Suppose after k relabel and push operations, height is valid.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-56
SLIDE 56

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

Lemma During the whole process, height h always satisfies: ∀(u, v) ∈ Eresidual, h(u) ≤ h(v) + 1 Proof. When initialization, height is valid. Suppose after k relabel and push operations, height is valid. Run Push(u,v).

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-57
SLIDE 57

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-58
SLIDE 58

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-59
SLIDE 59

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

Lemma During the whole process, height h always satisfies: ∀(u, v) ∈ Eresidual, h(u) ≤ h(v) + 1 Proof. When initialization, height is valid. Suppose after k relabel and push operations, height is valid. Run Push(u,v). Run Relabel(u).

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-60
SLIDE 60

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-61
SLIDE 61

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How fast will the height increase?

Lemma During the whole process, height h always satisfies: ∀(u, v) ∈ Eresidual, h(u) ≤ h(v) + 1 Proof. When initialization, height is valid. Suppose after k relabel and push operations, height is valid. Run Push(u,v). Run Relabel(u). Height is still valid after k+1 relabel and push operations.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-62
SLIDE 62

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How long is the path?

There is no waterfall, so... dist(u, v) ≥ h(u) − h(v)

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-63
SLIDE 63

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How long is the path?

Suppose s and t are connected, dist(s, t) ≥ h(s) − h(t)

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-64
SLIDE 64

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How long is the path?

Suppose s and t are connected, dist(s, t) ≥ h(s) − h(t) ≥ |V |

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-65
SLIDE 65

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How long is the path?

Suppose s and t are connected, dist(s, t) ≥ h(s) − h(t) ≥ |V | Impossible!

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-66
SLIDE 66

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

How long is the path?

Suppose s and t are connected, dist(s, t) ≥ h(s) − h(t) ≥ |V | Impossible! s and t are not connected.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-67
SLIDE 67

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

Outline

1

Introduction Basic Features Basic Idea

2

Proof of Correctness Properties of Height Proof of Correctness

3

Analysis of Running time Analysis of the push-relabel method

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-68
SLIDE 68

Introduction Proof of Correctness Analysis of Running time Properties of Height Proof of Correctness

When the algorithm terminates:

  • 1. Height function remains valid, there’s no path from s to t in

Gf .

  • 2. No more excess flow. Otherwise the process will go on.

3.Thus pre-flow becomes flow, observing capacity restrains.

  • 4. By flow theory, the flow found is a maximum flow.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-69
SLIDE 69

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

Outline

1

Introduction Basic Features Basic Idea

2

Proof of Correctness Properties of Height Proof of Correctness

3

Analysis of Running time Analysis of the push-relabel method

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-70
SLIDE 70

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

  • 1. 3 Basic operations

Relabel Rise the height of a vertex. Saturating push A push which fullfill the pipes. Non-saturating push A push which do not fullfill the pipes.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-71
SLIDE 71

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

Claims

Claim1 The number of Relabel operations ≤ 2|V |2. Claim2 The number of Saturating push operations ≤ 2|V ||E|. Claim3 The number of Non-saturating push operations ≤ 4|V |2(|V | + |E|). Claim4 The number of basic operations is O(V 2E).

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-72
SLIDE 72

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

  • 1. There exists a simple path

Lemma Let G = (V , E) be a flow network with source s and sink t, and let f be a preflow in G. Then, for any overflowing vertex x, there is a simple path from x to s in the residual network Gf .

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-73
SLIDE 73

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

  • 2. h(u) ≤ 2|V |

Lemma At any time during this algorithm, h(u) ≤ 2|V |, ∀u ∈ V . Proof. There is a simple path p =< v0, v1, · · · , vk > from u to s. h(u) = h(v0) ≤ h(vk + k) ≤ h(s) + |V | = 2|V |

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-74
SLIDE 74

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

  • 3. Bound on relabel operations

Lemma During the algorithm, the number of relabel operations is at most 2|V | per vertex and at most 2(|V |)(|V |) ≤ 2|V |2 overall.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-75
SLIDE 75

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

  • 4. Bound on saturating pushes

Lemma During the algorithm, the number of saturating pushes ≤ 2|V ||E|. Proof. Consider two vertices u, v ∈ V : 1.saturating push occurs, h(v) = h(u) − 1;

  • 2. Before a saturating push occurs again, push back, Now

h(v) = h(u) + 1;

  • 3. h(v) increased by at least 2;
  • 4. h(v) ≤ 2|V |: fewer than 2|V | saturating pushes between u and

v; 2|V ||E| over all edges.

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-76
SLIDE 76

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

  • 5. Bound on non-saturating pushes

Lemma During the algorithm, the number of non-saturating pushes ≤ 4|V |2(|V | + |E|). Proof. you have P

v:e(v)>0 h(v) ≥ 0oranges.

relabeling a vertex, get less than 2|V | oranges. a saturating push ,get less than 2|V | oranges. an nonsaturating push , decreases at least one oranges. total (2|V |)(2|V |2) + (2|V |)(2|V ||E|) = 4|V |2(|V | + |E|).

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-77
SLIDE 77

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

Analysis of the Running Time

Theorem During the execution of GENERIC-PUSH-RELABEL on any flow network G = (V , E), the number of basic operations is O(V 2E).

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-78
SLIDE 78

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

Reference

Reference: Thomas H.. Cormen, Leiserson C E, Rivest R L, et al. Introduction to algorithms[M]. Cambridge: MIT press, 2001. http://www.cs.cmu.edu/ avrim/451f13/lectures/lect1010.pdf Photo of Everest: http://travel.qunar.com/p-cs299834-rikaze-gaikuang-2-1-8 Photo of Siyuan Lake: http://blog.sina.com.cn/s/blog_44e26f980100lclp.html Photo if Watertower: http://www.istockphoto.com Photo of small Waterfall: http://www.nipic.com/show/1/7/3871246kd56a5397.html Photo of great Waterfall: http://blog.sina.com.cn/s/blog_12ebc3df00102w97e.html Photo of Tianchi: http://www.photophoto.cn/show/11915145.html

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm

slide-79
SLIDE 79

Introduction Proof of Correctness Analysis of Running time Analysis of the push-relabel method

Q & A

HK Journalists Gehua Qin, Chenlin Liu, Yihui Qian Push-Relabel Algorithm