The minimum convex cover problem seeks to cover a polygon $P$ with the fewest convex polygons that lie within $P$. This problem is $\exists\mathbb R$-complete, and the best previously known algorithm, due to Eidenbenz and Widmayer (2001), achieves an $O(\log n)$-approximation in $O(n^{29} \log n)$ time, where $n$ is the complexity of $P$. In this work we present a novel approach that preserves the $O(\log n)$ approximation guarantee while significantly reducing the running time. By discretizing the problem and formulating it as a set cover problem, we focus on efficiently finding a convex polygon that covers the largest number of uncovered regions, in each iteration of the greedy algorithm. This core subproblem, which we call the rotten potato peeling problem, is a variant of the classic potato peeling problem. We solve it by finding maximum weighted paths in Directed Acyclic Graphs (DAGs) that correspond to visibility polygons, with the DAG construction carefully constrained to manage complexity. Our approach yields a substantial improvement in the overall running time and introduces techniques that may be of independent interest for other geometric covering problems.
翻译:最小凸覆盖问题旨在用位于多边形 $P$ 内的最少凸多边形覆盖 $P$。该问题为 $\exists\mathbb R$-完全问题,此前已知的最佳算法由 Eidenbenz 与 Widmayer(2001)提出,可在 $O(n^{29} \log n)$ 时间内实现 $O(\log n)$ 近似比,其中 $n$ 为 $P$ 的复杂度。本文提出了一种新方法,在保持 $O(\log n)$ 近似保证的同时显著降低了运行时间。通过将问题离散化并建模为集合覆盖问题,我们专注于在贪心算法的每次迭代中高效寻找能覆盖最多未覆盖区域的凸多边形。这一核心子问题——我们称之为“烂土豆剥离问题”——是经典土豆剥离问题的变体。我们通过在与可视多边形对应的有向无环图(DAG)中寻找最大加权路径来求解该问题,并精心约束 DAG 的构建以控制复杂度。该方法大幅提升了整体运行时间,并引入了可能对其他几何覆盖问题具有独立参考价值的技术。