Instance-Optimal Imprecise Convex Hull
Abstract
Imprecise measurements of a point set can be modelled by a family of regions , where each imprecise region contains a unique point . A retrieval models an accurate measurement by replacing an imprecise region with its corresponding point .
We construct the convex hull of an imprecise point set in the plane, by determining the cyclic ordering of the convex hull vertices of as efficiently as possible. Efficiency is interpreted in two ways: (i) minimising the number of retrievals, and (ii) the computation time to determine the set of regions that must be retrieved.
Previous works focused on only one of these two aspects: either minimising retrievals or optimising algorithmic runtime. Our contribution is the first to simultaneously achieve both. Let denote the minimal number of retrievals required by any algorithm to determine the convex hull of for a given instance . For a family of constant-complexity polygons, our main result is a reconstruction algorithm that performs retrievals in time.
Compared to previous approaches that achieve optimal retrieval counts, we improve the runtime per retrieval from polynomial to polylogarithmic. We extend the generality of previous results to simple -gons, to pairwise disjoint disks with radii in , and to unit disks where at most disks overlap in a single point. Our runtime scales linearly with .
Keywords and phrases:
convex hull, imprecise geometry preprocessing model, partial informationFunding:
Ivor van der Hoog: This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 899987.Copyright and License:
2012 ACM Subject Classification:
Theory of computation Computational geometryFunding:
This research is supported by the Carlsberg Foundation Fellowship CF21-0302 “Graph Algorithms with Geometric Applications” and the VILLUM Foundation grants VIL37507 “Efficient Recomputations for Changeful Problems”.Editors:
Anne Benoit, Haim Kaplan, Sebastian Wild, and Grzegorz HermanSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Imprecision is inherent in real-world data. It arises from rounding errors in floating-point computations, inaccuracies in measurement, and delayed sampling in GPS devices. In many scenarios, imprecise data can be refined at a cost by computing exact values or by taking additional samples. This is formalised in the model of imprecise geometry introduced by Held and Mitchell [13], and studied further in [8, 13, 25, 9, 10, 19, 17].
Imprecise geometry.
An imprecise point set [13] is defined as a family of regions , where each region contains a unique but unknown point . A realisation is a sequence where . An input instance is a pair . A retrieval operation reveals the precise location of a point , replacing with .
Let denote the family after retrieving all , where . The aim of a reconstruction algorithm is to identify a subset such that for all realisations , the algorithm’s output (e.g., the cyclic order of the region indices of the points around the convex hull) is identical for and . Figure 1 illustrates an example. After retrieving the subset , the cycling ordering of the convex hull vertices is identically for all realisations of .
We evaluate reconstruction algorithms by three criteria: the preprocessing time, the total number of retrievals, and the running time per retrieval. Next, we consider instance-optimal algorithms, which minimise the total number of retrievals in the strictest sense.
Worst-case results.
Many geometric problems have been studied in imprecise geometry, including Delaunay triangulations [8, 13, 19, 25], convex hulls [9, 10], Gabriel graphs [19], and onion decompositions [17]. For these geometric problems, it is known that any reconstruction algorithm must, in the worst case, use retrievals. Most of the existing algorithms assume that the regions in are pairwise disjoint unit disks [8, 13, 19, 25, 9, 17]. Under these assumptions, deterministic worst-case optimal algorithms exist with preprocessing time, retrievals, and reconstruction time. Ezra and Mulzer [10] allow to consist of arbitrary lines and reconstruct the convex hull using retrievals and expected time where denotes the inverse Ackermann function. Buchin, Löffler, Morin and Mulzer [3] permit overlapping unit disks of ply (i.e., at most disks intersect each point in the plane). We summarize these results in the top three rows of Table 1.
Instance-optimality.
In many instances, worst case bounds are overly pessimistic. Intuitively, an algorithm is instance-optimal if, for every input , no other algorithm performs better on that instance. Constructing instance-optimal algorithms is challenging, as they must match every alternative algorithm, including those tailored for specific instances.
Afshani, Barbay, and Chan [1] proved that, for many geometric problems including constructing the convex hull, instance-optimal reconstruction time is unachievable. Likewise, it is easy to see that instance-optimality in the number of retrievals cannot be guaranteed in general: E.g., let consist of two overlapping intervals and in , with and . Define with and , and with and . In , retrieving suffices; in , retrieving suffices. No algorithm can distinguish between the two instances without making a retrieval, and hence must use two retrievals on one of the instances. Since exact instance-optimality cannot be obtained, we instead aim for asymptotic instance-optimality.
Formally, we denote for any input instance by the minimum integer such that there exists a subset of size where all realizations have the same vertex-ordering along the convex hull of . We note that is, equivalently, the optimal number of retrievals. We say that an algorithm is instance-optimal if for all inputs it uses retrievals. We highlight that depends on both the region family and the specific realisation . To illustrate, suppose consists of nested rectangles . If is such that the convex hull of contains all of , then retrieving just those four suffices: . But if all coincide then .
Prior instance-optimal work.
Only a few instance-optimal reconstruction algorithms are known (see Table 1). Bruce, Hoffmann, Krizanc, and Raman [2] presented the first such algorithm for the convex hull. Their approach is computationally expensive, using an unspecified but superlinear time per retrieval (we discuss this in detail in the full version). Subsequent works show that polylogarithmic time per retrieval is achievable, albeit on geometric structures that are much simpler than the convex hull.
Van der Hoog, Kostitsyna, Löffler, and Speckmann [21] introduced the first near-linear instance-optimal algorithm, solving the sorting problem for one-dimensional intervals. Their algorithm preprocesses the intervals in time and uses retrievals, with at most logarithmic time per retrieval. Later, Van der Hoog, Kostitsyna, Löffler, and Speckmann [22] extended this approach to two-dimensional inputs for Pareto front reconstruction, under the assumption that consists of pairwise disjoint axis-aligned rectangles. Their method also guarantees at most logarithmic time per retrieval.
Here, we show that polylogarithmic time per retrieval is achievable for reconstructing the convex hull with an instance-optimal number of retrievals. Moreover, our work generalises previous works in that we can handle overlapping regions in two dimensions, whereas previous works could only support one-dimensional inputs or disjoint two dimensional inputs.
Simultaneous work.
Simultaneously and independently of this paper, Löffler and Raichel [18] developed an algorithm for reconstructing the convex hull when is a set of unit disks of ply . Their number of retrievals (Table 1) is not instance-optimal but rather worst-case optimal for every instance . Formally, they use retrievals for some region-dependent value with . We discuss their result in more detail in the full version.
Instance optimality in other fields.
The study of instance-optimal algorithms extends beyond computational geometry. A prime example is sorting under partial information. Given a partial order over a set and an unknown linear extension , the goal is to sort using a minimum number of comparisons, where a comparison queries the order of a pair under . This is directly analogous to retrievals. Kahn and Saks [16] introduced an exponential-time algorithm that is instance-optimal in the number of comparisons. Since then, significant progress has been made on improving the runtime of such algorithms [15, 5], culminating in near-linear time algorithms that are instance-optimal in both runtime and comparisons [24, 23, 12]. Another example is the bidirectional shortest path problem. Haeupler, Hladík, Rozhoň, Tarjan, and Tětek [11] show an algorithm that finds the shortest path between two nodes and using an instance-optimal number of edge-weight comparisons.
Our contributions.
We present the first algorithm for convex hull reconstruction that is instance-optimal while only requiring polylogarithmic time per retrieval. If is a family of constant-complexity simple polygons, we preprocess in time and reconstruct the convex hull of any using retrievals and total time. Our approach applies to simple -gons with a linear factor in in space and time, to pairwise disjoint disks with radii in , and to unit disks of ply (see Table 1). Compared to previous approaches for convex hulls that achieve optimal retrieval counts [2], we exponentially improve the runtime per retrieval from polynomial to polylogarithmic. Compared to near-linear time algorithms for convex hulls (or, Delaunay triangulations) [8, 13, 19, 18, 25, 9, 10], we significantly reduce the number of retrievals used and broaden the generality of input families. The latter comes at a cost of a polylogarithmic slowdown if is linear in .
| Shapes | Overlap | Structures | Preprocess | Retrievals | Reconstruction time | Source |
|---|---|---|---|---|---|---|
| Unit disks | No | many | [8, 9, 13, 17, 19, 25] | |||
| Disks | Delaunay | rand. | [4] | |||
| Lines | Yes | hull | rand. | [10] | ||
| Intervals | Yes | sorting | [21] | |||
| Axis rect. | No | front | [22] | |||
| Smooth | Yes | front, hull | [2] | |||
| -gons | Yes | hull | Thm 33 | |||
| -gons | Yes | hull | Thm 34 | |||
| -disks | No | hull | Full version | |||
| Unit disks | hull | Full version | ||||
| Unit disks | hull | [18] |
Organisation.
In Section 2, we provide some preliminaries. Then, in Section 3, we present our general algorithm for reconstructing the convex hull and prove its optimality (Theorem 18). In Section 4, we present a data structure for simple -gons and give an instance-optimal algorithm that uses space and time (Theorem 33). In the full version we improve the dependency on to near-linear (Theorem 34). In the full version, we study pairwise disjoint disks with a radius in , or, unit disks with ply .
2 Preliminaries
Recall that an imprecise point set is defined as a family of geometric regions , and a realisation is defined as a sequence of points with . We explicitly allow for duplicate points in and do not assume general position. The algorithm has two phases [13]: a preprocessing phase, where only is available, and a reconstruction phase, in which we may perform a retrieval on any , replacing with the point . To maintain generality, we require only that each is a point or a closed, connected, bounded region whose boundary is a simple closed piecewise- curve. Non-point regions must have connected interiors and coincide with the closure of their interiors; see Figure 2. Next, we define retrievals, convex hulls, vertices, edges, reconstruction strategies, and instance-optimality.
Retrievals.
Given a family of regions , a retrieval operation on a non-point region replaces with its associated point (thereby updating ). We write for the family resulting from retrieving all regions in . We denote by the family obtained by removing all regions in from . This removal is used in our analysis when we identify regions whose corresponding points cannot appear on the convex hull.
Critical assumptions.
Since all regions in are closed, we claim that we must assume may contain duplicates and require that the convex hull of a point sequence includes all collinear and duplicate points. To illustrate, let consist of identical unit squares, and suppose includes four points forming the corners of one square. A lucky algorithm might retrieve these four points first and construct the convex hull [14]. If we assumed general position or excluded duplicates from the convex hull, this algorithm could then conclude that all remaining points cannot lie on the convex hull and terminate early. However, such behaviour cannot be guaranteed against an adversary. Since all regions are indistinguishable, an adversary may simply give these four points last. Alternatively, if consisted of open regions, we could assume general position and exclude duplicates.
Upper quarter convex hull.
We focus on the upper quarter convex hull of . The other three quarters can be constructed analogously, and the full convex hull results from combining them. Let denote the upper quarter convex hull: the boundary of the smallest convex set containing . We assume that , with corresponding points . These are always included in and . For any family of regions , we denote by the upper quarter outer convex hull: the boundary of the smallest convex area enclosing all regions in . Thus, and represent convex hulls over point sequences and region families, respectively. As convex hulls define boundary curves, we may say that a point lies on, inside, or outside or .
Vertices and edges.
We define convex hull vertices and edges of . Although intuitive in simpler settings, these concepts require care due to the generality of .
Definition 1.
A point is a vertex of a region if lies on the boundary of and every open line segment through contains a point not on the boundary of . For any , is the (infinite) set of vertices of .
Intuitively, the edges of connect successive vertices lying on its boundary. Due to potential overlaps between regions, vertices may coincide. As illustrated in Figure 2(c), a single edge may therefore be considered to connect different pairs of overlapping vertices. To avoid such degeneracy, we define as a set, and define edges robustly:
Definition 2.
We define an edge of to be a pair of distinct vertices in where the subcurve of from to contains no vertices in other than and .
Note that a disk has infinitely many vertices but no edges under these definitions. We also define when a region appears on the outer convex hull:
Definition 3.
We say a region appears on if there is a point on with . (Observe that we may always pick to be a vertex of .)
Reconstruction algorithms.
We will retrieve regions until all realisations yield the same ordering of points along their convex hull. We formalise this via a partial order:
Definition 4.
Given , let be the partial order on induced by the left-to-right traversal of ), i.e. for , we have if and only if and both lie on and lies strictly to the left of .
We say a family is finished if all realisations satisfy . A reconstruction algorithm retrieves some such that is finished. Let denote the minimum number of retrievals needed by any such algorithm.
Observation 5.
For any fixed , let be a smallest subset of such that is finished. Then is a tight lower bound for .
A reconstruction algorithm is instance-optimal if for all inputs it retrieves regions before is finished. We distinguish two types of reconstruction algorithms:
-
A reconstruction strategy is any such algorithm, analysed only by the number of retrievals.
-
A reconstruction program is a reconstruction algorithm executed on a pointer machine or RAM, and is analysed by both retrievals and instructions.
The previous instance-optimal reconstruction strategy.
Bruce, Hoffmann, Krizanc, and Raman [2] present an instance-optimal reconstruction strategy for region families consisting of points and closed piecewise- regions. They do not present a corresponding reconstruction program. When consists of disks or polygons, a reconstruction program may be derived, albeit with unspecified polynomial-time costs per retrieval. We further discuss their algorithm in the full version. We rely on a key concept of their paper, i.e. a witness.
Definition 6.
Let be a family of regions and let . Any is a witness if for all , the family is not finished.
We observe that a reconstruction strategy is instance-optimal if, at each step, it retrieves all regions from a constant-size witness set of .
2.1 Explicit dynamic planar convex hull
We rely on a data structure to maintain the upper quarter convex hull of a dynamic point set. Overmars and van Leeuwen [20] provide the best-known solution, achieving deterministic update time . Their data structure, known as the Partial Hull Tree (PHT), is now textbook material. We follow their terminology:
Definition 7 (PHT from [20]).
Given a two-dimensional point set , the Partial Hull Tree stores in a leaf-based balanced binary tree (sorted by -coordinates). For each interior node , denote by the (upper quarter) convex hull of all points in the leaves of the subtree rooted at . For each , with children and parent , the PHT stores:
-
The bridge (the unique edge in that is not in and ), and
-
a concatenable queue (a balanced tree of the edges in ).
We denote by a balanced tree over and by the vertices in the subtree of .
Note that for the root of , .
3 Witnesses and an instance-optimal reconstruction strategy
We introduce a new geometric classification over the edges of . This leads to an alternative instance-optimal reconstruction strategy, detailed in Algorithm 1. Our results hold in full generality for any family of points and closed regions whose boundaries are simple, closed, piecewise- curves. In particular, each region is connected and bounded, and any non-point region has a connected interior equal to its closure; see Figure 2. We define a classification over vertex pairs , which we apply to edges of . However, we formulate the classification for arbitrary vertex pairs, as this generality will be useful for our data structures. We say that two regions are strictly vertically separated if there exists a vertical line where and lie in opposite open half-planes defined by .
Definition 8 (Band. Fig. 3).
For any pair of regions (where is allowed) we define as the area enclosed by the (full) outer convex hull of .
Definition 9 (Fig. 4).
We say with and , is:
-
canonical in if the following holds for all . Either:
-
–
is exclusively a vertex of point regions, or
-
–
is a vertex of a unique region that is not a point region.
-
–
-
dividing in if is canonical and either:
-
–
, or
-
–
are strictly vertically separated.
-
–
-
occupied in if is dividing and:
-
–
contains a vertex in .
-
–
In our reconstruction strategy, we retrieve regions until no non-canonical, non-dividing, or occupied edges remain. This alone does not guarantee that is finished, so we introduce a final characterisation based on convex chains.
Definition 10 (Spanning chain. Fig. 5).
A convex chain is spanning in if the following three conditions hold:
-
all edges on are dividing in ,
-
, , where intersects the inside of ,
-
all vertices of between and including and are in .
We use rather than in Definition 10 to ensure meaningful behaviour even when and are point regions (since would then be empty). Algorithm 1 processes edges of by a priority based on Definitions 9 and 10:
In the following two subsections, we first show that each case in Algorithm 1 retrieves a witness. Then, we prove that if Algorithm 1 is instance-optimal.
3.1 Proving that Algorithm 1 retrieves only witnesses
The first case of Algorithm 1 considers a non-canonical edge, which implies that there is a point on that lies in two regions that are not both point regions.
Lemma 11 (Proof in the full version).
Let be a point that lies in two regions that are not both point regions. Then is a witness.
The second case of Algorithm 1 considers an edge of that is canonical but not dividing in . Let and . Because is canonical but not dividing it holds that and and are distinct regions that are not strictly vertically separated. The following lemma implies that is indeed a witness.
Lemma 12 (Proof omitted).
Let with appear on . If and are not strictly vertically separated, then is a witness.
The third case of Algorithm 1 considers an occupied edge. The next lemma shows that any choice of region that has a vertex in the occupied band gives rise to a witness.
Lemma 13 (Proof omitted).
Let be an edge of that is occupied in . Let and for . Let be a region not equal to or with a vertex . Then is a witness.
The final case of Algorithm 1 considers any remaining spanning subchains of .
Lemma 14 (Proof omitted).
Let be a contiguous subchain of that is spanning in . Let be as in Definition 10. Then is a witness.
3.2 Proving that Algorithm 1 is instance-optimal
We now prove that Algorithm 1 is instance-optimal. That is, the algorithm retrieves the minimal number of regions (up to constant factors) necessary to determine the ordering of points on the convex hull, for any realisation . We first observe that Algorithm 1 only terminates when is terminal, meaning: every edge of is dividing, no edge of is occupied, and no contiguous subchain of is spanning.
For the remainder of this section, let denote the multiset of regions that appear on . If is terminal, the regions in satisfy the following structure:
Lemma 15.
If is terminal, then all regions in are strictly vertically separated from each other, with the exception of pairs of regions that are duplicates of the same point.
Proof.
Walk along from left to right, considering edges with , , . As is terminal, this edge is dividing, hence lies strictly to the left of . All previously encountered regions lie strictly left of , hence also strictly to the left of . Moreover, this edge is not occupied, so is disjoint from all regions not equal to .
With Lemma 15, we define for each region that appears on its left (or right) neighbour as the first region on that lies strictly left (or right) of . Note that two duplicate point regions on have the same neighbours. Next, we show that the points corresponding to regions in always appear on the convex hull (Lemma 16), and that no points corresponding to regions in appear on the convex hull (Lemma 17).
Lemma 16.
If is terminal, then for any each point in lies on .
Proof.
Let and be arbitrary. Let and be the left and right neighbour of on . Observe that these neighbours are well-defined as and lie on .
Suppose by contradiction that lies below the segment . Then intersects the inside of , see Figure 6, so there is a contiguous subchain of that is spanning in . This contradicts being terminal. Since was arbitrary, this shows that any three consecutive points in form a convex-down angle. Hence, spans a convex polygon, so all points in appear on .
Lemma 17.
If is terminal, then for any only points of regions in lie on .
Proof.
Let be arbitrary. Suppose by contradiction that there is a region with a point on or outside of . Since the inside of is convex, we may require to be an extreme point of , so . By Lemma 15 and Lemma 16, there exist consecutive regions for which lies on or above . As lies fully inside , the point lies in or directly above . We make a case distinction, where lies directly above (or ), or, on the upper tangent of .
Suppose first that lies directly above a point . Let be the left and right neighbour of on , respectively. Let be the point on directly above . Then (or ), hence also as bands are convex and lies on . Hence, is not terminal. Similarly, being directly above a point in implies that is not terminal. Furthermore, cannot lie above the upper tangent of since . This shows that does not lie above , hence , so is not terminal.
Theorem 18.
Algorithm 1 is an instance-optimal reconstruction strategy.
Proof.
First, we show that when Algorithm 1 terminates, the set is finished. Let be terminal. Let be the multiset of regions that appear on . Let and be arbitrary. By Lemma 17, no points in are on . By Lemma 16, the points in all appear on . Moreover, together with Lemma 15, this implies that for all and , . So, is finished. Hence, Algorithm 1 is a correct reconstruction strategy.
We now show instance-optimality. By Lemmas 11, 12, 13 and 14, the algorithm retrieves a constant-size witness in each iteration. Let be the sets of non-point regions of these witnesses. Since the witnesses have constant size, Algorithm 1 does retrievals. A retrieval turns a region into a point region, hence the are pairwise disjoint. On the other hand, if is finished for some , then needs to contain at least one element from each (by the definition of witness). As the are disjoint, this forces . Hence, Algorithm 1 is instance optimal by Observation 5.
4 Regions that are simple -gons
We present a reconstruction program that executes our strategy from Algorithm 1 in polylogarithmic time per retrieval. To this end, we restrict to a family of (possibly overlapping) simple polygons, each with at most vertices. Recall that denotes the set of all distinct vertices in . After each retrieval, we update by replacing with , and update by deleting vertices from and adding to .
Observation 19.
For any family of regions , has the same edges as .
Consider a PHT of (Definition 7). After one retrieval, let be the updated PHT. We define the recourse set as the set symmetric difference of all bridges in and all bridges in . Recourse is defined as the maximum size, across all possible retrievals, of any recourse set. A PHT has recourse per update, and hence recourse per retrieval.
Augmenting the Partial Hull Tree.
Within each leaf of , corresponding to a vertex , we maintain two doubly linked lists. The point region list stores all point regions that are . The non-point region list stores the other regions where . Recall that Algorithm 1 retrieves regions corresponding to the endpoint of edges that are:
For every node with bridge , we maintain pointers to the leaves containing and , along with Boolean flags indicating whether is canonical or dividing. An update to may make edges occupied. So instead, we maintain a different property (Fig. 7):
Definition 20.
A convex chain of vertices is hit in if:
-
all edges of are dividing,
-
the edge is occupied in ,
-
and , and
-
, , and .
Recall Definition 7, where for , denotes a balanced binary tree on . The PHT stores in a concatenable queue which is minus all edges that are in where is the parent of . We further augment the data structure by maintaining four balanced trees associated with , where edges are ordered by their appearance in :
-
1.
a tree storing all edges that are non-canonical in ,
-
2.
a tree storing all edges that are canonical and non-dividing in ,
-
3.
a tree storing all contiguous subchains of that are spanning in ,
-
4.
a tree storing all contiguous subchains of that are hit in .
We only give the first tree a name since all others are maintained in similar fashion. We denote by a balanced tree on all non-canonical edges in .
Observation 21 (by Definition 9).
For any canonical bridge in , there exists a unique area that contains . is either a point, or a unique region in and can be found in time by checking the regions lists stored at one of the leaves that points to.
We store for every region in their maximum and minimum -coordinate, this way we can test if a pair of regions is vertically separated in constant time.
Candidate chains.
Our data structure maintains for each , a collection of special edges and special chains. We observe that these chains have a special structure:
Definition 22.
Let and consider (not ). Any contiguous subchain of is a candidate chain if all edges of are dividing in and:
-
with , , , and , or,
-
all interior vertices of are in and ,
(note that this implies that all interior vertices are not in for ).
Observation 23.
Any subchain of that is spanning in is also a candidate chain.
Observation 24.
Any subchain of is hit in only if and are candidate chains.
Lemma 25.
Let . There are at most two candidate chains that contain an edge of and, given and our data structure, we can find these in time.
Proof.
Suppose two candidate chains and share . By the definition of candidate chains, must be the final edge of and the first edge of . First, identify the up to two length-3 chains in containing . Check each such chain in time for the dividing property by consulting the Boolean flags. If all edges are dividing, we apply Observation 21 to test whether the chain satisfies the conditions of a candidate chain.
Next, consider candidate chains of length in which is an interior edge. Check, in time via Observation 21, whether both and lie in a unique region . If so, perform an in-order traversal of – moving up to steps left from and up to steps right from – to find the maximal contiguous chain with all edges dividing and interior vertices contained in . The chain ends when we encounter an edge whose endpoints do not lie entirely in . This identifies the unique candidate chain of length containing as an interior edge. To find chains where is the first or last edge, apply the above procedure to the edges immediately before and after .
Update time.
After each retrieval, we update bridges for all nodes along root-to-leaf paths in . For each bridge , we update its leaf pointers with constant overhead. Corollaries 27, 28, 30, and 32 show how to determine whether a bridge is canonical, dividing, part of a spanning chain, or part of a hit chain in , respectively, in time. Since the recourse per retrieval is , this yields an overall update time of .
Observation 26 (by Definition 9).
For any node , its bridge is canonical in if and only if both leaves containing and meet one of the following conditions:
-
The non-point region list is empty, or,
-
The point region list is empty and the region list contains exactly one region.
Corollary 27.
We can dynamically maintain, in time, for each node a balanced binary tree of all edges that are non-canonical in .
Proof.
Test, using Observation 26, whether any bridge is canonical in constant time. Since the recourse is , the set of all bridges can be updated without incurring asymptotic overhead.
To maintain for each node , we follow the technique from [20] for concatenable queues. For any node with child , compute from in time by splitting at the bridge , and joining the result with . Traverse all updated root-to-leaf paths, using the split operation, in total time. Then, traverse the paths bottom-up. At each node with children and , we have access to the newly updated trees and . Compute by splitting and at the endpoints of the new bridge and joining the result.
Corollary 28.
We can dynamically maintain in time for each node a balanced binary tree on all edges that are canonical but non-dividing in .
Proof.
The set of bridges has recourse. Once a bridge is known to be canonical, we apply Observation 21 to determine the unique areas and containing and . We then test in constant time whether and are vertically separated, using stored -coordinates. The tree is maintained using the same procedure as in Corollary 27.
Lemma 29.
For any , given and , we may find the at most two contiguous subchains of with that are spanning in in time.
Proof.
Apply Lemma 25 to obtain all candidate chains in containing . Let be such a chain. To test whether is spanning in , use Observation 21 to find the unique regions , , and . Construct in time and perform a convex hull intersection test with in time using the algorithm of Chazelle [6]. The chain is spanning if and only if this test returns true.
Corollary 30.
We can dynamically maintain in time for each node a balanced binary tree of all subchains of that are spanning in .
Proof.
Whenever the set of leaves of a node changes (which occurs for nodes), invoke Lemma 29 on to maintain all chains that are spanning in (and contiguous subchains of but not of or ). The balanced binary tree associated to can be maintained in an identical manner as previous corollaries.
Lemma 31.
For any node and any edge , we can find all contiguous subchains of that contain and are hit in in time.
Proof.
Apply Lemma 25 to find all candidate chains containing . Then, for each candidate chain, consider the adjacent edge and apply the lemma again to construct all possible hit chains. For each resulting subchain, test whether the middle edge i is occupied as follows: Construct in time [7]. Temporarily remove and from , and delete and from , in time. Update the corresponding PHT without updating auxiliary data. The hull is stored at the root of . By intersection testing between and in time [6], we can test if any hit chain is occupied.
Corollary 32.
We can dynamically maintain in time for each node a balanced binary tree of all subchains of that are hit in .
Proof.
As with Corollary 30, we invoke Lemma 31 on nodes where the leaf set changes. For each, we update the associated trees using split and join operations.
Theorem 33.
Let be a family of simple polygons, where each region in has at most vertices. We can preprocess using space and time, such that given we reconstruct using space and time.
Proof.
By Corollaries 27, 28, 30, and 32, we may maintain our augmented Partial Hull Tree in time per retrieval. This data structure maintains at its root four balanced trees storing all: non-canonical edges, canonical but non-dividing edges; subchains of that are spanning in , or hit in . We observe that Algorithm 1 only considers occupied edges if all edges on are dividing. Then, any occupied edge corresponds to a hit subchain. Thus, we may immediately use these trees to execute Algorithm 1. This procedure performs retrievals and so the theorem follows.
In the full version, we note that our approach has two bottlenecks. First, the algorithm from Lemma 25 may “skip” over edges to find the largest candidate chain. By applying a technique similar to skip-lists, we improve its running time by a factor . Secondly, our approach frequently uses a subroutine where for any two regions and we construct in time. We show that by storing for each region its convex hull, this construction time becomes polylogarithmic and we obtain the following:
Theorem 34.
Let be a family of simple polygons where each region in has at most vertices. We can preprocess using space and time, such that given we reconstruct using time.
References
- [1] Peyman Afshani, Jérémy Barbay, and Timothy M. Chan. Instance-optimal Geometric Algorithms. Journal of the ACM (JACM), 2017.
- [2] Richard Bruce, Michael Hoffmann, Danny Krizanc, and Rajeev Raman. Efficient Update Strategies for Geometric Computing with Uncertainty. Theory of Computing Systems (TOCS), 2005. doi:10.1007/s00224-004-1180-4.
- [3] Kevin Buchin, Maarten Löffler, Pat Morin, and Wolfgang Mulzer. Preprocessing Imprecise Points for Delaunay Triangulation: Simplified and Extended. Algorithmica, 2011. doi:10.1007/s00453-010-9430-0.
- [4] Kevin Buchin and Wolfgang Mulzer. Delaunay Triangulations in Time and More. Journal of the ACM (JACM), 2011. doi:10.1145/1944345.1944347.
- [5] Jean Cardinal, Samuel Fiorini, Gwenaël Joret, Raphaël Jungers, and J. Ian Munro. Sorting under partial information (without the ellipsoid algorithm). Combinatorica, 33(6):655–697, December 2013. doi:10.1007/s00493-013-2821-5.
- [6] Bernard Chazelle and David P Dobkin. Detection is easier than computation. In ACM Symposium on Theory Of Computing (STOC), 1980.
- [7] Mark de Berg, Otfried Cheong, Marc Van Kreveld, and Mark Overmars. Computational Geometry: Algorithms and Applications, third edition. Springer, 2008. doi:10.1007/978-3-540-77974-2.
- [8] Olivier Devillers. Delaunay Triangulation of Imprecise Points: Preprocess and Actually get a Fast Query Time. Journal of Computational Geometry (JoCG), 2011. doi:10.20382/jocg.v2i1a3ff.ffinria-00595823.
- [9] William Evans and Jeff Sember. The Possible Hull of Imprecise Points. Canadian Conference on Computational Geometry (CCCG), 2011. URL: https://www.cs.ubc.ca/˜will/papers/possiblehull.pdf.
- [10] Esther Ezra and Wolfgang Mulzer. Convex Hull of Points Lying on Lines in Time after Preprocessing. Computational Geometry, 2013. doi:10.1016/j.comgeo.2012.03.004.
- [11] Bernhard Haeupler, Richard Hladík, Václav Rozhoň, Robert E Tarjan, and Jakub Tětek. Bidirectional dijkstra’s algorithm is instance-optimal. In Symposium on Simplicity in Algorithms (SOSA), pages 202–215. SIAM, 2025. doi:10.1137/1.9781611978315.16.
- [12] Bernhard Haeupler, Richard Hladík, John Iacono, Václav Rozhoň, Robert E. Tarjan, and Jakub Tětek. Fast and Simple Sorting Using Partial Information, pages 3953–3973. SIAM, 2025. doi:10.1137/1.9781611978322.134.
- [13] Martin Held and Joseph Mitchell. Triangulating Input-constrained Planar Point Sets. Information Processing Letters (IPL), 2008. doi:10.1016/j.ipl.2008.09.016.
- [14] Simon Kahan. A model for data in motion. In ACM Symposium on Theory of Computing (STOC), pages 265–277, New York, NY, USA, 1991. Association for Computing Machinery. doi:10.1145/103418.103449.
- [15] Jeff Kahn and Jeong Han Kim. Entropy and sorting. In Proceedings of the twenty-fourth annual ACM symposium on Theory of Computing, STOC ’92, pages 178–187, New York, NY, USA, July 1992. Association for Computing Machinery. doi:10.1145/129712.129731.
- [16] Jeff Kahn and Michael Saks. Balancing poset extensions. Order, 1(2):113–126, June 1984. doi:10.1007/BF00565647.
- [17] Maarten Löffler and Wolfgang Mulzer. Unions of Onions: Preprocessing Imprecise Points for Fast Onion Decomposition. Journal of Computational Geometry (JoCG), 2014. doi:10.1007/978-3-642-40104-6_42.
- [18] Maarten Löffler and Benjamin Raichel. Preprocessing disks for convex hulls, revisited. arXiv preprint arXiv:2502.03633, 2025. doi:10.48550/arXiv.2502.03633.
- [19] Maarten Löffler and Jack Snoeyink. Delaunay Triangulation of Imprecise Points in Linear Time after Preprocessing. Computational Geometry, 2010. doi:10.1016/j.comgeo.2008.12.007.
- [20] Mark H. Overmars and Jan van Leeuwen. Dynamically maintaining configurations in the plane (detailed abstract). In Proceedings of the 12th Annual ACM Symposium on Theory of Computing, April 28-30, 1980, Los Angeles, California, USA, pages 135–145. ACM, 1980. doi:10.1145/800141.804661.
- [21] Ivor van der Hoog, Irina Kostitsyna, Maarten Löffler, and Bettina Speckmann. Preprocessing Ambiguous Imprecise Points. International Symposium on Computational Geometry (SoCG), 2019. doi:10.4230/LIPIcs.SoCG.2019.42.
- [22] Ivor van der Hoog, Irina Kostitsyna, Maarten Löffler, and Bettina Speckmann. Preprocessing imprecise points for the pareto front. In ACM-SIAM Symposium on Discrete Algorithms (SODA). SIAM, 2022.
- [23] Ivor van der Hoog, Eva Rotenberg, and Daniel Rutschmann. Simpler optimal sorting from a directed acyclic graph. In Symposium on Simplicity in Algorithms (SOSA). SIAM, 2025. doi:10.1137/1.9781611978315.26.
- [24] Ivor Van Der Hoog and Daniel Rutschmann. Tight bounds for sorting under partial information. In Symposium on Foundations of Computer Science (FOCS). IEEE, 2024. doi:10.1109/FOCS61266.2024.00131.
- [25] Marc van Kreveld, Maarten Löffler, and Joseph Mitchell. Preprocessing Imprecise Points and Splitting Triangulations. SIAM Journal on Computing (SICOMP), 2010. doi:10.1137/090753620.
