Efficient parallel algorithms for shortest paths in planar digraphs (original) (raw)
Related papers
An Efficient Parallel Algorithm for Shortest Paths in Planar Layered Digraphs I
Computing shortest paths in a directed graph has received considerable attention in the sequential RAM model of computation. However, developing a polylog-time parallel algorithm that is close to the sequential optimal in terms of the total work done remains an elusive goal. We present a first step in this direction by giving efficient parallel algorithms for shortest paths in planar layered digraphs. We show that these graphs admit special kinds of separators called one-way separators which allow the paths in the graph to cross it only once. We use these separators to give divide-and-conquer solutions to the problem of finding the shortest paths between any two vertices. We first give a simple algorithm that works in the CREW model and computes the shortest path between any two vertices in an n-node planar layered digraph in time O(log 2 n) using n/log n processors. We then use results of Aggarwal and Park [1] and Atallah [4] to improve the time bound to O(log 2 n) in the CREW model and O(log n log log n) in the CREW model. The processor bounds still remain as n/log n for the CREW model and n/log log n for the CRCW model.
A Simple Parallel Algorithm for the Single-Source Shortest Path Problem on Planar Digraphs
Journal of Parallel and Distributed Computing, 2000
3 The goal of PAD is to provide an organized collection of basic parallel algorithms and data structures and to investigate the use of the PRAM as a high-level parallel programming model. The experiments so far are encouraging and many basic PRAM algorithms have been implemented (e.g., prefix computations, merge-sort, list ranking, Euler tour, tree contraction, and parallel 2-3 trees).
Shortest paths in digraphs of small treewidth. Part II: Optimal parallel algorithms
Theoretical Computer Science, 1998
We consider the problem of preprocessing an n-vertex digraph with real edge weights so that subsequent queries for the shortest path or distance between any two vertices can be e ciently answered. We give algorithms that depend on the treewidth of the input graph. When the treewidth is a constant, our algorithms can answer distance queries in O( (n)) time after O(n) preprocessing. This improves upon previously known results for the same problem. We also give a dynamic algorithm which, after a change in an edge weight, updates the data structure in time O(n ), for any constant 0 < < 1. Furthermore, an algorithm of independent interest is given: computing a shortest path tree, or nding a negative cycle in linear time.
An efficient parallel algorithm for planarity
Journal of Computer and System Sciences, 1988
Planarity is a classical property of graphs, dating back to 1736, when Euler formulated the concept. A drawing of a graph on a plane in which no edges cross is called a planar embedding. A graph for which such an embedding exists is called a planar graph. The search for an efficient algorithm to decide planarity and find a planar embedding culminated in Hopcroft and Tarjan's linear-time algorithm ([101). Continuing in this tradition, we have developed a very efficient parallel algorithm for this problem. Our new algorithm finds a planar embedding for an n-node graph (or reports that none exists) in O(log 2 n) time using only n processors of an exclusive-write, concurrent-read PRAM. Thus it achieves near-optimal speedup. The fact that only n processors are needed for our algorithm makes it feasible to implement on a real parallel computer. In contrast, the previous best parallel algorithm for testing planarity, due to Ja'Ja' and Simon ([12]), reduced the problem to solving linear systems, and hence required M(n) processors, where M(n) is the number of operations required to multiply two n x n matrices. Ja'Ja' and Simon's algorithm was important because it showed that planarity could be decided quickly in parallel. However, such a large processor bound makes their algorithm infeasible. For any n large enough that a parallel algorithm would be preferred to the linear-time sequential algorithm (e.g., n = 5, 000), M(n) far exceeds the number of processors on any realistic parallel computer (e.g., M(5,000) > 125,000,000,000). Our planarity algorithm, on the other hand, would achieve the same time bound with only 5,000 processors. In general, once a problem has been shown to be in NC, it is important for designers of * finding a depth-first search tree of a planar graph in O(log 3 n) time using n processors (using ideas due to Justin Smith, combined with techniques of [23]). * finding an outerplanar embedding of an outerplanar graph in O(log 2 n) time using n processors, and finding an 0(1) separator of an outerplanar graph. Because our algorithm does not rule out any embeddings, it can be used to enumerate all possible planar embeddings of a graph at a rate of O(log 2 n) time per embedding, using n processors. 1.2 PQ-Trees Our parallel planarity algorithm is rare among parallel algorithms in that it uses a sophisticated data structure. We have parallelized the PQ-tree data structure, due to Booth and Lueker ([4]), giving efficient parallel algorithms for manipulating PQ-trens. No parallel algorithms for PQ-trees existed previously. We define three operations on PQ-trees, multiple-disjoint-reduction, join, and intersection, and give linear-processor parallel algorithms for these operations. We use PQ-trees for representing sets of graph embeddings. However, PQ-trees are generally useful for representing large sets of orderings subject to adjacency constraints. Booth and Lueker use PQ-trees in efficient sequential algorithms for recognizing (0,1)-matrices with the consecutive one's property, and in recognizing and testing isomorphism of interval graphs. Using our parallel algorithms for PQ-trees, one
Efficient parallel algorithms for graph problems
Algorithmica, 1990
In this thesis we examine three problems in graph theory and propose e cient parallel algorithms for solving them. We also introduce a number of parallel algorithmic techniques.
Parallel algorithms for graph problems
Dartmouth College, Hanover, NH, 1992
In this thesis we examine three problems in graph theory and propose e cient parallel algorithms for solving them. We also introduce a number of parallel algorithmic techniques.
An optimal parallel algorithm for solving all-pairs shortest paths problem on circular-arc graphs
Journal of Applied Mathematics and Computing, 2005
The shortest-paths problem is a fundamental problem in graph theory and finds diverse applications in various fields. This is why shortest path algorithms have been designed more thoroughly than any other algorithm in graph theory. A large number of optimization problems are mathematically equivalent to the problem of finding shortest paths in a graph. The shortest-path between a pair of vertices is defined as the path with shortest length between the pair of vertices. The shortest path from one vertex to another often gives the best way to route a message between the vertices. This paper presents an O(n 2 ) time sequential algorithm and an O(n 2 /p + log n) time parallel algorithm on EREW PRAM model for solving all pairs shortest paths problem on circular-arc graphs, where p and n represent respectively the number of processors and the number of vertices of the circular-arc graph.
An Experimental Study of a Parallel Shortest Path Algorithm for Solving Large-Scale Graph Instances
2007 Proceedings of the Ninth Workshop on Algorithm Engineering and Experiments (ALENEX), 2007
We present an experimental study of the single source shortest path problem with non-negative edge weights (NSSP) on large-scale graphs using the ∆-stepping parallel algorithm. We report performance results on the Cray MTA-2, a multithreaded parallel computer. The MTA-2 is a high-end shared memory system offering two unique features that aid the efficient parallel implementation of irregular algorithms: the ability to exploit fine-grained parallelism, and low-overhead synchronization primitives. Our implementation exhibits remarkable parallel speedup when compared with competitive sequential algorithms, for low-diameter sparse graphs. For instance, ∆-stepping on a directed scalefree graph of 100 million vertices and 1 billion edges takes less than ten seconds on 40 processors of the MTA-2, with a relative speedup of close to 30. To our knowledge, these are the first performance results of a shortest path problem on realistic graph instances in the order of billions of vertices and edges.