Results 11  20
of
49
Derivation of Randomized Sorting and Selection Algorithms, in Parallel Algorithm Derivation And Program Transformation, edited by
, 1993
"... In this paper we systematically derive randomized algorithms (both sequential and parallel) for sorting and selection from basic principles and fundamental techniques like random sampling. We prove several sampling lemmas which will find independent applications. The new algorithms derived here are ..."
Abstract

Cited by 22 (18 self)
 Add to MetaCart
In this paper we systematically derive randomized algorithms (both sequential and parallel) for sorting and selection from basic principles and fundamental techniques like random sampling. We prove several sampling lemmas which will find independent applications. The new algorithms derived here are the most efficient known. From among other results, we have an efficient algorithm for sequential sorting. The problem of sorting has attracted so much attention because of its vital importance. Sorting with as few comparisons as possible while keeping the storage size minimum is a long standing open problem. This problem is referred to as ‘the minimum storage sorting ’ [10] in the literature. The previously best known minimum storage sorting algorithm is due to Frazer and McKellar [10]. The expected number of comparisons made by this algorithm is n log n + O(n log log n). The algorithm we derive in this paper makes only an expected n log n + O(n ω(n)) number of comparisons, for any function ω(n) that tends to infinity. A variant of this algorithm makes no more than n log n + O(n log log n) comparisons on any input of size n with overwhelming probability. We also prove high probability bounds for several randomized algorithms for which only expected bounds have been proven so far.
Optimal Randomized Parallel Algorithms For Computational Geometry I
, 1989
"... We present parallel algorithms for some fundamental problems in computational geometry which have running time of O(logn) using n processors, with very high probability (approaching 1 as n ! 1). These include planar point location, triangulation and trapezoidal decomposition. We also present optimal ..."
Abstract

Cited by 22 (9 self)
 Add to MetaCart
We present parallel algorithms for some fundamental problems in computational geometry which have running time of O(logn) using n processors, with very high probability (approaching 1 as n ! 1). These include planar point location, triangulation and trapezoidal decomposition. We also present optimal algorithms for 3D maxima and twoset dominance counting by an application of integer sorting. Most of these algorithms run on CREW PRAM model and have optimal processortime product which improve on the previously best known algorithms of Atallah and Goodrich [3] for these problems. The crux of these algorithms is a useful data structure which emulates the plane sweeping paradigm used for sequential algorithms. We extend some of the techniques used by Reischuk [22] Reif and Valiant [21] for ashsort algorithm to perform divide and conquer in a plane very eciently leading to the improved performance by our approach.
Ultrafast expected time parallel algorithms
 Proc. of the 2nd SODA
, 1991
"... It has been shown previously that sorting n items into n locations with a polynomial number of processors requires Ω(log n/log log n) time. We sidestep this lower bound with the idea of Padded Sorting, or sorting n items into n + o(n) locations. Since many problems do not rely on the exact rank of s ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
It has been shown previously that sorting n items into n locations with a polynomial number of processors requires Ω(log n/log log n) time. We sidestep this lower bound with the idea of Padded Sorting, or sorting n items into n + o(n) locations. Since many problems do not rely on the exact rank of sorted items, a Padded Sort is often just as useful as an unpadded sort. Our algorithm for Padded Sort runs on the Tolerant CRCW PRAM and takes Θ(log log n/log log log n) expected time using n log log log n/log log n processors, assuming the items are taken from a uniform distribution. Using similar techniques we solve some computational geometry problems, including Voronoi Diagram, with the same processor and time bounds, assuming points are taken from a uniform distribution in the unit square. Further, we present an Arbitrary CRCW PRAM algorithm to solve the Closest Pair problem in constant expected time with n processors regardless of the distribution of points. All of these algorithms achieve linear speedup in expected time over their optimal serial counterparts. 1 Research done while at the University of Michigan and supported by an AT&T Fellowship.
Efficient Parallel Algorithms for Tree Accumulations
 Science of Computer Programming
, 1994
"... Accumulations are higherorder operations on structured objects; they leave the shape of an object unchanged, but replace elements of that object with accumulated information about other elements. Upwards and downwards accumulations on trees are two such operations; they form the basis of many tree ..."
Abstract

Cited by 18 (7 self)
 Add to MetaCart
