Results 1  10
of
16
Optimal upward planarity testing of singlesource digraphs
 SIAM Journal on Computing
, 1998
"... Abstract. A digraph is upward planar if it has a planar drawing such that all the edges are monotone with respect to the vertical direction. Testing upward planarity and constructing upward planar drawings is important for displaying hierarchical network structures, which frequently arise in softwar ..."
Abstract

Cited by 34 (4 self)
 Add to MetaCart
Abstract. A digraph is upward planar if it has a planar drawing such that all the edges are monotone with respect to the vertical direction. Testing upward planarity and constructing upward planar drawings is important for displaying hierarchical network structures, which frequently arise in software engineering, project management, and visual languages. In this paper we investigate upward planarity testing of singlesource digraphs; we provide a new combinatorial characterization of upward planarity and give an optimal algorithm for upward planarity testing. Our algorithm tests whether a singlesource digraph with n vertices is upward planar in O(n) sequential time, and in O(log n) time on a CRCW PRAM with n log log n / log n processors, using O(n) space. The algorithm also constructs an upward planar drawing if the test is successful. The previously known best result is an O(n2)time algorithm by Hutton and Lubiw [Proc. 2nd ACM–SIAM Symposium on Discrete Algorithms, SIAM, Philadelphia, 1991, pp. 203–211]. No efficient parallel algorithms for upward planarity testing were previously known.
Parallel transitive closure and point location in planar structures
 SIAM J. COMPUT
, 1991
"... Parallel algorithms for several graph and geometric problems are presented, including transitive closure and topological sorting in planar stgraphs, preprocessing planar subdivisions for point location queries, and construction of visibility representations and drawings of planar graphs. Most of th ..."
Abstract

Cited by 23 (11 self)
 Add to MetaCart
Parallel algorithms for several graph and geometric problems are presented, including transitive closure and topological sorting in planar stgraphs, preprocessing planar subdivisions for point location queries, and construction of visibility representations and drawings of planar graphs. Most of these algorithms achieve optimal O(log n) running time using n = log n processors in the EREW PRAM model, n being the number of vertices.
Fast Incremental Planarity Testing
 19 th International Colloquium on Automata, Languages and Programming (ICALP), volume 623 of LNCS
, 1992
"... The incremental planarity testing problem is to perform the following operations on a biconnected planar graph G of at most n vertices: test if an edge can be added between two vertices while preserving planarity; add edges and vertices that preserve planarity. Let m be the total number of operation ..."
Abstract

Cited by 16 (0 self)
 Add to MetaCart
The incremental planarity testing problem is to perform the following operations on a biconnected planar graph G of at most n vertices: test if an edge can be added between two vertices while preserving planarity; add edges and vertices that preserve planarity. Let m be the total number of operations. We present fast data structures for this problem that can be used in conjunction with the previous algorithm of Di Battista and Tamassia to achieve an O(ff(m; n)) worstcase amortized time per test operation. If the graph is biconnected, a sequence of n additions can be performed in total time O(mff(m;n)) worstcase plus O(n) expected time. Our tree data structure is flexible and can answer in O(1) time queries about parents, roots, and nearest common ancestors while performing tree modifications such as inserting nodes, cutting edges, and merging or splitting nodes. If the graph is not biconnected then insertions of edges and vertices require O(log n) amortized expected time per operat...
Implementation of Parallel Graph Algorithms on a Massively Parallel SIMD Computer with Virtual Processing
, 1995
"... We describe our implementation of several PRAM graph algorithms on the massively parallel computer MasPar MP1 with 16,384 processors. Our implementation incorporated virtual processing and we present extensive test data. In a previous project [13], we reported the implementation of a set of paralle ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
We describe our implementation of several PRAM graph algorithms on the massively parallel computer MasPar MP1 with 16,384 processors. Our implementation incorporated virtual processing and we present extensive test data. In a previous project [13], we reported the implementation of a set of parallel graph algorithms with the constraint that the maximum input size was restricted to be no more than the physical number of processors on the MasPar. The MasPar language MPL that we used for our code does not support virtual processing. In this paper, we describe a method of simulating virtual processors on the MasPar. We recoded and finetuned our earlier parallel graph algorithms to incorporate the usage of virtual processors. Under the current implementation scheme, there is no limit on the number of virtual processors that one can use in the program as long as there is enough main memory to store all the data required during the computation. We also give two general optimization techniq...
Structural Parallel Algorithmics
, 1991
"... The first half of the paper is a general introduction which emphasizes the central role that the PRAM model of parallel computation plays in algorithmic studies for parallel computers. Some of the collective knowledgebase on nonnumerical parallel algorithms can be characterized in a structural way ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
The first half of the paper is a general introduction which emphasizes the central role that the PRAM model of parallel computation plays in algorithmic studies for parallel computers. Some of the collective knowledgebase on nonnumerical parallel algorithms can be characterized in a structural way. Each structure relates a few problems and technique to one another from the basic to the more involved. The second half of the paper provides a bird'seye view of such structures for: (1) list, tree and graph parallel algorithms; (2) very fast deterministic parallel algorithms; and (3) very fast randomized parallel algorithms. 1 Introduction Parallelism is a concern that is missing from "traditional" algorithmic design. Unfortunately, it turns out that most efficient serial algorithms become rather inefficient parallel algorithms. The experience is that the design of parallel algorithms requires new paradigms and techniques, offering an exciting intellectual challenge. We note that it had...
Towards overcoming the transitiveclosure bottleneck: efficient parallel algorithms for planar digraphs
 J. Comput. System Sci
