For a polygon P with n vertices, the vertex guarding problem asks for the minimum subset G of Ps vertices such that every point in P is seen by at least one point in G. This problem is NP-complete and APX-hard. The first approximation algorithm (Ghosh, 1987) involves decomposing P into O( n4) cells that are equivalence classes for visibility from the vertices of P. This discretized problem can then be treated as an instance of Set Cover and solved in O( n5) time with a greedy O(logn)- approximation algorithm. Ghosh (2010) recently revisited the algorithm, noting that minimum visibility decompositions for simple polygons (Bose et al., 2000) have only O( n3) cells, improving the running time of the algorithm to O( n4) for simple polygons. In this paper we observe that, since minimum visibility decompositions for simple polygons have only O( n2) sinks (i.e., cells of minimal visibility) (Bose et al., 2000), the running time of the algorithm can be further improved to O( n3). We then extend the result of Bose et al. to polygons with holes, showing that a minimum visibility decomposition of a polygon with h holes has only O((h+1) n3) cells and only O(( h+1)2n2) cells of minimal visibility. We exploit this result to obtain a faster algorithm for vertex guarding polygons with holes. We then show that, in the same time complexity, we can attain approximation factors of O(loglogopt) for simple polygons and O((1+log(h+1))logopt) for polygons with holes. © 2012 Elsevier B.V.
King, J. (2013). Fast vertex guarding for polygons with and without holes. Computational Geometry: Theory and Applications, 46(3), 219–231. https://doi.org/10.1016/j.comgeo.2012.07.004