scispace - formally typeset
Journal ArticleDOI: 10.1016/S0743-7315(03)00035-2

Faster output-sensitive parallel algorithms for 3D convex hulls and vector maxima

01 Apr 2003-Journal of Parallel and Distributed Computing (Academic Press, Inc.)-Vol. 63, Iss: 4, pp 488-500
Abstract: In this paper we focus on the problem of designing very fast parallel algorithms for the convex hull and the vector maxima problems in three dimensions that are output-size sensitive. Our algorithms achieve O(log log2n log h) parallel time and optimal O(n log h) work with high probability in the CRCW PRAM where n and h are the input and output size, respectively. These bounds are independent of the input distribution and are faster than the previously known algorithms. We also present an optimal speed-up (with respect to the input size only) sublogarithmic time algorithm that uses superlinear number of processors for vector maxima in three dimensions.

...read more

Topics: Output-sensitive algorithm (63%), Convex hull (56%), Maxima (52%) ...read more
Citations
  More

Journal ArticleDOI: 10.1016/J.CAG.2012.02.012
Ayal Stein1, Eran Geva1, Jihad El-Sana1Institutions (1)
Abstract: In this paper, we present a novel parallel algorithm for computing the convex hull of a set of points in 3D using the CUDA programming model. It is based on the QuickHull approach and starts by constructing an initial tetrahedron using four extreme points, discards the internal points, and distributes the external points to the four faces. It then proceeds iteratively. In each iteration, it refines the faces of the polyhedron, discards the internal points, and redistributes the remaining points for each face among its children faces. The refinement of a face is performed by selecting the furthest point from its associated points and generating three children triangles. In each iteration, concave edges are swapped, and concave vertices are removed to maintain convexity. The face refinement procedure is performed on the CPU, because it requires a very small fraction of the execution time (approximately 1%), and the intensive point redistribution is performed in parallel on the GPU. Our implementation outpaced the CPU-based Qhull implementation by 30 times for 10 million points and 40 times for 20 million points.

...read more

Topics: Quickhull (59%), Convex hull (56%), Extreme point (53%) ...read more

40 Citations


Journal ArticleDOI: 10.1016/J.CAG.2012.03.015
Abstract: We present a hybrid algorithm to compute the convex hull of points in three or higher dimensional spaces. Our formulation uses a GPU-based interior point filter to cull away many of the points that do not lie on the boundary. The convex hull of remaining points is computed on a CPU. The GPU-based filter proceeds in an incremental manner and computes a pseudo-hull that is contained inside the convex hull of the original points. The pseudo-hull computation involves only localized operations and maps well to GPU architectures. Furthermore, the underlying approach extends to high dimensional point sets and deforming points. In practice, our culling filter can reduce the number of candidate points by two orders of magnitude. We have implemented the hybrid algorithm on commodity GPUs, and evaluated its performance on several large point sets. In practice, the GPU-based filtering algorithm can cull up to 85M interior points per second on an NVIDIA GeForce GTX 580 and the hybrid algorithm improves the overall performance of convex hull computation by 10-27 times (for static point sets) and 22-46 times (for deforming point sets).

...read more

Topics: Convex hull (64%), Convex combination (63%), Convex set (62%) ...read more

40 Citations


Journal ArticleDOI: 10.1145/2513109.2513112
Mingcen Gao1, Thanh-Tung Cao1, Ashwin Nanjappa1, Tiow-Seng Tan1  +1 moreInstitutions (2)
Abstract: A novel algorithm is presented to compute the convex hull of a point set in ℝ3 using the graphics processing unit (GPU). By exploiting the relationship between the Voronoi diagram and the convex hull, the algorithm derives the approximation of the convex hull from the former. The other extreme vertices of the convex hull are then found by using a two-round checking in the digital and the continuous space successively. The algorithm does not need explicit locking or any other concurrency control mechanism, thus it can maximize the parallelism available on the modern GPU.The implementation using the CUDA programming model on NVIDIA GPUs is exact and efficient. The experiments show that it is up to an order of magnitude faster than other sequential convex hull implementations running on the CPU for inputs of millions of points. The works demonstrate that the GPU can be used to solve nontrivial computational geometry problems with significant performance benefit.

