Abstract 1 Introduction 2 Preliminaries 3 Witnesses and an instance-optimal reconstruction strategy 4 Regions that are simple 𝒌-gons References

Instance-Optimal Imprecise Convex Hull

Sarita de Berg ORCID IT University of Copenhagen, Denmark Ivor van der Hoog ORCID IT University of Copenhagen, Denmark Eva Rotenberg ORCID IT University of Copenhagen, Denmark Daniel Rutschmann ORCID IT University Copenhagen, Denmark Sampson Wong ORCID University of Copenhagen, Denmark
Abstract

Imprecise measurements of a point set P=(p1,,pn) can be modelled by a family of regions F=(R1,,Rn), where each imprecise region RiF contains a unique point piP. A retrieval models an accurate measurement by replacing an imprecise region Ri with its corresponding point pi.

We construct the convex hull of an imprecise point set in the plane, by determining the cyclic ordering of the convex hull vertices of P 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 r(F,P) denote the minimal number of retrievals required by any algorithm to determine the convex hull of P for a given instance (F,P). For a family F of n constant-complexity polygons, our main result is a reconstruction algorithm that performs Θ(r(F,P)) retrievals in O(r(F,P)log3n) 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 k-gons, to pairwise disjoint disks with radii in [1,k], and to unit disks where at most k disks overlap in a single point. Our runtime scales linearly with k.

Keywords and phrases:
convex hull, imprecise geometry preprocessing model, partial information
Funding:
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.
Sampson Wong: This project has recieved funding from the European Union’s Skłodowska-Curie Actions Postdoctoral Fellowship grant agreement No 101146276.
Copyright and License:
[Uncaptioned image] © Sarita de Berg, Ivor van der Hoog, Eva Rotenberg, Daniel Rutschmann, and Sampson Wong; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Computational geometry
Related Version:
Full Version: https://arxiv.org/abs/2504.02611
Funding:
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 Herman

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 F=(R1,,Rn), where each region Ri contains a unique but unknown point pi. A realisation PF is a sequence P=(p1,,pn) where piRi. An input instance is a pair (F,P). A retrieval operation reveals the precise location of a point pi, replacing Ri with pi.

Let FPB denote the family F after retrieving all RiB, where BF. The aim of a reconstruction algorithm is to identify a subset BF such that for all realisations P1,P2FPB, the algorithm’s output (e.g., the cyclic order of the region indices of the points around the convex hull) is identical for P1 and P2. Figure 1 illustrates an example. After retrieving the subset B={R3,R4}, the cycling ordering of the convex hull vertices is identically (p1,p3,p2,p4) for all realisations of FPB.

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.