Accumulations are higherorder operations on structured objects; they leave the shape of an object unchanged, but replace elements of that object with accumulated information about other elements. Upwards and downwards accumulations on trees are two such operations; they form the basis of many tree algorithms. We present two Erew Pram algorithms for computing accumulations on trees taking O(log n) time on O(n= log n) processors, which is optimal.
Parallel Algorithm for the Matrix Chain Product and the Optimal Triangulation Problems (Extended Abstract)
, 1993
"... This paper considers the problem of finding an optimal order of the multiplication chain of matrices and the problem of finding an optimal triangulation of a convex polygon. For both these problems the best sequential algorithms run in \Theta(n log n) time. All parallel algorithms known use the dyna ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
This paper considers the problem of finding an optimal order of the multiplication chain of matrices and the problem of finding an optimal triangulation of a convex polygon. For both these problems the best sequential algorithms run in \Theta(n log n) time. All parallel algorithms known use the dynamic programming paradigm and run in a polylogarithmic time using, in the best case, O(n 6 =log k n) processors for a constant k. We give a new algorithm which uses a different approach and reduces the problem to computing certain recurrence in a tree. We show that this recurrence can be optimally solved which enables us to improve the parallel bound by a few factors. Our algorithm runs in O(log 3 n) time using n 2 =log 3 n processors on a CREW PRAM. We also consider the problem of finding an optimal triangulation in a monotone polygon. An O(log 2 n) time and n processors algorithm on a CREW PRAM is given. Key words : parallel algorithms, computational geometry, dynamic programm...
Concurrent Threads and Optimal Parallel Minimum Spanning Trees Algorithm
 J. ACM
, 2001
"... This paper resolves a longstanding open problem on whether the concurrent write capability of parallel random access machine (PRAM) is essential for solving fundamental graph problems like connected components and minimum spanning trees in O(log n) time. Specically, we present a new algorithm to so ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
This paper resolves a longstanding open problem on whether the concurrent write capability of parallel random access machine (PRAM) is essential for solving fundamental graph problems like connected components and minimum spanning trees in O(log n) time. Specically, we present a new algorithm to solve these problems in O(log n) time using a linear number of processors on the exclusiveread exclusivewrite PRAM. The logarithmic time bound is actually optimal since it is well known that even computing the \OR" of n bits
Connected Components in O(log 3/2 n) Parallel Time for the CREW PRAM
"... Finding the connected components of an undirected graph G = (V; E) on n = jV j vertices and m = jEj edges is a fundamental computational problem. The best known parallel algorithm for the CREW PRAM model runs in O(log 2 n) time using n 2 = log 2 n processors [6, 15]. For the CRCW PRAM model, ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
Finding the connected components of an undirected graph G = (V; E) on n = jV j vertices and m = jEj edges is a fundamental computational problem. The best known parallel algorithm for the CREW PRAM model runs in O(log 2 n) time using n 2 = log 2 n processors [6, 15]. For the CRCW PRAM model, in which concurrent writing is permitted, the best known algorithm runs in O(log n) time using slightly more than (n +m)= log n processors [26, 9, 5]. Simulating this algorithm on the weaker CREW model increases its running time to O(log 2 n) [10, 19, 29]. We present here a simple algorithm that runs in O(log 3=2 n) time using n +m CREW processors. Finding an o(log 2 n) parallel connectivity algorithm for this model was an open problem for many years. 1 Introduction Let G = (V; E) be an undirected graph on n = jV j vertices and m = jEj edges. A path p of length k is a sequence of edges (e 1 ; \Delta \Delta \Delta ; e i ; \Delta \Delta \Delta ; e k ) such that e i 2 E for i = 1; \...
Parallel Recognition of SeriesParallel Graphs
, 1992
"... Recently, He and Yesha gave an algorithm for recognizing directed series parallel graphs, in time O(log 2 n) with linearly many EREW processors. We give a new algorithm for this problem, based on a structural characterization of series parallel graphs in terms of their ear decompositions. Our ..."
Abstract

Cited by 15 (1 self)
 Add to MetaCart
Recently, He and Yesha gave an algorithm for recognizing directed series parallel graphs, in time O(log 2 n) with linearly many EREW processors. We give a new algorithm for this problem, based on a structural characterization of series parallel graphs in terms of their ear decompositions. Our algorithm can recognize undirected as well as directed series parallel graphs. It can be implemented in the CRCW model of parallel computation to take time O(log n). In the EREW model the time is O(log 2 n) but the number of processors required improves the bounds of the previous algorithm. 1 Introduction A directed graph G is twoterminal series parallel, with terminals s and t, if it can be produced by a sequence of the following operations: 1. Create a new graph, consisting of a single edge directed from s to t. 2. Given two twoterminal series parallel graphs X and Y , with terminals s X , t X , s Y , and t Y , form a new graph G = P (X,Y ) by identifying s = s X = s Y and t = ...