...read more

Topics: Convex hull (73%), Output-sensitive algorithm (69%), Gift wrapping algorithm (67%) ...read more

17 Citations


Open accessProceedings ArticleDOI: 10.1145/3350755.3400255
Guy E. Blelloch1, Yan Gu2, Julian Shun3, Yihan Sun2Institutions (3)
06 Jul 2020-
Abstract: The randomized incremental convex hull algorithm is one of the most practical and important geometric algorithms in the literature. Due to its simplicity, and the fact that many points or facets can be added independently, it is also widely used in parallel convex hull implementations. However, to date there have been no non-trivial theoretical bounds on the parallelism available in these implementations. In this paper, we provide a strong theoretical analysis showing that the standard incremental algorithm is inherently parallel. In particular, we show that for n points in any constant dimension, the algorithm has O(log n) dependence depth with high probability. This leads to a simple work-optimal parallel algorithm with polylogarithmic span with high probability. Our key technical contribution is a new definition and analysis of the configuration dependence graph extending the traditional configuration space, which allows for asynchrony in adding configurations. To capture the "true" dependence between configurations, we define the support set of configuration c to be the set of already added configurations that it depends on. We show that for problems where the size of the support set can be bounded by a constant, the depth of the configuration dependence graph is shallow (O(log n) with high probability for input size n). In addition to convex hull, our approach also extends to several related problems, including half-space intersection and finding the intersection of a set of unit circles. We believe that the configuration dependence graph and its analysis is a general idea that could potentially be applied to more problems.

...read more

Topics: Convex hull (65%), Dimension (graph theory) (56%), Parallel algorithm (55%) ...read more

9 Citations


Open accessJournal ArticleDOI: 10.1016/J.ADVENGSOFT.2015.09.002
Abstract: Algorithm for computing the convex hull of a set of points in E3 we are proposed.The algorithm is based on spherical space subdivision.The algorithm eliminates as many input points as possible before the convex hull calculation.Experimental results show that the proposed algorithm achieves a better time complexity in comparison with other algorithms in E3. Convex hulls are fundamental geometric tools used in a number of algorithms. This paper presents a fast, simple to implement and robust Smart Convex Hull (S-CH) algorithm for computing the convex hull of a set of points in E3. This algorithm is based on "spherical" space subdivision. The main idea of the S-CH algorithm is to eliminate as many input points as possible before the convex hull construction. The experimental results show that only a very small number of points are used for the final convex hull calculation. Experiments made also proved that the proposed S-CH algorithm achieves a better time complexity in comparison with other algorithms in E3.

...read more

Topics: Convex hull (76%), Convex set (73%), Output-sensitive algorithm (73%) ...read more

8 Citations


References
  More

Proceedings ArticleDOI: 10.1145/73393.73394
Kenneth L. Clarkson1Institutions (1)
06 Jan 1988-
Abstract: Random sampling is used for several new geometric algorithms. The algorithms are “Las Vegas,” and their expected bounds are with respect to the random behavior of the algorithms. One algorithm reports all the intersecting pairs of a set of line segments in the plane, and requires O(A + n log n) expected time, where A is the size of the answer, the number of intersecting pairs reported. The algorithm requires O(n) space in the worst case. Another algorithm computes the convex hull of a point set in E3 in O(n log A) expected time, where n is the number of points and A is the number of points on the surface of the hull. A simple Las Vegas algorithm triangulates simple polygons in O(n log log n) expected time. Algorithms for half-space range reporting are also given. In addition, this paper gives asymptotically tight bounds for a combinatorial quantity of interest in discrete and computational geometry, related to halfspace partitions of point sets.

...read more

Topics: Las Vegas algorithm (64%), Output-sensitive algorithm (63%), Randomized algorithm (61%) ...read more

1,138 Citations


