We explore the problem of $M$-guarding polygons with holes using $k$-visibility guards, where a set of guards is said to $M$-guard a polygon if every point in the polygon is visible to at least $M$ guards, with the constraint that there may only be 1 guard on each edge. A $k$-visibility guard can see through up to $k$ walls, with $k \geq 2$. We present a theorem establishing that any polygon with holes can be 2-guarded under $k$-visibility where $k \geq 2$, which expands existing results in 0-visibility. We provide an algorithm that $M$-guards a polygon using a convex decomposition of the polygon. We show that every point in the polygon is visible to at least four $2$-visibility guards and then extend the result to show that for any even $k \geq 2$ there exists a placement of guards such that every point in the polygon is visible to $k + 2$ guards.
翻译:本文探讨了使用k-可见性守卫对带孔多边形进行M-守卫的问题。当多边形中每个点至少对M个守卫可见时,称该守卫集合实现了对多边形的M-守卫,且约束条件为每条边上最多只能部署1个守卫。k-可见性守卫能够穿透最多k堵墙(k≥2)。我们提出了一个定理,证明任意带孔多边形在k≥2的k-可见性条件下均可实现2-守卫,这扩展了现有0-可见性条件下的研究成果。我们提出了一种基于多边形凸分解的M-守卫算法,证明了多边形内每个点至少对四个2-可见性守卫可见,并进一步将结果推广至任意偶数k≥2的情况:存在一种守卫部署方案,使得多边形内每个点至少对k+2个守卫可见。