Fast vertex guarding for polygons with and without holes

  • Authors:
  • James King

  • Affiliations:
  • Department of Mathematics, Imperial College London, United Kingdom

  • Venue:
  • Computational Geometry: Theory and Applications
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

For a polygon P with n vertices, the vertex guarding problem asks for the minimum subset G of P@?s 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(n^4) 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(n^5) 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(n^3) cells, improving the running time of the algorithm to O(n^4) for simple polygons. In this paper we observe that, since minimum visibility decompositions for simple polygons have only O(n^2) sinks (i.e., cells of minimal visibility) (Bose et al., 2000), the running time of the algorithm can be further improved to O(n^3). 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)n^3) cells and only O((h+1)^2n^2) 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.