Deterministic coin tossing with applications to optimal parallel list ranking
Information and Control
Binary tree algebraic computation and parallel algorithms for simple graphs
Journal of Algorithms
Optimal parallel evaluation of tree-structured computations by raking (extended abstract)
VLSI Algorithms and Architectures
A data structure for dynamic trees
Journal of Computer and System Sciences
Parallel algorithms for shared-memory machines
Handbook of theoretical computer science (vol. A)
Parallel tree contraction part 2: further applications
SIAM Journal on Computing
Ambivalent data structures for dynamic 2-edge-connectivity and k smallest spanning trees
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Dynamic expression trees and their applications
SODA '91 Proceedings of the second annual ACM-SIAM symposium on Discrete algorithms
An introduction to parallel algorithms
An introduction to parallel algorithms
SODA '92 Proceedings of the third annual ACM-SIAM symposium on Discrete algorithms
A data structure for dynamically maintaining rooted trees
SODA '93 Proceedings of the fourth annual ACM-SIAM Symposium on Discrete algorithms
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Hi-index | 0.00 |
Parallel tree contraction has been found to be a useful and quite powerful tool for the design of a wide class of efficient graph algorithms. We propose a corresponding technique for the parallel solution of incremental problems. As our computational model, we assume a variant of the CRCW PRAM where we can dynamically activate processors by a forking operation.We consider a dynamic binary tree T of ≤ n nodes and unbounded depth. We describe a procedure, which we call the dynamic parallel tree contraction algorithm, which incrementally processes various parallel modification requests and queries:(1)parallel requests to add or delete leaves of T, or modify labels of internal nodes or leaves of T, and also(2) parallel tree contraction queries which require recomputingvalues at specified nodes. Each modification or query is with respect to a set of nodes U in T.Our dynamic parallel tree contraction algorithm is a randomized algorithm that takes O(log(|U|log n)) expected parallel time using O(|U|log n/log(|U|log n) processors. We give a large number of applications (with the same bounds), including:(a) maintaining the usual tree properties (such as number of ancestors, preorder, etc.),(b) Eulerian tour,(c) expression evaluation, (d) least common ancestor, and(e) canonical forms of trees. Previously, there where no known parallel algorithms for incrementally maintaining and solving such problems in parallel time less than &THgr;(log n).In deriving our incremental algorithms, we solve a key subproblem, namely a processor activation problem, within the same asymptotic bounds, which may be useful in the design of other parallel incremental algorithms. This algorithm uses an interesting persistent parallel data structures involving a non-trivial construction.In a subsequent paper, we apply our dynamic parallel tree contraction technique to various incremental graph problems: maintaining various properties, (such as coloring, minimum covering set, maximum matching, etc.). of parallel series graphs, outerplanar graphs, Helin networks, bandwidth-limited networks, and various other graphs with constant separator size.