Maximum Flow in Planar Networks Alon Itai and Yossi Shiloach 1979, - - PowerPoint PPT Presentation

maximum flow in planar networks
SMART_READER_LITE
LIVE PREVIEW

Maximum Flow in Planar Networks Alon Itai and Yossi Shiloach 1979, - - PowerPoint PPT Presentation

Maximum Flow in Planar Networks Alon Itai and Yossi Shiloach 1979, Society for Industrial and Applied Mathematics October 21, 2019 Planar Graph Problem Definition and Results Terminologies Berges Algorithm Modified Capacity Method


slide-1
SLIDE 1

Maximum Flow in Planar Networks

Alon Itai and Yossi Shiloach

1979, Society for Industrial and Applied Mathematics

October 21, 2019

slide-2
SLIDE 2

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Schedule

1

Planar Graph

2

Problem Definition and Results

3

Terminologies

4

Berge’s Algorithm

5

Modified Capacity Method

6

Finding uppermost paths

7

A validity proof of Algorithm Uppermost

8

Efficient implementation

9

Analysis of Modified Capacity Algorithm

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 2 / 48

slide-3
SLIDE 3

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Planar Graph

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 3 / 48

slide-4
SLIDE 4

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Planar Graph

Definition A graph that can be drawn in the plane without any of its edges intersecting is called a planar graph

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 4 / 48

slide-5
SLIDE 5

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Planar Graph

Definition A graph that can be drawn in the plane without any of its edges intersecting is called a planar graph Planar Embedding A particular drawing in the plane so that no two edges intersect.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 4 / 48

slide-6
SLIDE 6

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Planar Graph

Definition A graph that can be drawn in the plane without any of its edges intersecting is called a planar graph Planar Embedding A particular drawing in the plane so that no two edges intersect. Property 1 A given planar graph can give rise to several different planar embedding.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 4 / 48

slide-7
SLIDE 7

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Planar Graph

Face The edges and vertices of the graph divide the plane into regions.

F1 F2 F3 F4 F5

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 5 / 48

slide-8
SLIDE 8

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Planar Graph

Face The edges and vertices of the graph divide the plane into regions.

F1 F2 F3 F4 F5

Property 2 For every internal face F of a given planar embedding of a planar graph G, there is another planar embedding of G for which F is exterior.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 5 / 48

slide-9
SLIDE 9

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Planar Graph

Face The edges and vertices of the graph divide the plane into regions.

F1 F2 F3 F4 F5

Property 2 For every internal face F of a given planar embedding of a planar graph G, there is another planar embedding of G for which F is exterior. Property 3 If G be a connected planar simple graph with n ≥ 3 vertices and m edges. Then m ≤ 3n − 6.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 5 / 48

slide-10
SLIDE 10

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Problem Definition and Results

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 6 / 48

slide-11
SLIDE 11

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Max-Flow in Planar Network

Problem Given a directed flow network N = (G, s, t, c) where G = (V, E) is a planar embedding of a directed planar graph, s and t are two distinct vertices of the graph known as source and terminal c : E → R+ is a capacity function. The problem is to determine the maximum amount of flow that can be sent from the source node s to the sink node t in such a way that flow satisfies capacity rule and conservation rule.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 7 / 48

slide-12
SLIDE 12

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Max-Flow in Planar Network

Problem Given a directed flow network N = (G, s, t, c) where G = (V, E) is a planar embedding of a directed planar graph, s and t are two distinct vertices of the graph known as source and terminal c : E → R+ is a capacity function. The problem is to determine the maximum amount of flow that can be sent from the source node s to the sink node t in such a way that flow satisfies capacity rule and conservation rule.

s

v1 v2 v3 v4 v5 t 3 2 2 1 1 3 2 5 2 4 3 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 7 / 48

slide-13
SLIDE 13

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Results

Past Result Ford and Fulkerson proved Max Flow-Min Cut theorem and established the technique of augmenting paths for finding a maximum flow. All algorithms for finding maximum flow in general graph runs in O(n3) time for planar graphs. Berge proposed an algorithm to find max-flow in a planar network where s and t are on the same face, whose straight forward implementation requires O(n2) time.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 8 / 48

slide-14
SLIDE 14

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Results

Past Result Ford and Fulkerson proved Max Flow-Min Cut theorem and established the technique of augmenting paths for finding a maximum flow. All algorithms for finding maximum flow in general graph runs in O(n3) time for planar graphs. Berge proposed an algorithm to find max-flow in a planar network where s and t are on the same face, whose straight forward implementation requires O(n2) time. Overall Idea of the Paper O(n log n) implementation of Berge’s algorithm. O(n log n) is a lower bound to any implementation of Berge algorithm. Find a flow of value D ≥ 0 in a directed planar network if such a flow exists,

  • therwise this fact is indicated in O(n2 log n) time.

