A Practical Algorithm with Performance Guarantees for the Art Gallery Problem
Simon Hengeveld, Tillmann Miltzow
TL;DR
This work addresses the classical art gallery problem by introducing vision-stability, a condition under which enhanced and diminished visibility yield the same optimal guard count. Under vision-stability, the authors derive a polynomial-size candidate set from reflex-vertex arrangements and present a one-shot algorithm that computes an exact guard set by solving a single integer program, with preprocessing time polylogarithmic in the input size. They further develop an iterative vision-stable algorithm that uses a coarse refinement strategy, a weak-visibility polygon tree, and critical witnesses to achieve practical performance comparable to state-of-the-art methods, while preserving theoretical guarantees. The paper also introduces the chord-visibility width as a parameter yielding fixed-parameter tractable (FPT) algorithms for both vertex-guarding and the classic art gallery problem under vision-stability, and provides extensive experimental results showing convergence toward the optimum and the impact of speed-up techniques. Overall, the work narrows the theory–practice gap for the art gallery problem by linking vision-stability to discretization-based exact solutions and giving a scalable, implementable framework with provable guarantees under realistic assumptions, complemented by strong empirical validation.
Abstract
Given a closed simple polygon $P$, we say two points $p,q$ see each other if the segment $pq$ is fully contained in $P$. The art gallery problem seeks a minimum size set $G\subset P$ of guards that sees $P$ completely. The only currently correct algorithm to solve the art gallery problem exactly uses algebraic methods and is attributed to Sharir. As the art gallery problem is ER-complete, it seems unlikely to avoid algebraic methods, without additional assumptions. In this paper, we introduce the notion of vision stability. In order to describe vision stability consider an enhanced guard that can see "around the corner" by an angle of $δ$ or a diminished guard whose vision is by an angle of $δ$ "blocked" by reflex vertices. A polygon $P$ has vision stability $δ$ if the optimal number of enhanced guards to guard $P$ is the same as the optimal number of diminished guards to guard $P$. We will argue that most relevant polygons are vision stable. We describe a one-shot vision stable algorithm that computes an optimal guard set for visionstable polygons using polynomial time and solving one integer program. It guarantees to find the optimal solution for every vision stable polygon. We implemented an iterative visionstable algorithm and show its practical performance is slower, but comparable with other state of the art algorithms. Our iterative algorithm is inspired and follows closely the one-shot algorithm. It delays several steps and only computes them when deemed necessary. Given a chord $c$ of a polygon, we denote by $n(c)$ the number of vertices visible from $c$. The chord-width of a polygon is the maximum $n(c)$ over all possible chords $c$. The set of vision stable polygons admits an FPT algorithm when parametrized by the chord-width. Furthermore, the one-shot algorithm runs in FPT time, when parameterized by the number of reflex vertices.
