On the Line-Separable Unit-Disk Coverage and Related Problems
Gang Liu, Haitao Wang
TL;DR
This work studies the line-separable disk coverage problem, focusing on unit disks and related line-constrained and half-plane variants. The authors develop an exact algorithm that prunes useless disks, reduces the problem to a 1D interval-coverage instance, and leverages efficient data structures to achieve $O((n+m) log(n+m))$ time in the unit-disk case and $O((n+m) log(m+n)+m log m log n)$ in the line-constrained setting, with algebraic-decision-tree comparisons yielding the same asymptotic bound. They also map half-plane coverage to the line-separable framework, obtaining $O((n+m) log(m+n))$ for lower-half-plane cases and improved bounds in the general two-sided setting, including $O(n^3\nlog n)$ when $m=n$. A key contribution is the non-containment-based pruning and the reduction to 1D coverage, enabling efficient exact solutions in regimes previously dominated by slower methods. These results advance exact geometric covering algorithms and have practical impact for related coverage problems and their machine-interpretation implications.
Abstract
Given a set $P$ of $n$ points and a set $S$ of $m$ disks in the plane, the disk coverage problem asks for a smallest subset of disks that together cover all points of $P$. The problem is NP-hard. In this paper, we consider a line-separable unit-disk version of the problem where all disks have the same radius and their centers are separated from the points of $P$ by a line $\ell$. We present an $O((n+m)\log(n+m))$ time algorithm for the problem. This improves the previously best result of $O(nm+ n\log n)$ time. Our techniques also solve the line-constrained version of the problem, where centers of all disks of $S$ are located on a line $\ell$ while points of $P$ can be anywhere in the plane. Our algorithm runs in $O((n+m)\log (m+ n)+m \log m\log n)$ time, which improves the previously best result of $O(nm\log(m+n))$ time. In addition, our results lead to an algorithm of $O(n^3\log n)$ time for a half-plane coverage problem (given $n$ half-planes and $n$ points, find a smallest subset of half-planes covering all points); this improves the previously best algorithm of $O(n^4\log n)$ time. Further, if all half-planes are lower ones, our algorithm runs in $O(n\log n)$ time while the previously best algorithm takes $O(n^2\log n)$ time.