Figure 1: (a) A family of regions F=R1,,R5 and a sequence P=(p1,,p5) with PF. (b) If we retrieve R3 and R4 to obtain F then for all PF the convex hull equals (p1,p3,p2,p4). Note that if p3 would lie in R2R3 instead, then retrieving only R3 and R4 does not suffice.

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 Ω(n) retrievals. Most of the existing algorithms assume that the regions in F are pairwise disjoint unit disks [8, 13, 19, 25, 9, 17]. Under these assumptions, deterministic worst-case optimal algorithms exist with O(nlogn) preprocessing time, O(n) retrievals, and O(n) reconstruction time. Ezra and Mulzer [10] allow F to consist of arbitrary lines and reconstruct the convex hull using O(n) retrievals and O(nα(n)) expected time where α(n) denotes the inverse Ackermann function. Buchin, Löffler, Morin and Mulzer [3] permit overlapping unit disks of ply k (i.e., at most k 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 (F,P), 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 F consist of two overlapping intervals R1 and R2 in , with R1R2 and R2R1. Define P1 with p1R1R2 and p2R1R2, and P2 with p1R1R2 and p2R2R1. In (F,P1), retrieving R1 suffices; in (F,P2), retrieving R2 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 r(F,P) the minimum integer such that there exists a subset BF of size r(F,P) where all realizations P(FPB) have the same vertex-ordering along the convex hull of P. We note that r(F,P) is, equivalently, the optimal number of retrievals. We say that an algorithm is instance-optimal if for all inputs (F,P) it uses Θ(r(F,P)) retrievals. We highlight that r(F,P) depends on both the region family F and the specific realisation P. To illustrate, suppose F consists of nested rectangles RnRn1R1. If PF is such that the convex hull of (p1,p2,p3,p4) contains all of R5, then retrieving just those four suffices: r(F,P)=4. But if all pi coincide then r(F,P)=n.

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 O(nlogn) time and uses Θ(r(F,P)) 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 F 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 F is a set of unit disks of ply k. Their number of retrievals (Table 1) is not instance-optimal but rather worst-case optimal for every instance F. Formally, they use O(w(F)) retrievals for some region-dependent value w(F) with r(F,P)w(F)n. 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 O over a set X and an unknown linear extension L, the goal is to sort X using a minimum number of comparisons, where a comparison queries the order of a pair (x,y)X under L. 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 s and t 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 F is a family of n constant-complexity simple polygons, we preprocess F in O(nlog3n) time and reconstruct the convex hull of any PF using Θ(r(F,P)) retrievals and O(r(F,P)log3n) total time. Our approach applies to simple k-gons with a linear factor in k in space and time, to pairwise disjoint disks with radii in [1,k], and to unit disks of ply k (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 r(F,P) is linear in n.

Table 1: Previous results that compute a sorting, Pareto front, convex hull, or Delaunay triangulation. The bottommost result is simultaneous and independent work from ours.
Shapes Overlap Structures Preprocess Retrievals Reconstruction time Source
Unit disks No many O(nlogn) O(n) O(n) [8, 9, 13, 17, 19, 25]
Disks k Delaunay O(nlogn) O(n) O(nlogk) rand. [4]
Lines Yes hull O(nlogn) O(n) (nα(n)) rand. [10]
Intervals Yes sorting O(nlogn) Θ(r(F,P)) O(r(F,P)logn) [21]
Axis rect. No front O(nlogn) Θ(r(F,P)) O(r(F,P)logn) [22]
Smooth Yes front, hull O(polyn) Θ(r(F,P)) O(r(F,P)polyn) [2]
O(1)-gons Yes hull O(nlog3n) Θ(r(F,P)) O(r(F,P)log3n) Thm 33
k-gons Yes hull O(knlog3n) Θ(r(F,P)) O(r(F,P)klog3n) Thm 34
[1,k]-disks No hull O(knlog3n) Θ(r(F,P)) O(r(F,P)klog3n) Full version
Unit disks k hull O(knlog3n) Θ(r(F,P)) O(r(F,P)klog3n) Full version
Unit disks k hull O(k3n) O(w(F)) O(k3w(F)) [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 k-gons and give an instance-optimal algorithm that uses O(kn) space and O(r(F,P)k2log3(kn)) time (Theorem 33). In the full version we improve the dependency on k to near-linear (Theorem 34). In the full version, we study pairwise disjoint disks with a radius in [1,k], or, unit disks with ply k.

2 Preliminaries

Recall that an imprecise point set is defined as a family of geometric regions F=(R1,,Rn), and a realisation PF is defined as a sequence P of n points with piRi. We explicitly allow for duplicate points in P and do not assume general position. The algorithm has two phases [13]: a preprocessing phase, where only F is available, and a reconstruction phase, in which we may perform a retrieval on any RiF, replacing Ri with the point pi. To maintain generality, we require only that each Ri is a point or a closed, connected, bounded region whose boundary is a simple closed piecewise-C1 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.

Figure 2: (a) Regions may have bends and sharp corners, and, be points. (b) Regions may not be unbounded, non-simple, connected by a line, or have infinitely many sharp corners. (c) Vertices between regions may coincide, and point regions (R3) may coincide with vertices of other regions.

Retrievals.

Given a family of regions F, a retrieval operation on a non-point region Ri replaces Ri with its associated point pi (thereby updating F). We write FPA for the family resulting from retrieving all regions in AF. We denote by FA the family obtained by removing all regions in A from F. 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 F are closed, we claim that we must assume P may contain duplicates and require that the convex hull of a point sequence includes all collinear and duplicate points. To illustrate, let F consist of n identical unit squares, and suppose PF 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 F 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 P. The other three quarters can be constructed analogously, and the full convex hull results from combining them. Let CH(P) denote the upper quarter convex hull: the boundary of the smallest convex set containing P{(,),(+,)}. We assume that (Rn+1,Rn+2)=({(,)},{(+,)}), with corresponding points (pn+1,pn+2). These are always included in F and P. For any family of regions F, we denote by OCH(F) the upper quarter outer convex hull: the boundary of the smallest convex area enclosing all regions in F. Thus, CH(P) and OCH(F) represent convex hulls over point sequences and region families, respectively. As convex hulls define boundary curves, we may say that a point p2 lies on, inside, or outside CH(P) or OCH(F).

Vertices and edges.

We define convex hull vertices and edges of OCH(F). Although intuitive in simpler settings, these concepts require care due to the generality of F.

Definition 1.

A point pR is a vertex of a region R if p lies on the boundary of R and every open line segment through p contains a point not on the boundary of R. For any RF, V(R) is the (infinite) set of vertices of R.

Intuitively, the edges of OCH(F) 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 V(F)=RFV(R) as a set, and define edges robustly:

Definition 2.

We define an edge (s,t) of OCH(F) to be a pair of distinct vertices in V(F) where the subcurve of OCH(F) from s to t contains no vertices in V(F) other than s and t.

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 R appears on OCH(F) if there is a point p on OCH(F) with pR. (Observe that we may always pick p to be a vertex of R.)

Reconstruction algorithms.

We will retrieve regions until all realisations PF yield the same ordering of points along their convex hull. We formalise this via a partial order:

Definition 4.

Given PF, let (CH(P)) be the partial order on [n] induced by the left-to-right traversal of CH(P), i.e. for pa,pbP, we have ab if and only if pa and pb both lie on CH(P) and pa lies strictly to the left of pb.

We say a family F is finished if all realisations P1,P2F satisfy (CH(P1))=(CH(P2)). A reconstruction algorithm retrieves some BF such that FPB is finished. Let r(F,P) denote the minimum number of retrievals needed by any such algorithm.

Observation 5.

For any fixed PF, let AF be a smallest subset of F such that FPA is finished. Then |A| is a tight lower bound for r(F,P).

A reconstruction algorithm is instance-optimal if for all inputs (F,P) it retrieves Θ(r(F,P)) regions before F 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 F consisting of points and closed piecewise-C1 regions. They do not present a corresponding reconstruction program. When F 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 F be a family of regions and let AF. Any AF is a witness if for all P(FA), the family AP 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 F.

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 O(log2n). 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 S, the Partial Hull Tree stores S in a leaf-based balanced binary tree T (sorted by x-coordinates). For each interior node νT, denote by CH(ν) the (upper quarter) convex hull of all points in the leaves of the subtree rooted at v. For each νT, with children (x,y) and parent w, the PHT stores:

  • The bridge e(ν) (the unique edge in CH(ν) that is not in CH(x) and CH(y)), and

  • a concatenable queue 𝔼(ν) (a balanced tree of the edges in CH(ν)CH(w)).

We denote by 𝔼(ν) a balanced tree over CH(ν) and by V[ν] the vertices in the subtree of ν.

Note that for the root ρ of T, 𝔼(ρ)=𝔼(ρ).

3 Witnesses and an instance-optimal reconstruction strategy

We introduce a new geometric classification over the edges of OCH(F). This leads to an alternative instance-optimal reconstruction strategy, detailed in Algorithm 1. Our results hold in full generality for any family F of points and closed regions whose boundaries are simple, closed, piecewise-C1 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 (s,t), which we apply to edges of OCH(F). However, we formulate the classification for arbitrary vertex pairs, as this generality will be useful for our data structures. We say that two regions Ra,RbF are strictly vertically separated if there exists a vertical line where Ra and Rb lie in opposite open half-planes defined by .

Figure 3: Three examples of a band (blue) between regions (green, brown).
Definition 8 (Band. Fig. 3).

For any pair of regions (Ra,Rb) (where a=b is allowed) we define band(Ra,Rb) as the area enclosed by the (full) outer convex hull of {Ra,Rb}.

Definition 9 (Fig. 4).

We say (s,t)V(Ra)×V(Rb) with st and Ra,RbF, is:

  • canonical in F if the following holds for all x{s,t}. Either:

    • x is exclusively a vertex of point regions, or

    • x is a vertex of a unique region that is not a point region.

  • dividing in F if (s,t) is canonical and either:

    • a=b, or

    • Ra,Rb are strictly vertically separated.

  • occupied in F if (s,t) is dividing and:

    • band(Ra,Rb) contains a vertex in V(FRaRb){s}{t}.

In our reconstruction strategy, we retrieve regions until no non-canonical, non-dividing, or occupied edges remain. This alone does not guarantee that F is finished, so we introduce a final characterisation based on convex chains.

Definition 10 (Spanning chain. Fig. 5).

A convex chain C=(q,r,,s,t) is spanning in F if the following three conditions hold:

  • all edges on C are dividing in F,

  • qV(Ra), r,sV(Rb), tV(Rc) where Rb intersects the inside of OCH({Ra,Rc}),

  • all vertices of C between and including r and s are in V(Rb).

Figure 4: We illustrate all (sub) cases of vertex pairs corresponding to Definition 9: All pairs that include t are non-canonical, as t is a vertex of more than one non-point region. All pairs in {r,s,u,v,w}2 are all canonical, as v is exclusively a vertex of two point regions. The pair (u,v) is non-dividing, as R3 and R4 are not vertically separated. The pairs (s,u), (r,u), (r,v), (s,v), and any pair in {r,s,u,v}×{w} are dividing because their regions are vertically separated. (r,s) is dividing because they are vertices of the same region. The pair (r,s) is not occupied since band(R1,R1) only contains vertices of R1. The pair (v,w) is not occupied since band(R4,R6) only contains vertices v and w. The pair (u,w) is occupied as V(FR3R6) contains the vertex tR2. The pairs (s,u), (r,u), (r,v), (s,v), (r,w), and (s,w) are also occupied.
Figure 5: The convex chain from q to t is spanning. The chain from r to v is not spanning.

We use OCH({Ra,Rc}) rather than band(Ra,Rc) in Definition 10 to ensure meaningful behaviour even when Ra and Rc are point regions (since band(Ra,Rc) would then be empty). Algorithm 1 processes edges of OCH(F) by a priority based on Definitions 9 and 10:

non-canonical  canonical but non-dividing  occupied  in spanning chain.
Algorithm 1 A data structure friendly reconstruction strategy: Reconstruct(F).

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 OCH(F) that lies in two regions that are not both point regions.

Lemma 11 (Proof in the full version).

Let sOCH(F) be a point that lies in two regions Ra,Rb that are not both point regions. Then {Ra,Rb} is a witness.

The second case of Algorithm 1 considers an edge (s,t) of OCH(F) that is canonical but not dividing in F. Let sV(Ra) and tV(Rb). Because (s,t) is canonical but not dividing it holds that ab and Ra and Rb are distinct regions that are not strictly vertically separated. The following lemma implies that {Ra,Rb} is indeed a witness.

Lemma 12 (Proof omitted).

Let Ra,RbF with RaRb appear on OCH(F). If Ra and Rb are not strictly vertically separated, then {Ra,Rb} 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 (s,t) be an edge of OCH(F) that is occupied in F. Let sV(Ra) and tV(Rb) for ab. Let Ri be a region not equal to Ra or Rb with a vertex qV(Ri)band(Ra,Rb). Then {Ra,Rb,Ri} is a witness.

The final case of Algorithm 1 considers any remaining spanning subchains of OCH(F).

Lemma 14 (Proof omitted).

Let (q,r,,s,t) be a contiguous subchain of OCH(F) that is spanning in F. Let Ra,Rb,Rc be as in Definition 10. Then {Ra,Rb,Rc} 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 PF. We first observe that Algorithm 1 only terminates when F is terminal, meaning: every edge of OCH(F) is dividing, no edge of OCH(F) is occupied, and no contiguous subchain of OCH(F) is spanning.

For the remainder of this section, let A denote the multiset of regions that appear on OCH(F). If F is terminal, the regions in A satisfy the following structure:

Lemma 15.

If F is terminal, then all regions in A are strictly vertically separated from each other, with the exception of pairs of regions that are duplicates of the same point.

Proof.

Walk along OCH(F) from left to right, considering edges (s,t) with sRa, tRb, ab. As F is terminal, this edge is dividing, hence Ra lies strictly to the left of Rb. All previously encountered regions lie strictly left of Ra, hence also strictly to the left of Rb. Moreover, this edge is not occupied, so Rb is disjoint from all regions not equal to Rb.

With Lemma 15, we define for each region R that appears on OCH(F) its left (or right) neighbour as the first region on OCH(F) that lies strictly left (or right) of R. Note that two duplicate point regions on OCH(F) have the same neighbours. Next, we show that the points corresponding to regions in A always appear on the convex hull (Lemma 16), and that no points corresponding to regions in FA appear on the convex hull (Lemma 17).

Lemma 16.

If F is terminal, then for any PA each point in P lies on CH(P).

Proof.

Let PA and RbA{(,),(,)} be arbitrary. Let Ra and Rc be the left and right neighbour of Rb on OCH(F). Observe that these neighbours are well-defined as (,) and (,) lie on OCH(F).

Figure 6: pb must be above papc, as otherwise there is a spanning contiguous subchain of OCH(F).

Suppose by contradiction that pb lies below the segment papc. Then Rb intersects the inside of OCH({Ra,Rc}), see Figure 6, so there is a contiguous subchain of OCH(F) that is spanning in F. This contradicts F being terminal. Since Rb was arbitrary, this shows that any three consecutive points in P form a convex-down angle. Hence, P spans a convex polygon, so all points in P appear on CH(P).

Lemma 17.

If F is terminal, then for any PF only points of regions in A lie on CH(P).

Proof.

Let PA be arbitrary. Suppose by contradiction that there is a region RiFA with a point piRi on or outside of CH(P). Since the inside of CH(P) is convex, we may require pi to be an extreme point of Ri, so piV(Ri). By Lemma 15 and Lemma 16, there exist consecutive regions Ra,RbA for which pi lies on or above papb. As papb lies fully inside band(Ra,Rb), the point pi lies in or directly above band(Ra,Rb). We make a case distinction, where pi lies directly above Rb (or Ra), or, on the upper tangent of Ra,Rb.

Suppose first that pi lies directly above a point qRb. Let Ra,Rc be the left and right neighbour of Rb on OCH(F), respectively. Let r be the point on OCH(F) directly above pi. Then rband(Rb,Rc) (or rband(Ra,Rb)), hence also piband(Rb,Rc) as bands are convex and pi lies on qr. Hence, F is not terminal. Similarly, pi being directly above a point in Ra implies that F is not terminal. Furthermore, pi cannot lie above the upper tangent of Ra,Rb since RiA. This shows that pi does not lie above band(Ra,Rb), hence piband(Ra,Rb), so F is not terminal.

Theorem 18.

Algorithm 1 is an instance-optimal reconstruction strategy.

Proof.

First, we show that when Algorithm 1 terminates, the set F is finished. Let F be terminal. Let AF be the multiset of regions that appear on OCH(F). Let PA and QFA be arbitrary. By Lemma 17, no points in Q are on CH(PQ). By Lemma 16, the points in P all appear on CH(PQ). Moreover, together with Lemma 15, this implies that for all P1A and P2A, (CH(P1))=(CH(P2)). So, F 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 X1,,Xk be the sets of non-point regions of these witnesses. Since the witnesses have constant size, Algorithm 1 does O(k) retrievals. A retrieval turns a region into a point region, hence the Xi are pairwise disjoint. On the other hand, if (FPA) is finished for some AF, then A needs to contain at least one element from each Xi (by the definition of witness). As the Xi are disjoint, this forces |A|k. 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 F to a family of n (possibly overlapping) simple polygons, each with at most k vertices. Recall that V(F)=(v1,,vm) denotes the set of all mO(kn) distinct vertices in F. After each retrieval, we update F by replacing Ri with pi, and update V by deleting O(k) vertices from V and adding pi to V.

Observation 19.

For any family of regions F, OCH(F) has the same edges as CH(V(F)).

Consider a PHT T of V(F) (Definition 7). After one retrieval, let T be the updated PHT. We define the recourse set as the set symmetric difference of all bridges in T and all bridges in T. Recourse is defined as the maximum size, across all possible retrievals, of any recourse set. A PHT has O(logm) recourse per update, and hence O(klogm) recourse per retrieval.

Augmenting the Partial Hull Tree.

Within each leaf of T, corresponding to a vertex vV(F), we maintain two doubly linked lists. The point region list stores all point regions that are v. The non-point region list stores the other regions RF where vV(R). Recall that Algorithm 1 retrieves regions corresponding to the endpoint of edges that are:

non-canonical  canonical but non-dividing  occupied  in spanning chain.

For every node νT with bridge e(ν)=(s,t), we maintain pointers to the leaves containing s and t, along with Boolean flags indicating whether e(ν) is canonical or dividing. An update to F may make O(n) edges occupied. So instead, we maintain a different property (Fig. 7):

Figure 7: The convex chain from q to v is hit in F since (s,t) is occupied due to the red vertices.
Definition 20.

A convex chain C=(q,r,,s,t,,u,v) of vertices is hit in F if:

  • all edges of C are dividing,

  • the edge (s,t) is occupied in F,

  • sV(Ra),tV(Rb) and ab, and

  • qV(Ra), r,,sV(Ra), t,,uV(Rb) and vV(Rb).

Recall Definition 7, where for νT, 𝔼(ν) denotes a balanced binary tree on CH(ν). The PHT stores in ν a concatenable queue 𝔼(ν) which is 𝔼(ν) minus all edges that are in 𝔼(w) where w 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. 1.

    a tree Λ(ν) storing all edges (s,t)𝔼(ν) that are non-canonical in F,

  2. 2.

    a tree storing all edges (s,t)𝔼(ν) that are canonical and non-dividing in F,

  3. 3.

    a tree storing all contiguous subchains of 𝔼(ν) that are spanning in F,

  4. 4.

    a tree storing all contiguous subchains of 𝔼(ν) that are hit in F.

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 (s,t) in T, there exists a unique area R(s) that contains s. R(s) is either a point, or a unique region in F and can be found in O(1) time by checking the regions lists stored at one of the leaves that (s,t) points to.

We store for every region in F their maximum and minimum x-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 νT, a collection of special edges and special chains. We observe that these chains have a special structure:

Definition 22.

Let νT and consider 𝔼(ν) (not 𝔼(ν)). Any contiguous subchain C=(q,s,,r) of 𝔼(ν) is a candidate chain if all edges of C are dividing in F and:

  • C=(q,s,r) with qV(Ra), sV(Rb), rV(Rc), and q,rV(Rb), or,

  • all interior vertices of C are in V(Rb) and q,rV(Rb),

    (note that this implies that all interior vertices are not in V(Rx) for xb).

Observation 23.

Any subchain of 𝔼(ν) that is spanning in F is also a candidate chain.

Observation 24.

Any subchain (q,r,,s,t,,u,v) of 𝔼(ν) is hit in ν only if (q,r,,s,t) and (s,t,,u,v) are candidate chains.

Lemma 25.

Let νT. There are at most two candidate chains that contain an edge (s,t) of 𝔼(ν) and, given 𝔼(ν) and our data structure, we can find these in O(k) time.

Proof.

Suppose two candidate chains C and C share (s,t). By the definition of candidate chains, (s,t) must be the final edge of C and the first edge of C. First, identify the up to two length-3 chains in 𝔼(ν) containing (s,t). Check each such chain in O(1) 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 4 in which (s,t) is an interior edge. Check, in O(1) time via Observation 21, whether both s and t lie in a unique region Rb. If so, perform an in-order traversal of 𝔼(ν) – moving up to O(k) steps left from s and up to O(k) steps right from t – to find the maximal contiguous chain with all edges dividing and interior vertices contained in V(Rb). The chain ends when we encounter an edge whose endpoints do not lie entirely in V(Rb). This identifies the unique candidate chain C of length 4 containing (s,t) as an interior edge. To find chains where (s,t) is the first or last edge, apply the above procedure to the edges immediately before and after (s,t).

Update time.

After each retrieval, we update bridges for all nodes along O(k) root-to-leaf paths in T. For each bridge (s,t), 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 F, respectively, in O(klog2m) time. Since the recourse per retrieval is O(klogm), this yields an overall update time of O(k2log3m).

Observation 26 (by Definition 9).

For any node νT, its bridge e(ν)=(s,t) is canonical in F if and only if both leaves containing s and t 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 O(klog2m) time, for each node νT a balanced binary tree Λ(ν) of all edges (s,t)𝔼(ν) that are non-canonical in F.

Proof.

Test, using Observation 26, whether any bridge is canonical in constant time. Since the recourse is O(klogm), the set of all bridges can be updated without incurring asymptotic overhead.

To maintain Λ(ν) for each node νT, we follow the technique from [20] for concatenable queues. For any node ν with child x, compute Λ(x) from (Λ(ν),e(ν),Λ(x)) in O(logm) time by splitting Λ(ν) at the bridge e(ν), and joining the result with Λ(x). Traverse all O(k) updated root-to-leaf paths, using the split operation, in O(klog2m) total time. Then, traverse the paths bottom-up. At each node ν with children x and y, we have access to the newly updated trees Λ(x) and Λ(y). Compute (Λ(ν),Λ(x),Λ(y)) by splitting Λ(x) and Λ(y) at the endpoints of the new bridge e(ν) and joining the result.

Corollary 28.

We can dynamically maintain in O(klog2m) time for each node νT a balanced binary tree on all edges (s,t)𝔼(ν) that are canonical but non-dividing in F.

Proof.

The set of bridges has O(klogm) recourse. Once a bridge is known to be canonical, we apply Observation 21 to determine the unique areas R(s) and R(t) containing s and t. We then test in constant time whether R(s) and R(t) are vertically separated, using stored x-coordinates. The tree is maintained using the same procedure as in Corollary 27.

Lemma 29.

For any νT, given e(ν)=(s,t) and 𝔼(ν), we may find the at most two contiguous subchains C of 𝔼(ν) with s,tC that are spanning in F in O(klogm) time.

Proof.

Apply Lemma 25 to obtain all O(1) candidate chains in 𝔼(ν) containing (s,t). Let C=(q,,r) be such a chain. To test whether C is spanning in F, use Observation 21 to find the unique regions R(q), Rb, and R(r). Construct OCH(R(q)R(r)) in O(klogk) time and perform a convex hull intersection test with Rb in O(logm) 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 O(k2log2m) time for each node νT a balanced binary tree of all subchains of 𝔼(ν) that are spanning in F.

Proof.

Whenever the set of leaves of a node νT changes (which occurs for O(klogm) nodes), invoke Lemma 29 on e(ν) to maintain all chains that are spanning in F (and contiguous subchains of CH(ν) but not of CH(x) or CH(y)). The balanced binary tree associated to 𝔼(ν) can be maintained in an identical manner as previous corollaries.

Lemma 31.

For any node νT and any edge (x,y)𝔼(ν), we can find all contiguous subchains of 𝔼(ν) that contain (x,y) and are hit in F in O(klog2m) time.

Proof.

Apply Lemma 25 to find all candidate chains containing (x,y). 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(s,t) is occupied as follows: Construct band(R(s),R(t)) in O(klogk) time [7]. Temporarily remove R(s) and R(t) from F, and delete s and t from V(F), in O(klog2m) time. Update the corresponding PHT T without updating auxiliary data. The hull CH(V(F){s,t}) is stored at the root of T. By intersection testing between band(R(s),R(t)) and CH(T) in O(logm) time [6], we can test if any hit chain is occupied.

Corollary 32.

We can dynamically maintain in O(k2log3m) time for each node νT a balanced binary tree of all subchains of 𝔼(ν) that are hit in F.

Proof.

As with Corollary 30, we invoke Lemma 31 on O(klogm) nodes where the leaf set changes. For each, we update the associated trees using split and join operations.

Theorem 33.

Let F be a family of n simple polygons, where each region in F has at most k vertices. We can preprocess F using O(kn) space and O(k2nlog3(kn)) time, such that given PF we reconstruct CH(P) using O(kn) space and O(r(F,P)k2log3(kn)) time.

Proof.

By Corollaries 27, 28, 30, and 32, we may maintain our augmented Partial Hull Tree in O(k2log3(kn)) 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 OCH(F) that are spanning in F, or hit in F. We observe that Algorithm 1 only considers occupied edges if all edges on OCH(F) 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 O(r(F,P)) 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 O(k) edges to find the largest candidate chain. By applying a technique similar to skip-lists, we improve its running time by a factor k. Secondly, our approach frequently uses a subroutine where for any two regions R(s) and R(t) we construct band(R(s),R(t)) in O(klogk) time. We show that by storing for each region Ri its convex hull, this construction time becomes polylogarithmic and we obtain the following:

Theorem 34.

Let F be a family of n simple polygons where each region in F has at most k vertices. We can preprocess F using O(knlogn) space and O(knlog3(kn)) time, such that given PF we reconstruct CH(P) using O(r(F,P)klog3(kn)) 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 O(𝑠𝑜𝑟𝑡(n)) 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 o(nlogn) 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.