An Efficient Algorithm for Generalized Polynomial Partitioning and Its Applications

Abstract

In 2015, Guth proved that if S is a collection of n g-dimensional semi-algebraic sets in Rd and if D≥ 1 is an integer, then there is a d-variate polynomial P of degree at most D so that each connected component of Rd Z(P) intersects O(n/Dd-g) sets from S. Such a polynomial is called a generalized partitioning polynomial. We present a randomized algorithm that computes such polynomials efficiently -- the expected running time of our algorithm is linear in |S|. Our approach exploits the technique of quantifier elimination combined with that of ε-samples. We also present an extension of our construction to multi-level polynomial partitioning for semi-algebraic sets in Rd. We present five applications of our result. The first is a data structure for answering point-enclosure queries among a family of semi-algebraic sets in Rd in O( n) time, with storage complexity and expected preprocessing time of O(nd+ε). The second is a data structure for answering range-searching queries with semi-algebraic ranges in Rd in O( n) time, with O(nt+ε) storage and expected preprocessing time, where t > 0 is an integer that depends on d and the description complexity of the ranges. The third is a data structure for answering vertical ray-shooting queries among semi-algebraic sets in Rd in O(2 n) time, with O(nd+ε) storage and expected preprocessing time. The fourth is an efficient algorithm for cutting algebraic curves in R2 into pseudo-segments. The fifth application is for eliminating depth cycles among triangles in R3, where we show a nearly-optimal algorithm to cut n pairwise disjoint non-vertical triangles in R3 into pieces that form a depth order.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…