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 $\delta$ or a diminished guard whose vision is by an angle of $\delta$ "blocked" by reflex vertices. A polygon $P$ has vision stability $\delta$ 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.
翻译:给定一个封闭简单多边形 $P$,若线段 $pq$ 完全包含于 $P$ 中,则称两点 $p,q$ 彼此可见。艺术画廊问题旨在寻找一个最小规模的守卫集合 $G \subset P$,使其能完全监控 $P$。当前唯一能精确求解艺术画廊问题的正确算法采用代数方法,归功于 Sharir。由于艺术画廊问题是 ER-完全的,若无额外假设,似乎难以避开代数方法。本文引入了视觉稳定性概念。为描述视觉稳定性,考虑一种增强型守卫,其能以 $\delta$ 角度“绕过拐角”观察,或一种减弱型守卫,其视角因反射顶点而被“阻挡”$\delta$ 角度。若多边形 $P$ 在最优增强型守卫数量与最优减弱型守卫数量相等时,称 $P$ 具有视觉稳定性 $\delta$。我们将论证大多数相关多边形具有视觉稳定性。我们描述了一种一次性视觉稳定算法,该算法通过在多项式时间内求解一个整数规划,为视觉稳定多边形计算最优守卫集。该算法保证为每个视觉稳定多边形找到最优解。我们实现了迭代式视觉稳定算法,并表明其实际性能较慢,但与其他前沿算法相当。我们的迭代算法受一次性算法启发并紧密遵循其思路,它延迟了若干步骤,仅在必要时才执行计算。对于多边形的一条弦 $c$,记 $n(c)$ 为从 $c$ 可见的顶点数。多边形的弦宽定义为所有可能弦 $c$ 上 $n(c)$ 的最大值。视觉稳定多边形集在以弦宽为参数时存在 FPT 算法。此外,一次性算法在以反射顶点数为参数时运行于 FPT 时间。