Algorithms for Halfplane Coverage and Related Problems
Haitao Wang, Jie Xue
TL;DR
This work resolves the halfplane coverage problem by developing a unified framework that handles lower-only, star-shaped polygon, and general halfplanes. It introduces reductions to interval and circle (and circular-point) coverage, and uses envelope structures and ray-shooting in simple polygons to bound the algorithmic complexity. The results include an $O(n\log n)$ time solution for lower-only and star-shaped coverage, and a near-quadratic improvement for the general case with $O(n^{4/3}\log^{5/3} n\log^{O(1)}\log n)$ time; it also establishes an $\Omega(n\log n)$ lower bound, and shows how these techniques yield an $O(n\log n)$-time, instance-optimal $\\epsilon$-kernel computation in the plane. Altogether, the paper provides optimal or near-optimal algorithms for several core geometric coverage problems and confirms an open question on the kernel problem in two dimensions.
Abstract
Given in the plane a set of points and a set of halfplanes, we consider the problem of computing a smallest subset of halfplanes whose union covers all points. In this paper, we present an $O(n^{4/3}\log^{5/3}n\log^{O(1)}\log n)$-time algorithm for the problem, where $n$ is the total number of all points and halfplanes. This improves the previously best algorithm of $n^{10/3}2^{O(\log^*n)}$ time by roughly a quadratic factor. For the special case where all halfplanes are lower ones, our algorithm runs in $O(n\log n)$ time, which improves the previously best algorithm of $n^{4/3}2^{O(\log^*n)}$ time and matches an $Ω(n\log n)$ lower bound. Further, our techniques can be extended to solve a star-shaped polygon coverage problem in $O(n\log n)$ time, which in turn leads to an $O(n\log n)$-time algorithm for computing an instance-optimal $ε$-kernel of a set of $n$ points in the plane. Agarwal and Har-Peled presented an $O(nk\log n)$-time algorithm for this problem in SoCG 2023, where $k$ is the size of the $ε$-kernel; they also raised an open question whether the problem can be solved in $O(n\log n)$ time. Our result thus answers the open question affirmatively.
