Table of Contents
Fetching ...

Optimal Parallel Algorithms for Convex Hulls in 2D and 3D under Noisy Primitive Operations

Michael T. Goodrich, Vinesh Sridhar

TL;DR

This work develops parallel convex hull algorithms under noisy primitive operations in the CREW PRAM model. It introduces failure sweeping and a size-reduction technique to achieve optimal span $\Theta(\log n)$ and work $\Theta(n\log n)$ for 2D hulls, and extends to randomized 3D hulls with analogous efficiency guarantees. Central to the approach are noise-tolerant primitives (sorting, tangents, max-finds) and the path-guided pushdown random walks to navigate geometric DAGs, together with rigorous failure amplification controls. The results offer robust, high-probability parallel geometric algorithms that remain efficient despite independent orientation-test errors, with potential applicability to broader geometric problems like point-location and visibility in noisy settings.

Abstract

In the noisy primitives model, each primitive comparison performed by an algorithm, e.g., testing whether one value is greater than another, returns the incorrect answer with random, independent probability p < 1/2 and otherwise returns a correct answer. This model was first applied in the context of sorting and searching, and recent work by Eppstein, Goodrich, and Sridhar extends this model to sequential algorithms involving geometric primitives such as orientation and sidedness tests. However, their approaches appear to be inherently sequential; hence, in this paper, we study parallel computational geometry algorithms for 2D and 3D convex hulls in the noisy primitives model. We give the first optimal parallel algorithms in the noisy primitives model for 2D and 3D convex hulls in the CREW PRAM model. The main technical contribution of our work concerns our ability to detect and fix errors during intermediate steps of our algorithm using a generalization of the failure sweeping technique.

Optimal Parallel Algorithms for Convex Hulls in 2D and 3D under Noisy Primitive Operations

TL;DR

This work develops parallel convex hull algorithms under noisy primitive operations in the CREW PRAM model. It introduces failure sweeping and a size-reduction technique to achieve optimal span and work for 2D hulls, and extends to randomized 3D hulls with analogous efficiency guarantees. Central to the approach are noise-tolerant primitives (sorting, tangents, max-finds) and the path-guided pushdown random walks to navigate geometric DAGs, together with rigorous failure amplification controls. The results offer robust, high-probability parallel geometric algorithms that remain efficient despite independent orientation-test errors, with potential applicability to broader geometric problems like point-location and visibility in noisy settings.

Abstract

In the noisy primitives model, each primitive comparison performed by an algorithm, e.g., testing whether one value is greater than another, returns the incorrect answer with random, independent probability p < 1/2 and otherwise returns a correct answer. This model was first applied in the context of sorting and searching, and recent work by Eppstein, Goodrich, and Sridhar extends this model to sequential algorithms involving geometric primitives such as orientation and sidedness tests. However, their approaches appear to be inherently sequential; hence, in this paper, we study parallel computational geometry algorithms for 2D and 3D convex hulls in the noisy primitives model. We give the first optimal parallel algorithms in the noisy primitives model for 2D and 3D convex hulls in the CREW PRAM model. The main technical contribution of our work concerns our ability to detect and fix errors during intermediate steps of our algorithm using a generalization of the failure sweeping technique.

Paper Structure

This paper contains 32 sections, 26 theorems, 6 equations, 3 figures.

Key Result

Lemma 1

If either $[L_j, q, p, r, T_j, R_j]$ or $[T_j, q, p, r, R_j, L_j]$ is a convex chain, then $p$ is a member of the upper hull of $S_j$.

Figures (3)

  • Figure 1: Here we have an example of failure sweeping on some upper hull of a subproblem $S$. To verify that each (square) hull point is correct, we use the trivial repetition strategy to determine that it is convex with respect to its left and right neighbors. We perform a noisy binary search on the hull to determine if any non-hull points are outside the upper hull. This is true for point $q$, so this subproblem is flagged for reconstruction.
  • Figure 2: We depict an instance of the failure sweep brute-force algorithm determining that a point, $p$, is a part of the upper hull in $S_j$. In this case, $[L_j, q, p, r, T_j, R_j]$ is convex. We have depicted the lines $\overrightarrow{pr}$ and $\overrightarrow{pq}$ as well as the vertical line through $p$ that borders both regions defined by the lines. Notice, as the proof describes, no points in $S_j$ can exist in the region either to the left of $\overrightarrow{pr}$ and to the right of $\overrightarrow{pq}$, depicted with shading. It is clear that $p$ is an extreme point in $S_j$.
  • Figure 3: Here we illustrate our approach to failure sweeping a 3D hull. We define a coordinate system with its origin outside of the given hull and let $P$ be the $y$-axis (the $x$-$y$ plane in 3D). We define the upper hull as the hull points that can see $P$. We then perform an orthogonal projection of the upper hull points onto $P$, inducing a set of intervals. In 3D, this would induce a trianglated polygon onto $P$. We can project a query point $q$ onto $P$ and determine what region of $P$$q^*$ lies in. This tells us what portion of the hull $\overrightarrow{qq^*}$ stabs. In 2D, this requires a single binary search. However, in 3D we require a planar point-location structure to determine the triangle $q^*$ lies in.

Theorems & Definitions (26)

  • Lemma 1
  • Lemma 2
  • Corollary 3
  • Theorem 4
  • Lemma 5
  • Theorem 6
  • Lemma 7
  • Theorem 8
  • Theorem 9
  • Theorem 10: Theorem 1 of eppstein2025computational
  • ...and 16 more