Open accessJournal ArticleDOI: 10.1145/321812.321815
Richard P. Brent1Institutions (1)
01 Apr 1974-Journal of the ACM
Abstract: It is shown that arithmetic expressions with n ≥ 1 variables and constants; operations of addition, multiplication, and division; and any depth of parenthesis nesting can be evaluated in time 4 log2n + 10(n - 1)/p using p ≥ 1 processors which can independently perform arithmetic operations in unit time. This bound is within a constant factor of the best possible. A sharper result is given for expressions without the division operation, and the question of numerical stability is discussed.

...read more

Topics: Saturation arithmetic (62%), Algebraic operation (62%), Arbitrary-precision arithmetic (61%) ...read more

839 Citations


Open accessJournal ArticleDOI: 10.1007/BF02187876
David Haussler1, Emo Welzl2Institutions (2)
Abstract: We demonstrate the existence of data structures for half-space and simplex range queries on finite point sets ind-dimensional space,dÂ?2, with linear storage andO(nÂ?) query time, $$\alpha = \frac{{d(d - 1)}}{{d(d - 1) + 1}} + \gamma for all \gamma > 0$$ . These bounds are better than those previously published for alldÂ?2. Based on ideas due to Vapnik and Chervonenkis, we introduce the concept of an Â?-net of a set of points for an abstract set of ranges and give sufficient conditions that a random sample is an Â?-net with any desired probability. Using these results, we demonstrate how random samples can be used to build a partition-tree structure that achieves the above query time.

...read more

Topics: Simplex (59%), Range searching (51%)

766 Citations


Journal ArticleDOI: 10.1145/359423.359430
Franco P. Preparata1, S. J. Hong2Institutions (2)
Abstract: The convex hulls of sets of n points in two and three dimensions can be determined with O(n log n) operations. The presented algorithms use the “divide and conquer” technique and recursively apply a merge procedure for two nonintersecting convex hulls. Since any convex hull algorithm requires at least O(n log n) operations, the time complexity of the proposed algorithms is optimal within a multiplicative constant.

...read more

Topics: Convex hull algorithms (70%), Convex set (67%), Convex hull (66%) ...read more

707 Citations


Open accessBook
01 Jan 1994-
Abstract: I BASICS 1 Quick-sort and Search Quick-sort Another view of quick-sort Randomized binary trees Skip lists 2 What Is Computational Geometry? Range queries Arrangements Trapezoidal decompositions Convex polytopes Voronoi diagrams Hidden surface removal Numerical precision and degeneracies Early deterministic algorithms Deterministic vs randomized algorithms The model of randomness 3 Incremental Algorithms Trapezoidal decompositions Convex polytopes Voronoi diagrams Configuration spaces Tail estimates 4 Dynamic Algorithms trapezoidal decompositions Voronoi diagrams History and configuration spaces Rebuilding history Deletions in history Dynamic shuffling 5 Random Sampling Configuration spaces with bounded valence Top-down sampling Bottom-up sampling Dynamic sampling Average conflict size More dynamic algorithms Range spaces and E-nets Comparisons II APPLICATIONS 6 Arrangements of Hyperplanes Incremental construction Zone Theorem Canonical triangulations Point location and ray shooting Point location and range queries 7 Convex Polytopes Linear Programming The number of faces Incremental construction The expected structural and conflict change Dynamic maintenance Voronoi diagrams Search problems Levels and Voronoi diagrams of order k 8 Range Search Orthogonal intersection search Nonintersecting segments in the plane Dynamic point location Simplex range search Half-space range queries Decomposable search problems Parametric search 9 Computer Graphics Hidden surface removal Binary Space Partitions Moving viewpoint 10 How Crucial Is Randomness? Pseudo-random sources Derandomization Appendix: Tail Estimates Chernoff's technique Chebychev's technique Bibliography Index

...read more

Topics: Voronoi diagram (62%), Computational geometry (61%), Polytope (56%) ...read more

591 Citations


Performance
Metrics
No. of citations received by the Paper in previous years
YearCitations
20202
20161
20131
20123
20111
20101