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$相互可见。艺术画廊问题旨在寻找能够完全监视$P$的最小规模守卫点集$G\subset P$。目前唯一能精确求解该问题的正确算法由Sharir提出,其采用代数方法。由于艺术画廊问题为ER完全问题,在缺乏附加假设的情况下,似乎难以避免使用代数方法。本文提出视觉稳定性概念。为描述视觉稳定性,考虑两种守卫:可"绕角"看到$\delta$角度的增强型守卫,以及因反射顶点"遮挡"而视角缩小$\delta$角度的削弱型守卫。若监视多边形$P$所需的最优增强型守卫数量与最优削弱型守卫数量相同,则称多边形$P$具有$\delta$视觉稳定性。我们将论证大多数相关多边形具有视觉稳定性。我们描述了一种一次性视觉稳定算法,该算法通过多项式时间求解一个整数规划,为视觉稳定多边形计算最优守卫集。该算法保证为每个视觉稳定多边形找到最优解。我们实现了迭代式视觉稳定算法,并证明其实际性能虽较慢,但与其他前沿算法相当。我们的迭代算法受一次性算法启发并严格遵循其框架,它推迟若干步骤并在必要时才执行计算。对于多边形的一条弦$c$,我们用$n(c)$表示从$c$可见的顶点数。多边形的弦宽定义为所有可能弦$c$对应的最大$n(c)$。视觉稳定多边形集合在以弦宽为参数时具有FPT算法。此外,当以反射顶点数为参数时,一次性算法可在FPT时间内运行。