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.
翻译:暂无翻译