Constructive Polynomial Partitioning for Algebraic Curves in $\mathbb{R}^3$ with Applications
Boris Aronov, Esther Ezra, and Joshua Zahl

TL;DR
This paper presents an efficient algorithm for constructing polynomial partitions of space for algebraic curves in three dimensions, improving computational methods and applications such as eliminating depth cycles among lines.
Contribution
It provides the first explicit, efficient construction of polynomial partitions for algebraic curves in 3D, with improved algorithms for line arrangements and cycle elimination.
Findings
Constructed polynomial partitions in $O(n^2)$ time for algebraic curves in $ ext{R}^3$.
Developed an improved $O(n^{4/3} ext{log}^{O(1)} n)$ algorithm for lines in 3-space.
Achieved a new $O(n^{3/2+ ext{epsilon}})$ algorithm for eliminating depth cycles among lines.
Abstract
In 2015, Guth proved that for any set of -dimensional bounded complexity varieties in and for any positive integer , there exists a polynomial of degree at most whose zero set divides into open connected sets, so that only a small fraction of the given varieties intersect each of these sets. Guth's result generalized an earlier result of Guth and Katz for points. Guth's proof relies on a variant of the Borsuk-Ulam theorem, and for , it is unknown how to obtain an explicit representation of such a partitioning polynomial and how to construct it efficiently. In particular, it is unknown how to effectively construct such a polynomial for bounded-degree algebraic curves (or even lines) in . We present an efficient algorithmic construction for this setting. Given a set of input algebraic curves and a positive integer , weā¦
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Constructive Polynomial Partitioning for Algebraic Curves inĀ with Applicationsā ā thanks: Work on this paper by Boris Aronov has been supported
by NSF Grants CCF-11-17336, CCF-12-18791, and CCF-15-40656, and by BSF grant 2014/170. Work on this paper by Esther Ezra has been supported by NSF CAREER under grant CCF:AF 1553354 and by Grant 824/17 from the Israel Science Foundation. Work on this paper by Joshua Zahl was supported by a NSERC Discovery grant. A preliminary version of this work was presented in Proc. 30th Annual ACM-SIAM Sympos. Discrete Algorithms, 2019Ā [8].
Boris Aronov111Department of Computer Science and Engineering, Tandon School of Engineering, New York University, Brooklyn, NYĀ 11201, USA; [email protected].
āā
Esther Ezra222Department of Computer Science, Bar-Ilan University, Ramat Gan, Israel; [email protected].
āā
Joshua Zahl333Department of Mathematics, University of British Columbia, Vancouver, BCĀ V6T 1Z2, Canada; [email protected].
In 2015, Guth proved that for any set of -dimensional bounded complexity varieties in and for any positive integer , there exists a polynomial of degree at most whose zero set divides into open connected sets, so that only a small fraction of the given varieties intersect each of these sets. Guthās result generalized an earlier result of Guth and Katz for points.
Guthās proof relies on a variant of the Borsuk-Ulam theorem, and for , it is unknown how to obtain an explicit representation of such a partitioning polynomial and how to construct it efficiently. In particular, it is unknown how to effectively construct such a polynomial for bounded-degree algebraic curves (or even lines) in .
We present an efficient algorithmic construction for this setting. Given a set of input algebraic curves and a positive integer , we efficiently construct a decomposition of space into open ācells,ā each of which meets curves from the input. The construction time is . For the case of lines in -space we present an improved implementation, whose running time is . The constant of proportionality in both time bounds depends on and the maximum degree of the polynomials defining the input curves.
As an application, we revisit the problem of eliminating depth cycles among non-vertical lines in -space, recently studied by Aronov and Sharir (2018), and show an algorithm that cuts such lines into pieces that are depth-cycle free, for any . The algorithm runs in time, which is a considerable improvement over the previously known algorithms.
1 Introduction
Partitioning Polynomials.
In [24], Guth developed an efficient space decomposition adapted to a set of varieties in Euclidean space. Specifically, he proved the following:
Theorem 1.1** (Polynomial Partitioning for Varieties [24]).**
Let be a set of -dimensional varieties in , each defined by at most polynomials of degree at most . For each , there is aĀ -variate non-zero āpartitioning polynomialā of degree at mostĀ , so that is a union of connected components, each of which intersects at most varieties from . Here is a constant that depends onĀ , , andĀ .
In particular, when is a set of algebraic curves in (defined by polynomials of degree at mostĀ ), or just lines, TheoremĀ 1.1 guarantees the existence of a polynomial of degree at mostĀ partitioningĀ into connected components, each of which intersect curves ofĀ . Here and throughout this paper, we will think of as being fixed as grows, and all implicit constants are allowed to depend on .
Aronov, Miller, and Sharir [10] used Theorem 1.1 to prove that pairwise disjoint non-vertical triangles inĀ can be cut into pieces that form a ādepth order,ā for any (see below for the definition of depth order and a further discussion). This work extended an earlier result of Aronov and Sharir [11], who proved a bound of , for the analogous problem for pairwise disjoint non-vertical lines in . Apart from the loss in the exponent of the triangle bound and factor in the line bound, these results are worst-case optimal.
TheoremĀ 1.1 uses a variant of the Borsuk-Ulam theorem to obtain the partitioning polynomial. However, there is no known effective method to construct such a polynomial. Therefore, despite the recent progress on eliminating depth cycles, there is no matching algorithmic bound for the result established in [10]. The best known result in this direction is the algorithm presented by DeĀ Berg [16], which exploits a different technique and achieves a suboptimal bound on the number of pieces, where these pieces are triangular fragments (in contrast to the procedure inĀ [10], which yields pieces bounded by algebraic curves). For the case of lines, the work in [11] describes several slow polynomial-time algorithms to compute a depth order, among which is an approximation algorithm by Aronov, DeĀ Berg, Gray, and Mumford [7, Theorem 3.1] that produces a set of cuts whose size is larger than that of the smallest possible by only a polylogarithmic factor.
If is replaced by a set of curvesĀ inĀ in TheoremĀ 1.1, then it is easy to find a degree polynomial so that on average each connected component of meets curves from (indeed, if is a degree polynomial, then by Warren [35, TheoremĀ 2], the number of connected components ofĀ is at most ; every algebraic curve not contained in intersects in points, and thus intersects only connected components of ). Enforcing the property that every connected component of intersects curves, however, is much more difficult. In fact, even achieving a more modest bound, say, of the formĀ , for some , is already challenging. Using -cuttings, one can produce a space decomposition, such that each connected component meets roughly curves of (this bound is larger by an order of magnitude than our target bound), and such that the total number of curve-connected component intersections is close to , see, e.g., [23, 28]. However, we are not aware of an approach based on -cuttings where the worst-case bound on the number of curves meeting a connected component isĀ .
Theorem 1.1 is an extension of the polynomial partitioning theorem by Guth and Katz [25], based on the polynomial ham-sandwich theorem of Stone and Tukey [33]. Namely, Guth and Katz showed that, if is a finite set of points in and is an integer parameter, then there is a non-zero polynomial of degree at most so that each connected component of contains points of , with a constant of proportionality depending on . Adapting a definition from [5], let be an integer parameter with an appropriate constant of proportionality (i.e., it is the number of connected components in as follows by Warren [35, Theorem 2]). We say in this case that is an -partitioning polynomial. Agarwal, MatouŔek, and Sharir [5] presented an algorithm that efficiently computes such a polynomial :444 We note that the polynomial computed in [5] forms a partition approximating the one shown in [25] in that the constant of proportionality in the degree bound in Theorem 1.2 is slightly worse than that in [25].
Theorem 1.2** (Effective Polynomial Partitioning for Points [5]).**
Given a set of points inĀ and an integer parameterĀ , an -partitioning polynomial for of degreeĀ , with an implicit constant depending on , can be computed in randomized expected timeĀ .
Although the authors inĀ [5] do not state so explicitly, the proof of Theorem 1.2 also applies to multisets of points, or, equivalently, sets of points with positive integer weights, where the weight of a point corresponds to the number of times that it appears in the multiset, where now denotes the total weight of . This multiset formulation will be useful for our analysis below.
Model of Computation.
The algorithm inĀ [5] uses the real RAM model of computation, where the input data contains arbitrary real numbers and each arithmetic operation on them is charged unit cost.
In this paper, we additionally assume that, for each , the roots of a real univariate polynomial of degree can be computed in time that depends only on . This model was first introduced by Agarwal and MatouŔek [4] in the context of range searching with semi-algebraic sets (and in fact a variant of it was used as early as in 1983 by Atallah [12]), and it has become standard for this type of problems.
Our Result.
We present an efficient algorithm that, given a set of algebraic curves in , partitionsĀ into disjoint open ācellsā (plus a āboundaryā) so that only a small fraction of the curves intersect each cell. Informally, we prove a theorem of the following kind:
Theorem 1.3** (Informal Version).**
Let be a collection of irreducible algebraic curves (of constant degree) in that satisfy a mild general position requirement555See SectionĀ 2.. Let be a positive integer. Then there is a decomposition of into disjoint open cells, plus a boundary, so that each cell intersects curves of . The boundary is the union of an algebraic variety of degree and dimension two, plus an additional semi-algebraic set (with empty interior) that has finite and well-behaved intersection with all but a small number of curves from . Moreover, this decomposition can be computed in randomized expected time. For the special case where is a set of lines in , the expected running time improves to .
A precise statement of TheoremĀ 1.3 appears in SectionĀ 2 (TheoremĀ 2.9). The proof of TheoremĀ 1.3 is based on a two-level decomposition. The first level produces a polynomial partitioning for points using TheoremĀ 1.2, and in the second level we apply the method of ā-cuttingsā in order to construct an efficient planar decomposition for curve segments, provided that few pairs of curves intersect. This technique also allows us to efficiently partition curve segments inĀ , provided few pairs of curves intersect when projected to the -plane. These two ingredients are combined as follows. For each curve inĀ , we consider all points on the curve whose projection onto the -plane lies on the projection of another curve fromĀ ; we call such points āpoints of vertical visibility.ā Using Theorem 1.2, we partition into connected open cells, so that each cell either intersects few curves from , or it contains few points of vertical visibility. Cells of the first kind satisfy the conclusions of our theorem. Cells of the second kind are further decomposed using the -cutting machinery mentioned above.
Theorem 1.3 produces a space decomposition with very similar properties to that of TheoremĀ 1.1 for the case , , though our decomposition is weaker by a polylogarithmic factor. However, because our theorem employs a two-level construction, the āboundaryā of the cells is not an algebraic variety. Instead, it is the union of an algebraic variety (representing the zero set of an appropriate polynomial obtained at the primary partition) and a semi-algebraic set resulting from the secondary partition.
An application: Eliminating depth cycles for lines in .
Let be a set of pairwise-disjoint non-vertical lines in . If , we say that passes above if a vertical line that meets both and intersects at a point that has larger -coordinate than that of its intersection with ; this line is unique if and have non-parallel -projections. We denote this relation as . This relation is not necessarily transitive, and is likely to form cycles that consist of three or more lines.
Our goal is to efficiently cut the lines in into a finite number of pieces that do not form any cycles under the relation ; this is also referred to as depth order. In our setting, these resulting pieces are line segments, rays, or just lines in -space. Aronov and Sharir [11] used TheoremĀ 1.1 for the case , to obtain a near optimal subquadratic bound on the number of cuts required to create a depth order for lines, provided that the lines are non-vertical and no two lines intersect. Specifically, they showed that cuts suffices. This nearly matches the best-known lower bound . We present an efficient implementation of their method, which follows from Theorem 1.3.
Theorem 1.4**.**
Let be a collection of pairwise-disjoint non-vertical lines inĀ . Suppose that no pair of projected lines coincide. Then, for any prescribed , we can cut the lines in into pieces whose depth relation is acyclic. This cutting can be computed in expected time, where the constant of proportionality depends on .
The algorithm in TheoremĀ 1.4 is considerably faster than the algorithms presented in [11] and by DeĀ Berg [16], though the resulting collection of segments is slightly larger (our algorithm produces segments, versus segments in [11] and [16]), and note that the algorithms in[11, 16] do not require any general position assumptions on the collection of lines (i.e., line projections may coincide).
The main motivation for eliminating depth cycles comes from hidden surface removalāa technique for rendering a scene in computer graphics [17]. We refer the reader to the earlier work inĀ [9, 20], as well as the more recent studies inĀ [10, 11, 16] for a comprehensive overview, which also includes the more intricate problem of eliminating depth cycles among pairwise disjoint triangles in -space. In [10], the first author, Miller, and Sharir used TheoremĀ 1.1 for the case , in order to obtain a near optimal subquadratic bound on the number of pieces required to eliminate depth cycles for triangles in 3-space. In contrast to the case of lines, however, Theorem 1.3 cannot be used directly to efficiently implement their technique for triangles. This is due to the fact that the structure resulting from Theorem 1.3 is different than the one resulting from TheoremĀ 1.1. After the publication of the proceedings version of this paper [8], Agarwal and the authors [2] have shown, using a different set of tools, that the polynomial partitioning stated in TheoremĀ 1.1 can be computed in an efficient manner. Integrating this result with the mechanism inĀ [10] eventually yields an efficient algorithm for the setting of triangles, and, as a result, for the setting of lines (which is considered as a special case of triangles). We do not discuss this further here.
While the follow-up workĀ [2] provides general methods for performing partitioning, the current work has several advantages: (i)Ā It gives a relatively simple solution to the setting of algebraic curves in , and, in particular, bypasses the complicated topological machinery of GuthĀ [24] based on the Borsuk-Ulam theorem. So far the only work we are aware of, which bypasses the Borsuk-Ulam theorem, is the one inĀ [5] addressing the setting of points in . (ii)Ā The running time of the algorithm inĀ [2] is linear in the number of input curves, but exponential in the degree of the polynomial partitioning. On the other hand, the running time of our algorithm is polynomial inĀ , and therefore it is considerably more efficient when the degree is non-constant. (iii)Ā Last but not least, our work contains novel techniques that give insight into the geometry specific to curve arrangements. There are still many open problems related to curve arrangements, and we hope these ideas will be helpful for future work in this direction.
2 Polynomial Partitioning for Algebraic Curves in -Space
In this section we prove Theorem 1.3. Let be a collection of Ā irreducible algebraic curves inĀ , each defined by polynomials of degree at most . We will think of as being fixed, so all implicit constants may depend on . In particular, we write to mean that there exists a constant depending only on so that for all positive integers . We write to mean that there exists a constant depending only on and so that for all positive integers .
For a set , we denote by its projection onto the -plane. Let this is the set of -projections of the curves of .
General position assumptions.
Let be a set of irreducible curves in . We say that the curves in are in general position if the -projection of each pair of distinct curves from have finite intersection. If in addition none of the curves in are vertical lines (i.e., lines parallel to the -axis), then we say that the curves in are in non-vertical general position.
Definition 2.1*.*
Let be two distinct irreducible curves in . A pair of points , are called points of āvertical visibilityā (with respect to and ) if .
If neither nor is a vertical line, and the projections of and have a finite intersection, then and have finitely many pairs of points of vertical visibility.
For the set of irreducible curves defined above, we denote by the multiset of all points of vertical visibility admitted by the curves in . If the curves in are in non-vertical general position, then each pair of curves from contribute points to , and thus .
Our main algorithm assumes that the curves in are in non-vertical general position. Later in the paper we show how this assumption can be weakened to merely assume that the curves are in general position.
Remark*.*
We do not make any further general position assumptions. In particular, the curves in are allowed to intersect, and the -projections of three or more curves from are allowed to intersect at a point. If a point is contained in curves from and its -projection is contained in the -projection of curves from , then will have multiplicity in , i.e., it will have weight . This observation will be exploited when we apply Theorem 1.2. Note also that a single curve may intersect itself. Moreover, a vertical line may intersect at several points, implying that the -projection of intersects itself. However, we do not view these points as points of vertical visibility. In fact, this self-intersection might be a semi-algebraic set of positive dimension (this will occur, for example, if is a circle whose projection to the -plane is a line segment), in which case there is an overlap in the -projection of . We revisit this scenario in SectionĀ 2.2, where we describe how to incorporate that into our analysis.
We will need a number of tools to analyze the collection of curves . In [13], Barone and Basu used considerations from real algebraic geometry in order to obtain several analogues of BĆ©zoutās theorem and Harnackās curve theorem, which are useful when studying algebraic space curves. We will state two special cases of their results here.
Theorem 2.2** (BĆ©zoutās theorem for real algebraic space curves).**
For each integer , there is a constant so that the following holds. Let be an irreducible algebraic curve in that is defined by polynomials of degree at most . Let be a trivariate polynomial of degree . Then either vanishes on (i.e., ) or .
Theorem 2.3** (Harnackās curve theorem for real algebraic space curves).**
For each integer , there is a constant so that the following holds. Let be an irreducible algebraic curve in that is defined by polynomials of degree at most . Then is a union of at most connected components. The same result holds if is an irreducible algebraic plane curve.
We remark that the constants and can be computed explicitly, but this is not required by our analysis.
Hereafter we fix a parameter , which will play a role analogous to the parameter from Theorem 1.1. As a minor technicality, we would like to assume that is not much larger than . The following lemma allows us to dispense with the case when is large compared to
Lemma 2.4**.**
For each integer , there is a constant so that the following holds. Let be a collection of Ā irreducible algebraic curves inĀ , each defined by polynomials of degree at most , and let . Then there is a polynomial of degree at mostĀ that vanishes on each curve in . This polynomial can be constructed in time.
Proof.
Select points on each curve from , where is the constant from Theorem 2.2, and let be a polynomial of degreeĀ that vanishes at these points. Since the vector space of polynomials of degree at mostĀ has dimensionĀ , if is sufficiently large (depending only on , which in turn depends only on ) then the condition implies thatĀ , so there must exist a non-zero polynomial that vanishes at the specified points. The coefficients of such a polynomial can be computed in time (using, e.g., Gaussian elimination). Since vanishes on at least points from each curve in , Theorem 2.2 implies that vanishes on each curve from . ā
Henceforth we will assume that . Our space decomposition is constructed by two main partitioning steps. In the first, we iteratively partition space by overlaying the zero sets of polynomials of degree , each of which partitions a subset of , so that the overall majority of resulting cells meet only curves of each, and the remaining cells together cover a small fraction ofĀ (LemmaĀ 2.5). By applying this process times, we obtain a trivariate polynomialĀ of degree , which partitions space into open connected cells, each of which either intersects only curves fromĀ , or contains points of (or both). Cells that intersect curves fromĀ are called acceptable, while the remaining cells are deemed unacceptable. This step is performed in CorollaryĀ 2.6.
An unacceptable cell intersects a large number of curves, but the fact that it contains points from allows us to further decompose it into a small number of acceptable subcells. This leads to the second decomposition step, in which we build an -cutting within each such cell (the -cutting is constructed in the -projection of the cell, but then we apply a lifting in the -direction in order to obtain a three-dimensional decomposition). This is described in SectionĀ 2.2. The construction is based on the random sampling technique of Clarkson and Shor [22] and of Chazelle and Friedman [21], which was later adapted by DeĀ Berg and Schwarzkopf [18] to yield output-sensitive decompositions.
2.1 The First Decomposition Step: Iteratively Partition Space
We first show the following main property.
Lemma 2.5**.**
For each integer , there is a constant so that the following holds. Let be a collection of irreducible algebraic curves inĀ in non-vertical general position, each defined by polynomials of degree at mostĀ . Let be a positive integer. For each non-negative integer , there is a set and a polynomial with the following properties:
- (A)
. 2. (B)
. 3. (C)
For each open connected component of , at least one of the following holds:
- (C.1)
* intersects at most curves from , or* 2. (C.2)
.
Proof.
First note that the curves from fully contained in can be disregarded, since they do not meet any connected components of , and are therefore irrelevant for the assertions of the lemma.
We prove properties (A)ā(C) by induction on . For , the assertions are satisfied by putting and . For , let be a set of points and let be a polynomial satisfying propertiesĀ (A)ā(C) above (with ). Apply Theorem 1.2 to find a partitioning polynomialĀ of degree at mostĀ for the multiset of points . Each connected component of contains points fromĀ .
We call a connected component of an acceptable cell if it intersects at most curves from (we specify the choice of shortly); otherwise we call it an unacceptable cell.
By Theorem 2.3, each curve contains at most irreducible components. If is not contained in then by Theorem 2.2, we have . This implies that each curve that is not contained in intersects at most connected component from , and thus there are at most pairs , where is a curve, is a connected component from , and intersects . Since each unacceptable cell accounts for at least of these pairs, at most cells are unacceptable. Since each unacceptable cell contains points from , if we select the constant sufficiently large (depending only on and thus on ), then at most points from are contained in unacceptable cells.
Define
[TABLE]
with the union taken over all unacceptable cellsĀ ofĀ . To complete the inductive step, we define . In other words, .
Then
[TABLE]
so propertyĀ (A) is satisfied. We have , thus propertyĀ (B) is satisfied. It remains to verify propertyĀ (C). Let be a connected component of ; this component is contained in the intersection of some connected component of and a connected component of . If intersects at most curves fromĀ , so does , and (C.1)Ā holds. On the other hand, if intersects more than curves fromĀ , then by property (C.2) of the induction hypothesis, , and, in fact, . If is unacceptable, then so is and (1)Ā implies
[TABLE]
since . Therefore (C.2) holds. Otherwise, is acceptable, so it intersects at most Ā curves from and (C.1)Ā holds. Thus propertyĀ (C) is satisfied, which concludes the inductive argument. ā
Remark: We note that, since we apply Theorem 1.2 to a multiset of points, it in particular implies that a point with a high multiplicity is more likely to appear on the zero set of the partitioning polynomial.
Applying Lemma 2.5 to with parameter and , and recalling that our implicit constants are allowed to depend on , so in particular , we conclude:
Corollary 2.6**.**
Let be a collection of irreducible algebraic curves inĀ in non-vertical general position, each defined by polynomials of degree at mostĀ . Let be a positive integer. Then there is a polynomial of degree such that is a union of open connected components, which we will call the cells of the decomposition, so that for each such cell , at least one of the following holds: either intersects curves from , or contains points of (or both).
Remark: Although at this point the constant in the choice of seems arbitrary, it will become clearer in SectionĀ 2.2. In particular, this choice is exploited in the proof of ClaimĀ 2.8.
Next, we will weaken the requirement that the curves in are in non-vertical general position, and replace it with the requirement that the curves are in general position.
Corollary 2.7**.**
Let be a collection of irreducible algebraic curves inĀ in general position, each defined by polynomials of degree at mostĀ . Write , where the curves in are vertical lines and none of the curves in are vertical lines. By assumption, the -projections of each pair of curves fromĀ have finite intersection. Let be a positive integer. Then there is a polynomial of degree such that is a union of open connected components, which we will call the cells of the decomposition, where each cellĀ intersectsĀ curves from . Furthermore, for each such cell , at least one of the following holds: either intersects curves from , or must contain at most points of (or both).
Proof.
Let be the set of points obtained by intersecting the curves in with the -plane. Apply Theorem 1.2 to find a partitioning polynomialĀ of degree at mostĀ forĀ . Each connected component of contains points fromĀ . We now consider as a polynomialĀ of three variables ( is independent of , so is obtained by liftingĀ in the -direction). Let be the output of Corollary 2.6 applied to , and defineĀ . ā
2.2 The Second Decomposition Step: Random Sampling
In this section we show how to further refine the decomposition obtained in CorollaryĀ 2.7, so that all cells are acceptable.
Write , as in the statement of CorollaryĀ 2.7. Fix an unacceptable cell . From CorollaryĀ 2.6, it follows that contains points of (counting with multiplicity). Let be the subset of curves that meet . We now intersect each curve with . Let be the collection of the resulting open curve segments lying in , and let be the set of their projections onto the -plane. Recall that we allow the curves in to self-intersect. Moreover, a vertical line might intersect a curve of at several points. This implies that the projected curves in may form self-intersections, of which we dispose as follows. Each projected curve is contained in the zero set of a square-free polynomial of degree , where the implicit constant depends only on . By Theorem 2.3, contains connected components. By [32, Lemma 2.3] and BĆ©zoutās theorem, is a union of -monotone (open) Jordan arcs, where the implicit constant depends only on . Let be the set of such arcs; we have , where again, the constant of proportionality depends on the degree .
Planar arrangements and -cuttings.
We will recall a few standard definitions about arrangements of curves; see [6] for further details. Given a set of algebraic arcs in the plane, the arrangement of is the partition of the plane induced by the arcs in into vertices, edges, and faces, where a vertex is either an endpoint of an arc or the intersection point of a pair of arcs, an edge is a (relatively open) portion of an arc delimited by two consecutive vertices, and a face is a maximal connected open planar region that is disjoint from the arcs and vertices in . We say that a face meets an edge from if the face intersects the edge. The total complexity of the arrangement is the overall number of its vertices, edges, and faces. The vertical decomposition of is a partition of the faces of into pseudo-trapezoidal faces, by erecting upward and downward vertical walls from each vertex of until it hits the first vertex or edge of , or continuing to (or ) if there is no such edge or vertex.
Let be a real parameter to be fixed shortly. Our goal is to construct a -cutting for the arcs in . This is a partition of the plane into constant-complexity faces (in our case these are pseudo-trapezoidal faces determined by the vertical decomposition of the two-dimensional arrangement of some arcs fromĀ [6]), each of which meets at most of the arcs in . From [18, LemmaĀ 2.2] it follows that there is a -cutting for consisting of pseudo-trapezoidal faces. Here is the expected number of faces in the vertical decomposition666The original formulation in [18] is for canonical triangulations, but in our case, they can be replaced with vertical decompositions. of the arrangement of a random subset , where every arc in is drawn independently with probability for a fixed constant . We set . The expected number of pseudo-trapezoidal faces in is proportional to the expected complexity of the arrangement [6]). We next show the following claim.
Claim 2.8**.**
Letting , the expected complexity of is , where denotes expectation.
Proof.
Let be the set of vertices of For each vertex , let be the weight of , that is, the number of pairs of curves from the arrangement that contain . Since contains points of (counting with multiplicity), we have that , and thus in particular777The number of vertical visibilities might be considerably smaller, as such a visibility is relevant for a pair of curve segments only if both points and (which lie vertically above the other) are contained in , but it may happen that only one of is in . .
Let be a random subset of , where every arc in is drawn independently with probability . Since by our earlier assumption , if is chosen sufficiently small (depending on ), then we can ensure that . For each , let Ā be the weight of the vertex in this random set. Since , we have
[TABLE]
By linearity of expectation, the expected combined weight of the vertices in is
[TABLE]
Having as above, we obtain . The claim now follows from the fact that the arrangement complexity of is bounded (up to multiplicative constants) by the number of elements in plus the number of intersections between pairs of curves in the corresponding arrangement. ā
We next bound the total expected complexity of (and thus the total number of faces inĀ ), over all unacceptable cells . Put
[TABLE]
with the disjoint union taken over all unacceptable cells of , and recall that within each such cell an arc of is selected independently with probability . Since , we have , as we started with curves and cut them into pieces at the points of intersection with . We also recall that we cut the -projections of these pieces into -monotone Jordan arcs (which only increases the number of arcs by a constant factor that depends on ). Therefore the total expected number of arcs in the samples , over all unacceptable cells , is .
ClaimĀ 2.8 now implies that
[TABLE]
with the summation taken over all unacceptable cells of . In other words, we have just shown that the expected total number of faces in over all such cells is .
We finally describe the actual refinement of the unacceptable cellsĀ . Each pseudo-trapezoidal faceĀ is turned into a vertical prismĀ by taking its Cartesian product with the -axis. We now form intersections of with each prism ; is only intersected with prisms arising from the pseudo-trapezoidal faces of its own decomposition . We refer to these intersections as the (open) second-stage cells and observe that they might not be connected, since needs not be -monotone. Despite this oddity, our decomposition does have the desired properties.
Indeed, since each second-stage cell corresponds to a unique pseudo-trapezoidĀ , the overall expected number of second-stage cells is . By the properties of -cuttings, each pseudo-trapezoidal face meets arcs of . Since , each meets arcs of . Therefore meets curves of .888This is potentially an overestimate, since may meet several arcs of the same original curve of . So the number of curves from met by , and, in particular, by the actual cell is , as claimed. Since is a subset of a cell from Corollary 2.7, we have that intersects curves from . Thus intersects curves from .
Recall that, by CorollaryĀ 2.7, the number of the remaining (that is, acceptable) cells in is , and each of these cells meets curves from . To summarize, in both levels of the decomposition we obtain cells in total, each meeting curves of .
Wrapping up.
We claim that the cell decomposition described above satisfies the properties stated in TheoremĀ 1.3. We state these properties more formally below.
Theorem 2.9** (Theorem 1.3 restated).**
Let be a collection of irreducible algebraic curves inĀ , each defined by polynomials of degree at most . Suppose that the projections of each pair of curves from to the -plane have finite intersection. Let be a positive integer. Then there is a number and a partition (into a boundaryĀ and cellsĀ ) with the following properties.
- ā¢
Each is an open (not necessarily connected) cell, consisting of a union of connected components of .
- ā¢
Each such cell intersects curves from .
- ā¢
The interior of is empty, and there is a trivariate polynomial of degree , with .
- ā¢
The curves from not contained in intersect in relatively few points, excluding a subset of curves. Specifically,
[TABLE]
This partition can be computed in randomized expected time, where the algorithm outputs for each cell the list of curves from that it intersects. For the special case where is a set of lines in -space that satisfy a mild general position requirement999 See SectionĀ 2.4. the expected running time improves to .
The analysis of -cuttings in [18] guarantees that there exists a choice of the random samplesĀ , such that each of the unacceptable cells has been subdivided into subcells that intersect curves from . If a curve is not contained in , then it intersects in points. Thus the total number of intersections between curves in not contained inĀ andĀ is . A curve (not contained in ) intersects a vertical wall of a second-level cell in points, if does not have any curve segments comprising the sets defined above, which participate in the samples . Otherwise, intersects some of the vertical walls of the second-level cells constructed within in a curve segment. Curves of the latter kind comprise the set , and, as argued above, their total expected number is . Thus the total number of intersections between curves from (not contained in ) and cells, resulting either in the first or second stage of the decomposition, is . This establishes (3).
The implementation details concerning the expected running time of the algorithm, as stated in TheoremĀ 2.9, are given in SectionĀ 2.3 below.
Remark*.*
In higher dimensions, the analogue of Theorem 2.9 is a decomposition of into cells, each of which intersects curves from . We remark that most of the steps from the proof of Theorem 2.9 extend to higher dimensions. The main difficulty in this extension is handling a curve from that projects to a point in the -plane. Unlike the three-dimensional case, such a curve is not necessarily āverticalā (i.e., parallel to an axis), and therefore the solution from CorollaryĀ 2.7 does not apply.
One simple way to resolve this issue is to impose an additional general position assumption on the curves in . For example, we could require that for each curve , any fiber of the projection map from to the -plane has finite cardinality. With this additional assumption, the proof of TheoremĀ 2.9 extends with only minor modifications. Indeed, LemmaĀ 2.5 extends to by applying it with , which yields an analogue of CorollaryĀ 2.6, where each acceptable cell intersects curves from , and each unacceptable cell contains points of vertical visibility. The analysis of the second-level cell decomposition proceeds almost verbatim where we produce a planar vertical decomposition. In this extension the sampling probability becomes (we can assume that and thus , since otherwise there exists a polynomial of degree whose zero set contains all of the curves in ), and the planar pseudo-trapezoids (once constructed) are lifted to prisms in in all residual coordinates.
2.3 Algorithmic Aspects
We now outline how to efficiently implement TheoremĀ 2.9. This involves identifying curves that are non-vertical lines and constructing (which can be accomplished in quadratic time by brute-force examination of all pairs of curves), followed by several rounds of invocation of TheoremĀ 1.2; the random sampling step and the construction of vertical decomposition in the plane are standard and are not the bottleneck of the algorithm. A major technicality arises from the fact that we need to keep track of the points ofĀ contained in each cell, to determine which cells are acceptable.
Recall that, as described in the introduction, we are using the real RAM model of computation, with the additional assumption that the roots of a univariate polynomial of degree can be computed in time. The other common alternative is to assume integer coefficients and express the running time in the number of bit operations, as a function of the size of input and the bit length of the input coefficients; seeĀ [14, Chapter 8] for a discussion of such models of computation. We chose to proceed with the former model.
As a main tool, we use a result of Basu, Pollack, and Roy [14, Algorithm 16.6] concerning arrangements of zero sets of polynomials (see also [5, Theorem 4.1] for a similar formulation):
Theorem 2.10** (Basu, Pollack, and Roy [14]).**
Let be a set of real -variate polynomials, each of degree at most . Then the arrangement in has connected components, and it can be computed in time at most . Each connected component is described as a semi-algebraic set using at most polynomials of degree bounded by .
Following the notation of LemmaĀ 2.5, at each step , we are given a subset and a previously computed partitioning polynomial . We first apply Theorem 1.2 to compute a partitioning polynomial of degree for the point set . Then, to determine if a cellĀ inĀ is acceptable, we test whether intersects at most curves from . By applying TheoremĀ 2.10 to our polynomial , we represent each cell as a semi-algebraic set (a Boolean formula with polynomial sign tests as atoms), and then test, for each curve , whether intersects . This can be done in two steps. First, we use Theorem 2.10 to compute all of the connected components of (recall that is defined by polynomials of degree at most , and this can in fact be replaced by a single polynomial of degree at most ), and we assign each of these components to the corresponding cell (the latter can be done by computing a point on each of the connected components, and checking which cell contains this point). Overall, this can be done in time (see also [5] for similar considerations). Thus the total running time, over all curves in , is . Next, we compute the new polynomial , and then form the subset , by testing for each point of whether it lies in an unacceptable cell, using the membership test already discussed. Applying TheoremĀ 2.10 and the fact that , we can complete this task in time . The process repeats times and takes time in total.
We next need to construct a decomposition into vertical prisms within each unacceptable cellĀ . This involves the computation of -cutting within . Recall that we apply the randomized algorithm described in [18, Theorem 2.1], which constructs a -cutting in an arrangement of arcs in expected time , where is the total number of intersections among these arcs. Applying this to each of the arrangements , by substituting , (where is the number of vertices in the underlying arrangement), we obtain an expected running time of . Recall that . Then it is easy to verify that the expected running time, over all unacceptable cells , is proportional to
[TABLE]
Next, we recall that and (mentioned in the discussion preceding (2)), in order to conclude that the above sum is , where the constant of proportionality depends polynomially onĀ .
We conclude the construction by associating with each second-stage cell the set of curves that it intersects, by testing for each curve whether it also meets the prismĀ . Omitting any further details, we have shown:
Theorem 2.11**.**
The decomposition described in TheoremĀ 2.9 can be computed in randomized expected timeĀ .
Remark*.*
A major open problem is to improve the running time to subquadratic. The bottleneck is having to explicitly process , or, more generally , at each iteration . In the worst case, this set could contain points. The remaining steps of the algorithm can be completed inĀ time. Thus the key to obtaining subquadratic running time lies in having an efficient implicit representation for . We next present such an efficient implementation, based on a range-search mechanism, for the case where is a set of lines in -space.
2.4 A Faster Construction for the Case of Lines
In this section, we present an improved implementation of our algorithm for the case of lines in in general position, or, more generally, line segments in -space. To begin, we will present an algorithm that works for lines (or line segments) in non-vertical general position. We will then show how this can be extended to lines in general position. Adapting our general position assumptions from the beginning of this section, this implies that no pair of projected lines (or line segments) coincide.
Our approach is to use a compact representation for the points of vertical visibility instead of storing them explicitly. We note that, in contrast with the algorithm of TheoremĀ 1.3, we are able to track only those pairs of vertically visible points that lie in the same cell of the current decomposition, we refer to them as unsplit visibility pairs: pairs in which the two points end up in different cells are not tracked at all, we refer to them as split visibility pairs. We also comment that since the cells may not be -monotone, we may also track unsplit visibility pairs where the two endpoints are not visible to each other inside (in case the two corresponding lines intersect in the -projection of ). This, however, does not violate the analysis of SectionsĀ 2.1 andĀ 2.2, and the assertions in TheoremĀ 1.3 for the case of lines continue to hold.
We exploit the mechanism of Agarwal [1] to efficiently represent (and count) intersections among line segments in the plane.101010The mechanism inĀ [1] counts points with multiplicity in case there are three or more concurrent lines (or line segments). This, however, is not an issue in our analysis since the algorithm inĀ [5] can handle points with multiplicityāsee below. We revisit the algorithm of Agarwal, MatouÅ”ek, and Sharir [5] summarized in TheoremĀ 1.2 and modify the procedures that were originally designed to manipulate the input points explicitly, to instead perform the required operations implicitly. A closer inspection of the analysis in [5] shows that we need to support the following two operations: (i)Ā select uniformly a point at random among a collection of points contained in a specific cell , for an appropriate polynomial , and (ii)Ā count the number of points contained inĀ .
Fix such a cellĀ . As in SectionĀ 2.2, let be the subset of lines meeting . We take the intersection of each line in with (this takes constant time in our model of computation), obtain a collectionĀ of open line segments contained inĀ , and consider the set of their projections to the -plane. Put . Using the algorithm in [1] we construct a compact representation for the pairwise intersecting segments in in overall time. In particular, this implies that operation (ii) can be completed in the same time bound. Concerning operation (i), the resulting compact representation consists of a union of complete bipartite intersection graphs (each such graph is stored as a pairĀ of sets of segments, in which every segment of intersects every segment of ; the pair is stored using space rather than ; hence the space savings). Once such an implicit representation is available, it is possible to randomly sample a point of intersection in logarithmic time, by first picking the bipartite graph and then randomly and uniformly picking a segment from and a segment of āsee [1] for more details concerning this construction.
The algorithm inĀ [5] constructs a polynomial partitioning in several iterative steps. The majority of the algorithmās running time is spent on a procedure that computes a polynomial that simultaneously dissects111111A polynomial dissects a set if on at most points from and on at most points. a collection of sets of points, and also computes the sign of on each point of each set . The polynomial is formed by lifting the points in into a higher-dimensional Euclidean space using the Veronese mapping, taking a small random sample of the points, and then computing the hyperplane passing through these randomly sampled points in the lifted space. The analysis inĀ [5] shows that the composition of this hyperplane with the Veronese mapping is a polynomial that with high probability (with respect to the randomly chosen subsets of ) dissects at least half of the sets . Recall that in the setting of our problem the points in are not given explicitly. Instead we can use our efficient implementation of steps (i)ā(ii) in order to construct as above, as well as counting how many points of vertical visibility among (or, more generally, a collection of sets of line segments in ) are contained in the regions and . This is done over iterations as follows. At iteration of the computation of the partitioning polynomial, we have sets of points of vertical visibility, each of which is represented as the disjoint union of complete bipartite graphs of line-segments (we begin with a trivial representation corresponding to the lines in ). We randomly sample points in the lifted space from each set , compute the corresponding polynomial , and then compute the sign of each point from each , , w.r.t. . In order to do so, we need to cut the line-segments participating in the representation of each with , and obtain a new collection of sets of line segmentsāthese sets represent the points of vertical visibility at the next iteration , that is, the new sets . We next compute a compact representation for each of these new sets in order to (i) count how many points of vertical visibility lie in the regions and , and (ii) randomly sample points in in order to compute . While there are a few additional technical details, these issues do not impact the running time of the algorithm. Indeed, the overall expected running time is dominated by the total complexity of the compact representation for the pairwise intersecting segments, and is thus .
We once again emphasize that with this implementation we can only guarantee to control the number of unsplit visibility pairs inside a cell (that is, both defining lines meet that cell and the two vertically visible points are contained in the cell). The number of split visibility points within a cell can be arbitrarily large. To summarize we have shown:
Lemma 2.12**.**
Let be a collection of line segments in in non-vertical general position, and let be the set of points of their vertical visibilities. Let be a positive integer. Then one can compute in expected time a partitioning polynomial of degree , such that each connected component of contains pairs of unsplit points of vertical visibility fromĀ .
We next describe the modifications to LemmaĀ 2.5 and CorollaryĀ 2.6 needed to apply our algorithm. Beginning with the first decomposition step, we observe that LemmaĀ 2.5 continues to hold if instead of considering the entire set , we consider only the subset of unsplit visibility pairs with respect to unacceptable cells, that is, those points of vertical visibility, for which both defining lines intersect the same unacceptable cell generated at step . With this refinement of , we modify propertyĀ (C.2) in the statement of LemmaĀ 2.5 accordingly, and inside consider only the unsplit visibility pairs of . Then in the assertion of CorollaryĀ 2.6 concerning we can guarantee that either intersects curves from , or contains pairs of (unsplit) points of vertical visibility from , or both.
The implementation of the procedure to compute the partitioning polynomial (using the notation of CorollaryĀ 2.6) is performed by repeatedly invoking LemmaĀ 2.12, initially on the input lines in , and at step , on the set of the line segments obtained by intersecting the lines ofĀ with the unacceptable cells from step (this replaces the explicit representation of ). At each step the number of line segments is only linear in and in (more specifically, every line is cut into at most segments), and therefore the total running time of computing the partitioning polynomial for , over all iterations, is . In addition, we need to apply some of the operations already discussed above, including the classification of the cells as being either acceptable or unacceptable; this takes time in total.
The execution of the second decomposition step proceeds verbatim as above, since we consider only the unsplit pairs of vertical visibility in a cell .
Finally, we will remove the the assumption that the lines are non-vertical, by computing a partitioning polynomial for the -projections of the vertical lines using TheoremĀ 1.2, which takes time in this case. Then we take the product of and and continue with the execution of the second decomposition step as just described. We thus conclude:
Theorem 2.13**.**
The decomposition described in TheoremĀ 2.9 for the case of lines or line segments in in general position can be computed in randomized expected time .
3 An Application: Eliminating Depth Cycles among Lines
In [11], Aronov and Sharir obtained a combinatorial bound on the number of cuts needed to eliminate cycles in a collection of pairwise-disjoint non-vertical lines in .
The main obstruction to converting Aronov and Sharirās combinatorial bound into an algorithmic procedure was the absence of a constructive version of TheoremĀ 1.1. More specifically, their proof proceeds by partitioning using a polynomialĀ of degreeĀ (see more below on the choice of ), and then cutting each line not contained in at the points where it crosses (lines contained in need slightly different treatment; we omit the details here; this does not affect the asymptotics of the algorithm runtime or of the number of cuts required). This procedure produces at most cuts per line; these are cuts of the first type. Every line is also cut at additional points, which correspond to locations where passes above a critical point of ; more precisely, this is a point such that and are simultaneously zero at for some . This results in a total of second-type cuts.
Now, for each connected component of , Aronov and Sharir [11] collect the set of the lines of meeting , and each set is handled recursively, producing a recurrence of the form
[TABLE]
for the number of cuts sufficient to eliminate all cycles in a set of lines, for a suitable absolute constant . The bound of is obtained by setting to .
We next sketch how to efficiently implement the steps outlined above. We construct the partitioning in time , using TheoremĀ 2.13, where we are now forced to choose a constant; our polynomial has degree at most , which increases the number of cuts to and the number of cells to . Determining the first-type cuts of each line can be done in time as described in SectionĀ 2.3. Finding the cuts of the second type along a line can be done by constructing the solution set of the system in the vertical halfplane bounded by the line, in time ; this follows from our assumption about the model of computation. Additional work required to process the secondary subdivision involves simply cutting each line meeting a primary subdivision cell (recall that the sets are constructed by the algorithm of TheoremĀ 2.13) at the points where it crosses the boundary of each prism , or equivalently finding the points where the projection of such a line enters and exits each trapezoid of the vertical decomposition ; this computation is already performed in TheoremĀ 2.13. We thus obtain additional cuts for each line.
A close examination of [11] shows that, even though our partition is not a strictly polynomial one, due to the presence of the secondary subdivision, the correctness argument of Aronov and Sharir [11] carries through here as well. Indeed, after the application of the first- and second-type cuts, as well as the cuts with the boundary of each prism , we are left to process the remaining cycles in each second-stage cell in recursion. In this case we collect all lines meeting a cell to form a new subproblem. To summarize, the number of cuts made by our algorithm is described by the recurrence
[TABLE]
where is an absolute constant and is a constant of our choice. The expected running time on the other hand is governed by the recurrence
[TABLE]
They both solve to , once we pick a sufficiently large constant ; depends onĀ and can be made arbitrarily small by increasingĀ , so we can rewrite the bound as . Note that, since cannot be set to grow with , the number of cuts guaranteed by our algorithm is slightly larger than that guaranteed by the upper bound of [11], namely .
Theorem 3.1**.**
Let be a collection of pairwise-disjoint non-vertical lines in so that no pair of lines have coinciding -projections. Then one can apply cuts eliminating all depth cycles among the lines in . These cuts can be computed in expected time , for any . The number of cuts is near optimal in the worst case.
Remarks*.*
(a) Previous algorithms that solve this problem apply an approximation algorithm of Aronov, DeĀ Berg, Gray, and Mumford [7], which involves matrix multiplication. The running time is close to , where is the exponent of matrix multiplication; this was later improved by De Berg [16] to . In spite of the fact our bound on the number of cuts is slightly inferior to the bound in [11] as well as the bound resulting from [7], our algorithm is considerably more efficient.
(b) Note that the algorithm described above works equally well with non-vertical pairwise-disjoint algebraic curves of constant degree, with only superficial modifications, mirroring the combinatorial analysis of Aronov and Sharir [11] as well as of Sharir and Zahl [32]. The current analysis, however, can only guarantee quadratic running time (see TheoremĀ 2.11).
Acknowledgments:
The authors wish to thank Micha Sharir for several useful discussions, and would especially like to recognize Saugata Basu for his patience and generosity answering the authorsā questions on matters of algebra, and in referring them to the specific algorithms in [14] cited in this paper. The authors would also like to thank the three anonymous referees for their numerous comments and suggestions.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] P. K. Agarwal, Partitioning arrangements of lines II: Applications, Discrete Comput. Geom. , 5 (1990), 533ā573.
- 2[2] P.K. Agarwal, B. Aronov, E. Ezra, and J. Zahl, An efficient algorithm for generalized polynomial partitioning and its applications, Proc. 35th Int. Symp. Comput. Geom. , 2019, pp. 5:1ā5:14. Also in ar Xiv:1812.10269.
- 3[3] P. K. Agarwal, E. F. Grove, T. M. Murali, and J. S. Vitter, Binary space partitions for fat rectangles, SIAM J. Comput . 29(5) (2000), 1422ā1448.
- 4[4] P. K. Agarwal and J. MatouÅ”ek, On range searching with semialgebraic sets. Discrete Comput. Geom. , 11(4):393ā418, 1994.
- 5[5] P. K. Agarwal, J. MatouÅ”ek, and M. Sharir, On range searching with semialgebraic sets II. SIAM J. Comput. , 42 (2013), 2039ā2062.
- 6[6] P. K. Agarwal and M. Sharir, Arrangements and their applications, In Handbook of Computational Geometry , J. Sack and J. Urrutia, eds., Elsevier, Amsterdam, pp. 973ā1027, 2000.
- 7[7] B. Aronov, M. de Berg, C. Gray, and E. Mumford, Cutting cycles of rods in space: Hardness and approximation, In Proc. 19th Ann. ACM-SIAM Sympos. Discr. Alg. , 2008, pp. 1241ā1248.
- 8[8] B. Aronov, E. Ezra, and J. Zahl. Constructive polynomial partitioning for algebraic curves in ā 3 superscript ā 3 {{\mathbb{R}}}^{3} with applications. In Proc. 30th Ann. ACM-SIAM Symp. Discr. Alg. , 2019, pp. 2636ā2648.