O(n2 log n) algorithm for finding a minimum (s, t) cut in an undirected planar network and so is the maximum flow.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 8 / 48

slide-15
SLIDE 15

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Terminologies

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 9 / 48

slide-16
SLIDE 16

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Teminology

Data Structure Graph is represented by incidence lists. Each vertex v has a list Ev of all the edges to which v is an end point. The set Ev is represented by a circular list corresponding to the circular clockwise

  • rdering of the edges around v.

Each edge e ∈ Ev has a unique successor edge succv(e) in Ev. Assumption Graph G has a fixed planar representation. s and t belong to the same face and WLOG, t → s ∈ E. t → s is incident with the exterior face.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 10 / 48

slide-17
SLIDE 17

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Uppermost Path

s t

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 11 / 48

slide-18
SLIDE 18

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Uppermost Path

s t s t

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 11 / 48

slide-19
SLIDE 19

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Uppermost Path

s t s t s t

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 11 / 48

slide-20
SLIDE 20

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Berge’s Algorithm

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 12 / 48

slide-21
SLIDE 21

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Berge’s Algorithm

ALGORITHM Set i = 0, f0(e) = 0, res(e) = c(e) for all e ∈ E. Find the uppermost path PB

i , if none exists then stop.

Let eB

i be a bottleneck of PB i .

Increase the flow by res(eB

i ) units along PB i .

if e ∈ PB

i then f B i (e) = f B i−1(e) + res(eB i )

else f B

i (e) = f B i−1(e)

res(e) = c(e) − f B

i (e)

Delete the bottleneck eB

i from G

i = i + 1 and Repeat Runtime Straight forward implementation requires O(n2) time. Why?

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 13 / 48

slide-22
SLIDE 22

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 3 2 2 1 1 3 2 5 2 4 3 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 14 / 48

slide-23
SLIDE 23

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 2 2 2 1 1 3 2 5 2 3 2 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 15 / 48

slide-24
SLIDE 24

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 2 2 2 1 1 3 2 5 2 3 2 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 16 / 48

slide-25
SLIDE 25

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 1 2 2 1 1 2 2 5 2 2 1 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 17 / 48

slide-26
SLIDE 26

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 1 2 2 1 1 2 2 5 2 2 1 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 18 / 48

slide-27
SLIDE 27

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 1 1 2 1 1 2 2 5 2 2 1 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 19 / 48

slide-28
SLIDE 28

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 1 1 2 1 1 2 2 5 2 2 1 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 20 / 48

slide-29
SLIDE 29

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 1 1 2 1 1 2 2 5 1 2 1 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 21 / 48

slide-30
SLIDE 30

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 1 1 2 1 1 2 2 5 1 2 1 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 22 / 48

slide-31
SLIDE 31

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration s

v1 v2 v3 v4 v5 t 1 1 2 1 1 2 5 1 2 1 10

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 23 / 48

slide-32
SLIDE 32

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Modified Capacity Method

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 24 / 48

slide-33
SLIDE 33

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Modified Capacity Method

Notation Let I(e) and L(e) denote the index of the first and last uppermost paths in which the edge e participates.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 25 / 48

slide-34
SLIDE 34

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Modified Capacity Method

Notation Let I(e) and L(e) denote the index of the first and last uppermost paths in which the edge e participates. Let f M

i

denote the flow after finding the ith uppermost path,

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 25 / 48

slide-35
SLIDE 35

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Modified Capacity Method

Notation Let I(e) and L(e) denote the index of the first and last uppermost paths in which the edge e participates. Let f M

i

denote the flow after finding the ith uppermost path, Modified Capacity is defined by M(e) = f M

I(e)−1 + c(e)

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 25 / 48

slide-36
SLIDE 36

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Modified Capacity Method

Notation Let I(e) and L(e) denote the index of the first and last uppermost paths in which the edge e participates. Let f M

i

denote the flow after finding the ith uppermost path, Modified Capacity is defined by M(e) = f M

I(e)−1 + c(e)

Advantage Modified capacity of each edge receives a value once in the algorithm and is not updated. Flow on each edge f M

i

= f M

L(e) − f M I(e)−1

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 25 / 48

slide-37
SLIDE 37

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Modified Capacity Method

Notation Let I(e) and L(e) denote the index of the first and last uppermost paths in which the edge e participates. Let f M

i

denote the flow after finding the ith uppermost path, Modified Capacity is defined by M(e) = f M

I(e)−1 + c(e)

Advantage Modified capacity of each edge receives a value once in the algorithm and is not updated. Flow on each edge f M

i

= f M

L(e) − f M I(e)−1

Lemma If e participates in any uppermost path then e participates in all the paths between PI(e) and PL(e).

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 25 / 48

slide-38
SLIDE 38

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Modified Capacity Algorithm

Algorithm Modified

1 Set f M

