Fast Approximation Algorithms for Piercing Boxes by Points
arXiv:2311.02050
Abstract
$\newcommand{\popt}{\mathcal{p}} \newcommand{\Re}{\mathbb{R}}\newcommand{\N}{\mathcal{N}} \newcommand{\BX}{\mathcal{B}} \newcommand{\bb}{\mathsf{b}} \newcommand{\eps}{\varepsilon} \newcommand{\polylog}{\mathrm{polylog}} $ Let be a set of axis-aligned boxes in where is a constant. The \emph{piercing problem} is to compute a smallest set of points that hits every box in , i.e., , for . Let $\popt=\popt(\mathcal{B})$, the \emph{piercing number} be the minimum size of a piercing set of . We present a randomized $O(d^2\log\log \popt)$-approximation algorithm with expected running time $O(n^{d/2}\polylog n)$. Next, we present a faster -time algorithm but with a slightly inferior approximation factor of $O(2^{4d}\log\log\popt)$. The running time of both algorithms can be improved to near-linear using a sampling-based technique, if $\popt = O(n^{1/d})$. For the dynamic version of the problem in the plane, we obtain a randomized $O(\log\log\popt)$-approximation algorithm with $O(n^{1/2}\polylog n )$ amortized expected update time for insertion or deletion of boxes. For squares in , the update time can be improved to $O(n^{1/3}\polylog n )$.
Appeared in SODA 2024