Worst-case-optimal algorithms for guarding planar graphs and polyhedral surfaces
We present an optimal Θ(n)-time algorithm for the selection of a subset of the vertices of an n-vertex plane graph G so that each of the faces of G is covered by (i.e., incident with) one or more of the selected vertices. At most ⌊n/2⌋ vertices are selected, matching the worst-case requirement. Analogous results for edge-covers are developed for two different notions of "coverage". In particular, our linear-time algorithm selects at most n-2 edges to strongly cover G, at most ⌊n/3⌋ diagonals to cover G, and in the case where G has no quadrilateral faces, at most ⌊n/3⌋ edges to cover G. All these bounds are optimal in the worst-case. Most of our results flow from the study of a relaxation of the familiar notion of a 2-coloring of a plane graph which we call a face-respecting 2-coloring that permits monochromatic edges as long as there are no monochromatic faces. Our algorithms apply directly to the location of guards, utilities or illumination sources on the vertices or edges of polyhedral terrains, polyhedral surfaces, or planar subdivisions.
Bose, P, Kirkpatrick, D. (David), & Li, Z. (Zaiqing). (2003). Worst-case-optimal algorithms for guarding planar graphs and polyhedral surfaces. Computational Geometry, 26(3), 209–219. doi:10.1016/S0925-7721(03)00027-0