0 = 0, PM 0 = Φ,i = 0.

2 Find the uppermost path PM

i , if none exists then go to 7.

3 For e ∈ PM

i

− PM

i−1, set M(e) = c(e) + f M i−1.

4 Find a bottleneck eM

i

∈ PM

i , and set f M i

= M(eM

i ).

5 Delete eM

i

from E.

6 Set i = i + 1 and go to 2. 7 Find flow of each edge e ∈ E

if e does not belong to any uppermost path then f M(e) = 0 else f M(e) = f M

L(e) − f M I(e)−1

Outpus a maximum flow Algorithm Modified is equivalent to Berge’s Algorithm and hence it does find a maximum flow.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 26 / 48

slide-39
SLIDE 39

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 2 2 1 1 3 2 5 2 4 3 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 27 / 48

slide-40
SLIDE 40

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 2 2 1 1 3 2 5 2 4 3 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 − − − − − − 1 − − − 1 − − − 1 − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 28 / 48

slide-41
SLIDE 41

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 2 2 1 1 3 2 5 2 4 3 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 − − − − − − 1 − − − 1 − − − 1 − − − − − − − − − − − − − − − − − − − − − 1 − − − − − − − − − − − − − − − − − − − − − − − − f M = 0 f M

1

= 1

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 29 / 48

slide-42
SLIDE 42

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 2 2 1 2 4 2 5 2 4 3 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 − − − − − − 1 2 1 − − − 1 2 − − − − − − − − − − − − − − − − − − 1 − − − − − − − − − − − − − − − − − − − − − − − − f M = 0 f M

1

= 1

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 30 / 48

slide-43
SLIDE 43

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 2 2 1 2 4 2 5 2 4 3 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 − − − − − − 1 2 1 − − − 1 2 − − − − − − − − − 2 − − − − − − 1 2 − − − − − − − − − − − − − − − − − − − − − f M = 0 f M

1

= 1 f M

2

= 2

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 31 / 48

slide-44
SLIDE 44

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 4 2 4 2 5 2 4 3 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 3 − − − 1 2 1 − − − 1 2 − − − − − − − − − 2 − − − − − − 1 2 − − − − − − − − − − − − − − − − − − − − − f M = 0 f M

1

= 1 f M

2

= 2

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 32 / 48

slide-45
SLIDE 45

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 4 2 4 2 5 2 4 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 3 − − − 1 2 1 − − − 1 2 − − − − − − − − − 2 − − − − − − 1 2 3 − − − 3 3 − − − − − − − − − f M = 0 f M

1

= 1 f M

2

= 2 f M

3

= 3

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 33 / 48

slide-46
SLIDE 46

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 4 2 4 2 5 5 4 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 3 − − − 1 2 1 − − − 1 2 − − − 4 − − − 2 − − − − − − 1 2 3 − − − 3 3 − − − − − − − − − f M = 0 f M

1

= 1 f M

2

= 2 f M

3

= 3

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 34 / 48

slide-47
SLIDE 47

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 6 4 6 5 5 4 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 3 5 1 2 1 − − − 1 2 − − − 4 5 2 4 − − − 1 2 3 − − − 3 3 − − − 4 − − − f M = 0 f M

1

= 1 f M

2

= 2 f M

3

= 3 f M

4

= 4

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 35 / 48

slide-48
SLIDE 48

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

s

v1 v2 v3 v4 v5 t 3 6 4 6 5 5 4 10

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 3 5 1 2 1 − − − 1 2 − − − 4 5 2 4 5 1 2 3 − − − 3 3 − − − 4 5 f M = 0 f M

1

= 1 f M

2

= 2 f M

3

= 3 f M

4

= 4 f M

5

= 6

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 36 / 48

slide-49
SLIDE 49

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Illustration

e I(e) L(e) f(e) (s, v1) (s, v4) (s, v5) (v1, v2) (v1, v4) (v2, v3) (v3, v1) (v3, t) (v4, v2) (v4, v5) (v4, t) (v5, t) 1 3 5 1 2 1 − − − 1 2 − − − 4 5 2 4 5 1 2 3 − − − 3 3 − − − 4 5 f M = 0 f M

1

= 1 f M

2

= 2 f M

3

= 3 f M

4

= 4 f M

5

= 6 2 2 2 1 1 3 3 2 1 2 s

v1 v2 v3 v4 v5 t 2/3 2/2 2/2 1/1 1/1 2/3 2/2 0/5 1/2 3/4 3 0/10 Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 37 / 48

slide-50
SLIDE 50

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Finding uppermost paths

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 38 / 48

slide-51
SLIDE 51

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Finding uppermost paths

Ps and Pt Deleting a bottleneck (vj, vj+1) from Pi−1 breaks it into two paths: Ps from s to vj and Pt from vj+1 to t Algorithm Uppermost constructs Pi by continuing Ps until it meets Pt.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 39 / 48

