In this paper, we study the Contiguous Art Gallery Problem, introduced by Thomas C. Shermer at the 2024 Canadian Conference on Computational Geometry, a variant of the classical art gallery problem from 1973 by Victor Klee. In the contiguous variant, the input is a simple polygon $P$, and the goal is to partition the boundary into a minimum number of polygonal chains such that each chain is visible to a guard. We present a polynomial-time real RAM algorithm, which solves the contiguous art gallery problem. Our algorithm is simple and practical, and we make a C++ implementation available. In contrast, many variations of the art gallery problem are at least NP-hard, making the contiguous variant stand out. These include the edge-covering problem, proven NP-hard by Laurentini [The Visual Computer 1999], and the classical art gallery problem, recently shown $\exists\mathbb{R}$-complete by Abrahamsen, Adamaszek, and Miltzow [J. ACM 2022]. Our algorithm is a greedy algorithm that repeatedly traverses the polygon's boundary. To find an optimal solution, we show that it is sufficient to traverse the polygon polynomially many times, resulting in a runtime of $\mathcal{O}\!\left( n^7 \log n \right)$. Additionally, we provide algorithms for the restricted settings, where either the endpoints of the polygonal chains or the guards must coincide with the vertices of the polygon.
翻译:本文研究了由Thomas C. Shermer在2024年加拿大计算几何会议上提出的连续艺术画廊问题,该问题是Victor Klee于1973年提出的经典艺术画廊问题的一个变体。在连续变体中,输入是一个简单多边形$P$,目标是将边界划分为最少数量的多边形链,使得每条链对至少一名守卫可见。我们提出了一种在实数RAM模型下的多项式时间算法,该算法能够解决连续艺术画廊问题。我们的算法简单实用,并提供了可用的C++实现。相比之下,艺术画廊问题的许多变体至少是NP难的,这使得连续变体显得尤为特殊。这些包括Laurentini在《The Visual Computer 1999》中证明为NP难的边覆盖问题,以及Abrahamsen、Adamaszek和Miltzow在《J. ACM 2022》中近期证明为$\exists\mathbb{R}$完全的经典艺术画廊问题。我们的算法是一种贪心算法,通过反复遍历多边形边界来求解。为找到最优解,我们证明只需对多边形进行多项式次数的遍历即可,从而获得$\mathcal{O}\!\left( n^7 \log n \right)$的时间复杂度。此外,我们还针对限制性场景提供了算法,其中多边形链的端点或守卫必须与多边形的顶点重合。