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, - - 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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