slide-52
SLIDE 52

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Finding uppermost paths

Ps and Pt Deleting a bottleneck (vj, vj+1) from Pi−1 breaks it into two paths: Ps from s to vj and Pt from vj+1 to t Algorithm Uppermost constructs Pi by continuing Ps until it meets Pt.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 39 / 48

slide-53
SLIDE 53

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Finding uppermost paths

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 40 / 48

slide-54
SLIDE 54

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Finding uppermost paths

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 40 / 48

slide-55
SLIDE 55

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Finding uppermost paths

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 40 / 48

slide-56
SLIDE 56

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Algorithm Uppermost

Algorithm Uppermost

1 Pi = Ps and v = vj. 2 Let e = (u, v) be the edge in Pi which enters v. 3 If Ev = {e} then

if v = s then stop Otherwise, set v = u; delete e from G and Pi; and go to 2.

4 Let e′ = succv(e). If e′ enters v then delete e′ and go to 3. 5 Let e′ = (v, w). If w ∈ Pi

Pt then include e′ in Pi set v = w and go to 2.

6 If w ∈ Pt then include e′ in Pi; delete the edges from vj+1 to w along Pt; add the

remaining edges of Pt to Pi, and stop.

7 If w ∈ Pi. Delete the edge e′ and the edges of Pi between w and v; Set v = w

and go to 2.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 41 / 48

slide-57
SLIDE 57

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

A validity proof of Algorithm Uppermost

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 42 / 48

slide-58
SLIDE 58

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Validity Proof

An edge e incident with the exterior face is left-exterior l.e. if (a)it is either incident only with the exterior face, or (b)it is incident also with another face but the exterior face is on its left hand side Theorem If there exists an (s, t)-path then Algorithm Uppermost finds the uppermost path. Proof. Lemmas Lemma 1 If (u, v) is a l.e. edge and (v, w) = succv(u, v) then (v, w) is also l.e. Lemma 2 Let G be the graph resulting after finding the path Pi. If Ps and Pt are l.e. in Gi−1 then Pi is l.e. in Gi. Lemma 3 Every path Pi found by Algorithm Uppermost is l.e. in Gi. Lemma 4 If v1, v2, v3 and v4 are on the exterior face in this cyclic order then every (v1, v3)-path and every (v2, v4)-path have a common vertex. Lemma 5 Every edge deleted by Algorithm Uppermost cannot participate in any subsequent uppermost path.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 43 / 48

slide-59
SLIDE 59

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Efficient implementation

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 44 / 48

slide-60
SLIDE 60

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Implementation of steps 5-7

Step 5 On initialization (step 1 of Algorithm M) we mark vertices s and t as old and all

  • ther vertices new.

Every vertex belongs to at most one of the paths Pi or Pt. Every vertex x has one pointer field. If x ∈ Pi then the pointer points to its predecessor in Pi If x ∈ Pt then it points to its predecessor in Pt. Step 6 Here we need to determine whether an old vertex w is in Pt. Backtracking along the back pointers. If w ∈ Pt then the backtracking from w stops when we encounter vj+1 Step 7 Here we need to determine whether an old vertex w is in Pi. If w ∈ Pi then when backtracking from w, s is encountered and when backtracking from v, w is encountered. If we backtrack from v and w in parallel, the number of edges processed is at most twice the number of edges deleted in Steps 6 and 7.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 45 / 48

slide-61
SLIDE 61

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Analysis of Modified Capacity Algorithm

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 46 / 48

slide-62
SLIDE 62

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Analysis of Algorithm Modified

Lemma The number of edge traversals in Algorithm Modified (insertions to an uppermost path, deletions from the graph and backtracking) is linear.

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 47 / 48

slide-63
SLIDE 63

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Analysis of Algorithm Modified

Lemma The number of edge traversals in Algorithm Modified (insertions to an uppermost path, deletions from the graph and backtracking) is linear. Complexity To find a bottleneck efficiently, a priority queue is used. Keep the modified capacities of the edges of the current Pi and Pt, in the same priority queue. Edges are inserted to the priority queue, when added to Pi in Steps 5 and 6 of Algorithm Uppermost. Whenever an edge of the graph is deleted, it is deleted also from the priority queue. Each edge is inserted and deleted at most once. So time complexity is O(n log n).

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 47 / 48

slide-64
SLIDE 64

Planar Graph Problem Definition and Results Terminologies Berge’s Algorithm Modified Capacity Method Finding uppermost paths A validity proof of Algor

Lower Bound for Implementation of Berge’s Algorithm

Lower Bound Lower bound for any implementation of Berge’s Algorithm is O(n log n).

Itai,A.and Shiloach, Y. SIAM J. Comput. Maximum Flow in Planar Networks October 21, 2019 48 / 48