Table of Contents
Fetching ...

Engineering Fully Dynamic Convex Hulls

Ivor van der Hoog, Henrik Reinstädtler, Eva Rotenberg

Abstract

We present a new fully dynamic algorithm for maintaining convex hulls under insertions and deletions while supporting geometric queries. Our approach combines the logarithmic method with a deletion-only convex hull data structure, achieving amortised update times of $O(\log n \log \log n)$ and query times of $O(\log^2 n)$. We provide a robust and non-trivial implementation that supports point-location queries, a challenging and non-decomposable class of convex hull queries. We evaluate our implementation against the state of the art, including a new naive baseline that rebuilds the convex hull whenever an update affects it. On hulls that include polynomially many data points (e.g. $Θ(n^\varepsilon)$ for some $\varepsilon$), such as the ones that often occur in practice, our method outperforms all other techniques. Update-heavy workloads strongly favour our approach, which is in line with our theoretical guarantees. Yet, our method remains competitive all the way down to when the update to query ratio is $1$ to $10$. Experiments on real-world data sets furthermore reveal that existing fully dynamic techniques suffer from significant robustness issues. In contrast, our implementation remains stable across all tested inputs.

Engineering Fully Dynamic Convex Hulls

Abstract

We present a new fully dynamic algorithm for maintaining convex hulls under insertions and deletions while supporting geometric queries. Our approach combines the logarithmic method with a deletion-only convex hull data structure, achieving amortised update times of and query times of . We provide a robust and non-trivial implementation that supports point-location queries, a challenging and non-decomposable class of convex hull queries. We evaluate our implementation against the state of the art, including a new naive baseline that rebuilds the convex hull whenever an update affects it. On hulls that include polynomially many data points (e.g. for some ), such as the ones that often occur in practice, our method outperforms all other techniques. Update-heavy workloads strongly favour our approach, which is in line with our theoretical guarantees. Yet, our method remains competitive all the way down to when the update to query ratio is to . Experiments on real-world data sets furthermore reveal that existing fully dynamic techniques suffer from significant robustness issues. In contrast, our implementation remains stable across all tested inputs.

Paper Structure

This paper contains 32 sections, 1 theorem, 9 figures, 1 table.

Key Result

Theorem 1

The above procedure takes amortised $O(n \log n \log \log n )$ time. $\blacktriangleleft$$\blacktriangleleft$

Figures (9)

  • Figure 1: Comparing update times in nanoseconds of our algorithms on real-world data.
  • Figure 2: Comparing update times in nanoseconds of our algorithms on real-world data.
  • Figure 3: Time in nanoseconds per deletion (left) or queries (right) on all four synthetic data sets.
  • Figure 4: We plot the mean time in nanoseconds as we increase the ratio insertions:deletions:queries as $1:1:x$. We show the outcomes for the Disk data (left) and Circle data (right)
  • Figure 5: We plot the median time taken by an operation, where operations have a 1:1:1 ratio between insertions, deletions and queries. We show this plot for each of our four synthetic data generators as the input sizes increase.
  • ...and 4 more figures

Theorems & Definitions (1)

  • Theorem 1