Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Simple Parallel Algorithm for the Single-Source Shortest Path Problem on Planar Digraphs Authors: Jesper L. Traff and Christos D. Zaroliagis Citation:

Similar presentations


Presentation on theme: "A Simple Parallel Algorithm for the Single-Source Shortest Path Problem on Planar Digraphs Authors: Jesper L. Traff and Christos D. Zaroliagis Citation:"— Presentation transcript:

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

48

49

50

51


Download ppt "A Simple Parallel Algorithm for the Single-Source Shortest Path Problem on Planar Digraphs Authors: Jesper L. Traff and Christos D. Zaroliagis Citation:"

Similar presentations


Ads by Google