A Simple Parallel Algorithm for the Single-Source Shortest Path Problem on Planar Digraphs Authors: Jesper L. Traff and Christos D. Zaroliagis Citation: Journal of Parallel and Distributed Computing. Vol. 60, Issure 9, Sep. 2000, pp 1103-1124. Presented by Beifang Yi
51
Embed
A Simple Parallel Algorithm for the Single-Source Shortest Path Problem on Planar Digraphs Authors: Jesper L. Traff and Christos D. Zaroliagis Citation:
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
A Simple Parallel Algorithm for the Single-Source
Shortest Path Problem on Planar Digraphs
Authors: Jesper L. Traff and Christos D. Zaroliagis
Citation: Journal of Parallel and Distributed
Computing. Vol. 60, Issure 9, Sep. 2000,
pp 1103-1124.
Presented by Beifang Yi
About presentation
1. Introduction
2. The parallel algorithm
3. Other algorithms needed for this
so-called simple implementation
What is the shortest path problem?
Crazy Question ?
? What is the shortest path ?
? Again, what is shortest path ?
The shortest path? Yes! Our dog does a good job,
by intuition.
But onto this intuition,
• We Human Beings spread a bunch of conceited, snobbish, mind-splitting, glittering glazes, such as:
• Direction (a path has direction),
• Weight or cost of a path… and …
Digraph.
To strength our advantage over the animal,
• We further borrow an item “ planar” to meddle with the relative simple “Digraph”.
• Planar graph: it can be drawn on a plane so that the edges intersect only at the vertices.
for example,
• In the first 5 complete graphs, the first 4 are
planar graphs, but K5 is not.
Legs in another stubborn, mulish phrase: ssspp
• i.e. single-source shortest path problem:
• To find shortest paths (tree) from a given source vertex to every other vertex in G.
To our temporary relief,
• A guy called Dijkstra intruded in the arena, picking up the dog’s intuition:
• Find from the limited connected points the nearest point, and remove it into the sought set of points.
R1, solve the ssspp inside R1 with source vertex V1;
• Else: skip this step.
Pizza 5: Contraction of G into G’
• Vertices of G’: source V1 and all boundary vertices of G;
• Add an edge between any two boundary vertices in the same Ri with weight equal to the distance in Ri (calculated in step 2 or 3).
• Consider V1 as a boundary vertex.
Pizza 5-1: G’
Pizza 5: The shortest path tree in G’
• Find the shortest path tree in G’ rooted as source V1;
• Using parallel Dijkstra’s algorithm.
Pizza 5-2: Shortest path tree T’s in G’
Pizza 6: Shortest path tree in G
• for each interior vertex u in Ri,
• in parallel for every boundary Vb in Ri,
find the minimum distance of V1 to u
through Vb,
while recording the parent of u.
Pizza 6: The shortest path tree in G
Pizza 6’: Shortest path tree Ts in G
• Distances from V1 to every boundary vertex ub have been computed in previous step, so only the parent pb of ub needs to be updated if necessary.
• We have to consider some trivial cases: pb and ub are in the same Ri? pb= V1? pb is a boundary vertex?
Pizza 6”: Shortest path tree Ts in G
• In this step 6, one special case: if V1 is not a boundary vertex.
• The distance and parent information for the interior vertices in R1 needs to be updated with that obtained in step 4.
? How to divide G ?
Because of time limit, I could only cook one piece of tasteless bland cookie for this part.
Piece 1: Separator
A separator of a graph (V, E): a subset C of V whose removal
partitions V into 2 disjoint A, B, such that any path from a vertex in A to a
vertex in B contains at least one vertex from C.
Piece 2: Planar separator theorem
G=(V,E): an n-vertex planar graph with nonnegative costs on its vertices summing up to one a separator S partitions V into 2 sets V1, V2, such that |S|=O(n1/2) and V1, V2 has total
cost at most 2/3 each.
Piece 3: r-Division
A region decomposition of G into O(n/r) regions such that each region has at most c1r vertices and at most
c2 r1/2 boundary vertices.
Piece 4: Decomposition of G
1. Recursively applying the planar separator theorem.
2. Doing BFS (breadth first search) from V1: all vertices at any
level/depth make up a separator!
Piece 5: The most insipid piece
The authors here present an “explicit” EREW PRAM
implementation of Frederickson’s
algorithm by using
Piece 5’: The most insipid piece
Gazit—Miller separator algorithm, which is a “clever”
parallelization of the sequential
approach by
Piece 6: The most insipid piece
Lipton and Tarjan. After painstakingly sketching those
schemes, the authors conclude:
Piece 7: Finally, finale
“Our algorithm runs in O((n2e + n1-e)log n) time and performs (n1+elog n)
work on an EREW PRAM, for any 0<e<1/2.”
And
Piece 7: Ending “Climax” ( A brag? Seems not)
ssspp “can be solved in O(n2e + n1-e) time and performs (n1+e) work on an EREW PRAM”, if Sam’s sequential