Download presentation
Presentation is loading. Please wait.
Published byLaureen Baldwin Modified over 9 years ago
1
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
2
About presentation 1. Introduction 2. The parallel algorithm 3. Other algorithms needed for this so-called simple implementation
3
What is the shortest path problem? Crazy Question ?
4
? What is the shortest path ?
5
? Again, what is shortest path ?
6
The shortest path? Yes! Our dog does a good job, by intuition.
7
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.
8
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.
9
for example, In the first 5 complete graphs, the first 4 are planar graphs, but K5 is not.
10
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.
11
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.
12
Dijkstra’s algorithm operation: From : http://ciips.ee.uwa.edu.au/~morr is/Year2/PLDS210/dij-op.html
13
Dijkstra’s algorithm: Initial graph All nodes have infinite cost except the source
14
Dijkstra’s algorithm: Choose the closest node to s. As we initialised d[s] to 0, it's s. Add it to S Relax all nodes adjacent to s. Update predecessor (red arrows) for all nodes updated.
15
Dijkstra’s algorithm: Choose the closest node, x Relax all nodes adjacent to x Update predecessors for u, v and y.
16
Dijkstra’s algorithm: Now y is the closest, add it to S. Relax v and adjust its predecessor
17
Dijkstra’s algorithm: u is now closest, choose it and adjust its neighbour, v.
18
Dijkstra’s algorithm: Finally, add v. The predecessor list now defines the shortest path from each node to s.
19
The algorithms presented in this paper
20
To our dismay: The authors of this paper tried to manipulate Dijkstra’s initiative to crack ssspp in the showy, brassy Parallel stadium, not a good performing stage for ssspp.
21
Even worse: They used one of the dullest, most strident languages, mathematical jargon, to portray their deliberation.
22
So, I have to add some spicy seasoning in the process of interpreting their boring, mind-numbing essay: ----- by using exemplar pictures.
23
pizza 1: given G, suppose the rectangles are circles.
24
pizza 2’: We divide G into 3 regions (R 1 - 3 ) such that: 1.Source V 1 is in R 1, 2.Interior vertices (circled ones), 3.Boundary vertices (round rectangles), shared among at least 2 regions, 4.No edges between 2 interior vertices in different regions.
25
pizza 2 : G divided into 3 regions.
26
Pizza 3: Shortest paths in every region. For boundary Vs (as the source vertices), find in parallel the single shortest path trees. e.x. Vj keeps 7 shortest paths (because of 7 boundary vertices). (Sequential Dijkstra’s).
27
Pizza 4: Shortest paths in region 1. If source V 1 is not a boundary vertex of R1, solve the ssspp inside R 1 with source vertex V 1 ; Else: skip this step.
28
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.
29
Pizza 5-1: G’
30
Pizza 5: The shortest path tree in G’ Find the shortest path tree in G’ rooted as source V1; Using parallel Dijkstra’s algorithm.
31
Pizza 5-2 : Shortest path tree T’s in G’
32
Pizza 6: Shortest path tree in G for each interior vertex u in Ri, in parallel for every boundary V b in R i, find the minimum distance of V 1 to u through V b, while recording the parent of u.
33
Pizza 6: The shortest path tree in G
34
Pizza 6’: Shortest path tree Ts in G Distances from V 1 to every boundary vertex u b have been computed in previous step, so only the parent p b of u b needs to be updated if necessary. We have to consider some trivial cases: p b and u b are in the same R i ? p b = V 1 ? p b is a boundary vertex?
35
Pizza 6”: Shortest path tree Ts in G In this step 6, one special case: if V 1 is not a boundary vertex. The distance and parent information for the interior vertices in R 1 needs to be updated with that obtained in step 4.
36
? How to divide G ? Because of time limit, I could only cook one piece of tasteless bland cookie for this part.
37
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.
38
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(n 1/2 ) and V1, V2 has total cost at most 2/3 each.
39
Piece 3: r-Division A region decomposition of G into O(n/r) regions such that each region has at most c 1 r vertices and at most c 2 r 1/2 boundary vertices.
40
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!
41
Piece 5: The most insipid piece The authors here present an “explicit” EREW PRAM implementation of Frederickson’s algorithm by using
42
Piece 5’: The most insipid piece Gazit—Miller separator algorithm, which is a “clever” parallelization of the sequential approach by
43
Piece 6: The most insipid piece Lipton and Tarjan. After painstakingly sketching those schemes, the authors conclude:
44
Piece 7: Finally, finale “Our algorithm runs in O((n 2e + n 1-e )log n) time and performs (n 1+e log n) work on an EREW PRAM, for any 0<e<1/2.” And
45
Piece 7: Ending “Climax” ( A brag? Seems not) ssspp “can be solved in O(n 2e + n 1-e ) time and performs (n 1+e ) work on an EREW PRAM”, if Sam’s sequential Dijkstra and John’s parallel Dijkstra are used!!!
46
Huh, … Thanks for patience! and Welcome for questions.
47
Moore’s parallel for ssspp
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.