, 1993
"... Abstract. Currently, there is a significant gap between the best sequential and parallel complexities of many fundamental problems related to digraph reachability. This complexity bottleneck essentially reflects a seemingly unavoidable reliance on transitive closure techniques in parallel algorithms ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Abstract. Currently, there is a significant gap between the best sequential and parallel complexities of many fundamental problems related to digraph reachability. This complexity bottleneck essentially reflects a seemingly unavoidable reliance on transitive closure techniques in parallel algorithms for digraph reachability. To pinpoint the nature of the bottleneck, we de* velop a collection of polylogtime reductions among reachability problems. These reductions use only linear processors and work for general graphs. Furthermore, for planar digraphs, we give polylogtime algorithms for the following problems: (1) directed ear decomposition, (2) topological ordering, (3) digraph reachability, (4) descendent counting, and (5) depthfirst search. These algorithms use only linear processors and therefore reduce the complexity to within a polylog factor of optimal.
Practical Toroidality Testing
 Proc. of the Eighth Annual ACMSIAM Symposium on Discrete Algorithms
, 1996
"... We describe an algorithm for embedding graphs on the torus (doughnut) which we implemented first in C, and then in C++. Although the algorithm is exponential in the worst case, it was very effective for indicating the small graphs which are torus obstructions. We have completed examination of the gr ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
We describe an algorithm for embedding graphs on the torus (doughnut) which we implemented first in C, and then in C++. Although the algorithm is exponential in the worst case, it was very effective for indicating the small graphs which are torus obstructions. We have completed examination of the graphs on up to 10 vertices and the 11 vertex ones up to 24 edges, and of these 3884 are topological obstructions, and 2249 are also minor order obstructions. A cursory search of 12 and 13 vertex graphs resulted in several more. We purport that this approach has proved practical as it has permitted us to compile what we believe to be the biggest collection of torus obstructions in the world to date. 1 Introduction A graph is said to be embedded on a surface if it is drawn there with no crossing edges. A graph is planar if it can be drawn on the sphere, and is toroidal if it can be drawn on the torus (a sphere with one handle). The genus of a planar graph is zero, and a nonplanar graph which ...
A Randomized Parallel Algorithm for Planar Graph Isomorphism
, 1999
"... We present a parallel randomized algorithm running on a CRCW PRAM , to determine whether two planar graphs are isomorphic, and if so to find the isomorphism. We assume that we have a tree of separators for each planar graph (which can be computed by known algorithms in O(log 2 n) time with n 1 ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
We present a parallel randomized algorithm running on a CRCW PRAM , to determine whether two planar graphs are isomorphic, and if so to find the isomorphism. We assume that we have a tree of separators for each planar graph (which can be computed by known algorithms in O(log 2 n) time with n 1+ffl processors, for any ffl ? 0). If n is the number of vertices, our algorithm takes O(log(n)) time with P = O i n 1:5 \Delta p log(n) j processors and with probability of failure at most 1 n . The algorithm needs 2 \Delta log(m) \Delta log(n) +O(log(n)) random bits. The number of random bits can be decreased to O(log(n)) by increasing the number of processors to n 3 2 +ffl ; for any ffl ? 0: Our parallel algorithm has significantly improved processor efficiency, compared to the previous logorithmic time parallel algorithm of Miller and Reif [MR 91], which requires n 4 randomized processors or n 5 deterministic processors. Keywords: planar graphs, graph isomorph...
Fully Dynamic Planarity Testing with Applications
"... The fully dynamic planarity testing problem consists of performing an arbitrary sequence of the following three kinds of operations on a planar graph G: (i) insert an edge if the resultant graph remains planar; (ii) delete an edge; and (iii) test whether an edge could be added to the graph without ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The fully dynamic planarity testing problem consists of performing an arbitrary sequence of the following three kinds of operations on a planar graph G: (i) insert an edge if the resultant graph remains planar; (ii) delete an edge; and (iii) test whether an edge could be added to the graph without violating planarity. We show how to support each of the above operations in O(n2=3) time, where n is the number of vertices in the graph. The bound for tests and deletions is worstcase, while the bound for insertions is amortized. This is the first algorithm for this problem with sublinear running time, and it affirmatively answers a question posed in [11]. The same data structure has further applications in maintaining the biconnected and triconnected components of a dynamic planar graph. The time bounds are the same: O(n2=3) worstcase time per edge deletion, O(n2=3) amortized time per edge insertion, and O(n2=3) worstcase time to check whether two vertices are either biconnected or triconnected.