Skip to main content

On Half Guarding Polygons

  • Conference paper
  • First Online:
Combinatorial Optimization and Applications (COCOA 2023)

Abstract

Given a polygon P and a set of potential guard locations \(G \in P\), the art gallery problem asks for the minimum number of guards needed to guard the polygon. The art gallery problem with different types of polygons has been studied extensively. Variants of the art gallery problem have also been studied including limiting the polygon to be a monotone or an orthogonal polygon. Limitations have also been applied to the guard where a guard cannot see 360° and even limitations on the distance a guard can see.

In this paper, we study the art gallery problem using half guards (guards that see 180°) in various settings. We show that the VC dimension of half guarding a terrain is exactly 2 or 3, depending on certain assumptions, and exactly 4 with half guarding a monotone polygon where all critical points are located on the boundary. We provide so-called art gallery theorems for half guards with different polygon types. Finally, we provide a linear time exact algorithm for half guarding a spiral polygon.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Abdelkader, A., Saeed, A., Harras, K.A., Mohamed, A.: The inapproximability of illuminating polygons by \(\alpha \)-floodlights. In: CCCG, pp. 287–295 (2015)

    Google Scholar 

  2. Abello, J., Estivill-Castro, V., Shermer, T.C., Urrutia, J.: Illumination of orthogonal polygons with orthogonal floodlights. Int. J. Comput. Geom. Appl. 8(1), 25–38 (1998)

    Article  MathSciNet  Google Scholar 

  3. Bose, P., Guibas, L.J., Lubiw, A., Overmars, M.H., Souvaine, D.L., Urrutia, J.: The floodlight problem. Int. J. Comput. Geom. Appl. 7(1/2), 153–163 (1997)

    Article  MathSciNet  Google Scholar 

  4. Ghosh, S.K.: On recognizing and characterizing visibility graphs of simple polygons. In: SWAT, pp. 96–104 (1988)

    Google Scholar 

  5. Ghosh, S.K.: On recognizing and characterizing visibility graphs of simple polygons. Discr. Comput. Geomet. 17(2), 143–162 (1997)

    Article  MathSciNet  Google Scholar 

  6. Gibson, M., Krohn, E., Rayford, M.: Guarding monotone polygons with half-guards. In: CCCG, pp. 168–173 (2017)

    Google Scholar 

  7. Gibson, M., Krohn, E., Wang, Q.: On the VC-dimension of visibility in monotone polygons. In: CCCG (2014)

    Google Scholar 

  8. Gibson, M., Krohn, E., Wang, Q.: The VC-dimension of visibility on the boundary of a simple polygon. In: Elbassioni, K., Makino, K. (eds.) ISAAC 2015. LNCS, vol. 9472, pp. 541–551. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48971-0_46

    Chapter  Google Scholar 

  9. Gibson, M., Krohn, E., Wang, Q.: The VC-dimension of visibility on the boundary of monotone polygons. Comput. Geom. 77, 62–72 (2019)

    Article  MathSciNet  Google Scholar 

  10. Gibson-Lopez, M., Yang, Z.: The VC-dimension of limited visibility terrains. In: ISAAC, vol. 212, pp. 1–17. Dagstuhl, Germany (2021)

    Google Scholar 

  11. Gilbers, A., Klein, R.: A new upper bound for the VC-dimension of visibility regions. Comput. Geom. 47(1), 61–74 (2014)

    Article  MathSciNet  Google Scholar 

  12. Hillberg, H.M., Krohn, E., Pahlow, A.: On the complexity of half-guarding monotone polygons. In: Castaneda, A., Rodríguez-Henríquez, F. (eds.) LATIN 2022: Theoretical Informatics. LATIN 2022. LNCS, vol. 13568. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-20624-5_46

  13. Kahn, J., Klawe, M., Kleitman, D.: Traditional galleries require fewer watchmen. SIAM J. Algebr. Discrete Methods 4(2), 194–206 (1983)

    Article  MathSciNet  Google Scholar 

  14. King, J.: VC-dimension of visibility on terrains. In: CCCG (2008)

    Google Scholar 

  15. Krohn, E., Nilsson, B.J.: The complexity of guarding monotone polygons. In: CCCG, vol. 2012, pp. 167–172 (2012)

    Google Scholar 

  16. Krohn, E., Nilsson, B.J.: Approximate guarding of monotone and rectilinear polygons. Algorithmica 66(3), 564–594 (2013)

    Article  MathSciNet  Google Scholar 

  17. Krohn, E.A., Nilsson, B.J.: Approximate guarding of monotone and rectilinear polygons. Algorithmica, pp. 1–31 (2012)

    Google Scholar 

  18. Nilsson, B., Wood, D.: Optimum watchmen routes in spiral polygons. In: CCCG, pp. 269–272 (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Erik Krohn .

Editor information

Editors and Affiliations

Appendix

Appendix

1.1 VC dimension Monotone Polygons

The following proofs and cases are provided for completeness.

Fig. 18.
figure 18

Visualization of Case 1c

Fig. 19.
figure 19

Visualization of Case 1d

Proof

(Proof of Lemma 1) W.l.o.g., assume st and u are on the ceiling. If a point \(p'\) on the ceiling is used to block s from v such that \(s.x < p'.x < u.x\), then s is blocked from u. If a point \(p'\) on the ceiling is used to block s from v such that \(t.x < p'.x < v.x\), then t is blocked from v. If the ceiling wraps underneath v to block s from v, then the polygon is not monotone. Therefore, if s does not see v, the floor must block it.

Proof

(Proof of Lemma 2) W.l.o.g, assume that p is on the ceiling and the floor is blocking p from q. Let o be some point in [lp]. The \(\overrightarrow{oq}\) ray lies in between the \(\overrightarrow{pq}\) ray and the floor. If this were not the case, then p would have blocked o from q. If the floor blocks p from q, the \(\overrightarrow{oq}\) ray must also go through the floor and therefore, q must also be blocked from o.

Case 2: In this case, \(\{A,E\}\) are on the floor (resp. ceiling) and \(\{B,C,D\}\) are on the opposite side. In this case, it is impossible to place both vp(BDE) and vp(ACD).

Case 2a: The viewpoint vp(ACD) is on the ceiling to the left of vp(BDE) or on same line as vp(BDE). We consider how C is blocked from vp(BDE). We can’t block C from vp(BDE) with the ceiling by Lemma 1, where \(s=C,t=D,u=vp(ACD),v=vp(BDE)\). If we try to block C from vp(BDE) using the floor, we end up blocking B from vp(BDE) by Lemma 2 with \(o=B,p=C,q=vp(BDE)\)).

Case 2b: The viewpoint vp(BDE) is on the ceiling to the left of vp(ACD), or on same line as vp(ACD). By Lemma 1 with \(s=B,t=C,u=vp(BDE),v=vp(ACD)\), we must use the floor to block B from vp(ACD). However, if we use the floor to block B from vp(ACD), then by Lemma 2 with \(o=A,p=B,q=vp(ACD)\), the A guard is blocked from seeing vp(ACD).

Case 2c: The viewpoint vp(ACD) on floor to the left of vp(BDE). In this case, we consider how B is blocked from vp(ACD). If the ceiling blocks B from vp(ACD), then by Corollary 1 with \(t=B,u=vp(ACD)\), B does not see vp(BDE). If the floor blocks B from vp(ACD), then by Lemma 2 with \(o=A,p=B,q=vp(ACD)\), the A guard does not see vp(ACD).

Fig. 20.
figure 20

Visualization of Case 2a

Fig. 21.
figure 21

Visualization of Case 2b

Fig. 22.
figure 22

Visualization of Case 2c

Fig. 23.
figure 23

Visualization of Case 2d

Case 2d: The viewpoint vp(BDE) is on floor to the left of vp(ACD). In this case, consider how C is blocked from seeing vp(BDE). If the floor blocks C from seeing vp(BDE), then by Lemma 2 with \(o=B,p=C,q=vp(BDE)\), B would not see vp(BDE). If the ceiling blocks C from vp(BDE), then by Corollary 1 with \(t=C,u=vp(BDE)\), C would not see vp(ACD).

Case 3: In this case, \(\{C,E\}\) are on the floor (resp. ceiling) and \(\{A,B,D\}\) are on the opposite side. In this case, it is impossible to place both vp(ADE) and vp(BCDE).

Case 3a: The viewpoint vp(ADE) on ceiling to the left of vp(BCDE). In this case, we consider how C is blocked from vp(ADE). If the floor blocks C from vp(ADE), then by Corollary 1 with \(t=C,u=vp(ADE)\), C does not see vp(BCDE). If the ceiling blocks C from vp(ADE), then by Lemma 2 with \(o=A,p=C,q=vp(ADE)\), the A guard does not see vp(ADE).

Fig. 24.
figure 24

Visualization of Case 3a

Fig. 25.
figure 25

Visualization of Case 3b

Case 3b: The viewpoint vp(BCDE) is on the ceiling to the left of vp(ADE), or on same line as vp(BCDE). By Lemma 1 with \(s=B;t=D;u=vp(BCDE);v=vp(ADE)\), we must use the floor to block B from vp(ADE). However, if we use the floor to block B from vp(ADE), then by Lemma 2 with \(o=A,p=B,q=vp(ADE)\), the A guard is blocked from seeing vp(ADE).

Case 3c: The viewpoint vp(ADE) on floor to the left of vp(BCDE). In this case, we consider how B is blocked from vp(ADE). If the floor blocks B from vp(ADE), then by Corollary 1 with \(t=B,u=vp(ADE)\), A does not see vp(ADE). If the ceiling blocks B from vp(ADE), then by Lemma 2 with \(o=A,p=B,q=vp(ADE)\), the B guard does not see vp(BCDE).

Fig. 26.
figure 26

Visualization of Case 3c

Fig. 27.
figure 27

Visualization of Case 3d

Case 3d: The viewpoint vp(BCDE) is on the floor to the left of vp(ADE), or on same line as vp(BCDE). By Lemma 1 with \(s=C;t=E;u=vp(BCDE);v=vp(ADE)\), we must use the ceiling to block C from vp(ADE). However, if we use the ceiling to block C from vp(ADE), then by Lemma 2 with \(o=A,p=C,q=vp(ADE)\), the A guard is blocked from seeing vp(ADE).

Case 4: Any four guards are on the same side. For example, \(\{A,B,C,D\}\) are on the floor (resp. ceiling). Then it is impossible to place both vp(ACD) and vp(ABD).

Case 4a: The viewpoint vp(ACD) on ceiling to the left of vp(ABD). In this case, we consider how B is blocked from vp(ACD). If the floor blocks B from vp(ACD), then by Corollary 1 with \(t=B,u=vp(ACD)\), B does not see vp(ABD). If the ceiling blocks B from vp(ACD), then by Lemma 2 with \(o=A,p=B,q=vp(ACD)\), the A guard does not see vp(ACD).

Fig. 28.
figure 28

Visualization of Case 4a

Fig. 29.
figure 29

Visualization of Case 4b

Fig. 30.
figure 30

Visualization of Case 4c

Fig. 31.
figure 31

Visualization of Case 4d

Case 4b: The viewpoint vp(ABD) on ceiling to the left of vp(ACD). In this case, we consider how C is blocked from vp(ABD). If the floor blocks C from vp(ABD), then by Corollary 1 with \(t=C,u=vp(ABD)\), C does not see vp(ACD). If the ceiling blocks C from vp(ABD), then by Lemma 2 with \(o=A,p=C,q=vp(ABD)\), the A guard does not see vp(ABD).

Case 4c: The viewpoint vp(ABD) is on the floor to the left of vp(ACD), or on same line as vp(ACD). By Lemma 1 with \(s=B;t=C;u=vp(ABD);v=vp(ACD)\), we must use the ceiling to block B from vp(ACD). However, if we use the ceiling to block B from vp(ACD), then by Lemma 2 with \(o=A,p=B,q=vp(ACD)\), the A guard is blocked from seeing vp(ACD).

Case 4d: The viewpoint vp(ACD) is on the floor to the left of vp(ABD), or on same line as vp(ABD). By Lemma 1 with \(s=C;t=D;u=vp(ACD);v=vp(ABD)\), we must use the ceiling to block C from vp(ABD). However, if we use the ceiling to block C from vp(ABD), then by Lemma 2 with \(o=A,p=C,q=vp(ABD)\), the A guard is blocked from seeing vp(ABD).

Case 5: In this case, \(\{A,B\}\) are on the floor (resp. ceiling) and \(\{C,D\}\) is on the opposite side. In this case, it is impossible to place both vp(BCE) and vp(ADE).

Case 5a: The viewpoint vp(BCE) on ceiling to the left of vp(ADE), or on same line as vp(ADE). By Lemma 1 with \(s=C;t=D;u=vp(BCE);v=vp(ADE)\), we must use the ceiling to block C from vp(ADE). However, if we use the floor to block C from vp(ADE), then by Lemma 2 with \(o=A;p=C; q=vp(ADE)\), the A guard is blocked from seeing vp(ADE).

Case 5b: The viewpoint vp(ADE) on ceiling to the left of vp(BCE). In this case, we consider how B is blocked from vp(ADE). If the floor blocks B from vp(ADE), then by Corollary 1 with \(t=B,u=vp(ADE)\), B does not see vp(BCE). If the ceiling blocks B from vp(ADE), then by Lemma 2 with \(o=A,p=B,q=vp(ADE)\), the A guard does not see vp(ADE).

Case 5c: The viewpoint vp(ADE) on floor to the left of vp(BCE). In this case, we consider how C is blocked from vp(ADE). If the ceiling blocks C from vp(ADE), then by Corollary 1 with \(t=C,u=vp(ADE)\), C does not see vp(BCE). If the floor blocks C from vp(ADE), then by Lemma 2 with \(o=A,p=C,q=vp(ADE)\), the A guard does not see vp(ADE).

Fig. 32.
figure 32

Visualization of Case 5a

Fig. 33.
figure 33

Visualization of Case 5b

Fig. 34.
figure 34

Visualization of Case 5c

Fig. 35.
figure 35

Visualization of Case 5d

Case 5d: The viewpoint vp(BCE) on floor to the left of vp(ADE). In this case, we consider how D is blocked from vp(BCE). If the ceiling blocks D from vp(BCE), then by Corollary 1 with \(t=D,u=vp(BCE)\), D does not see vp(ADE). If the floor blocks D from vp(BCE), then by Lemma 2 with \(o=C,p=D,q=vp(BCE)\), the A guard does not see vp(ADE).

Case 6: In this case, \(\{A,D\}\) are on the floor (resp. ceiling) and \(\{B.C\}\) is on the opposite side. In this case, it is impossible to place both vp(BDE) and vp(ACE).

Case 6a: The viewpoint vp(ACE) on ceiling to the left of vp(BDE). In this case, we consider how D is blocked from vp(ACE). If the floor blocks D from vp(ACE), then by Corollary 1 with \(t=D,u=vp(ACE)\), D does not see vp(BDE). If the ceiling blocks D from vp(ACE), then by Lemma 2 with \(o=A,p=D,q=vp(ACE)\), the A guard does not see vp(ACE).

Case 6b: The viewpoint vp(BDE) on ceiling to the left of vp(ACE), or on same line as vp(ACE). By Lemma 1 with \(s=B;t=C;u=vp(BDE);v=vp(ACE)\), we must use the floor to block B from vp(ACE). However, if we use the floor to block B from vp(ACE), then by Lemma 2 with \(o=A;p=B; q=vp(ACE)\), the A guard is blocked from seeing vp(ACE).

Fig. 36.
figure 36

Visualization of Case 6a

Fig. 37.
figure 37

Visualization of Case 6b

Case 6c: The viewpoint vp(BDE) on floor to the left of vp(ACE). In this case, we consider how C is blocked from vp(BDE). If the ceiling blocks C from vp(BDE), then by Corollary 1 with \(t=C,u=vp(BDE)\), C does not see vp(ACE). If the ceiling blocks C from vp(BDE), then by Lemma 2 with \(o=B,p=C,q=vp(BDE)\), the B guard does not see vp(BDE).

Fig. 38.
figure 38

Visualization of Case 6c

Fig. 39.
figure 39

Visualization of Case 6d

Case 6d: The viewpoint vp(ACE) on floor to the left of vp(BDE). In this case, we consider how B is blocked from vp(ACE). If the ceiling blocks B from vp(ACE), then by Corollary 1 with \(t=B,u=vp(ACE)\), B does not see vp(BDE). If the floor blocks B from vp(ACE), then by Lemma 2 with \(o=A,p=B,q=vp(ACE)\), the A guard does not see vp(ACE).

Case 7: \(\{B,E\}\) are on the floor and \(\{A,C,D\}\) are on the ceiling. Then it is impossible to place both vp(BCE) and vp(ADE).

Case 7a: The viewpoint vp(BCE) on ceiling to the left of vp(ADE), or on same line as vp(ADE). By Lemma 1 with \(s=C;t=D;u=vp(BCE);v=vp(ADE)\), we must use the floor to block C from vp(ADE). However, if we use the floor to block C from vp(ADE), then by Lemma 2 with \(o=A;p=C; q=vp(ADE)\), the A guard is blocked from seeing vp(ADE).

Case 7b: The viewpoint vp(ADE) on ceiling to the left of vp(BCE). In this case, we consider how B is blocked from vp(ADE). If the floor blocks B from vp(ADE), then by Corollary 1 with \(t=B,u=vp(ADE)\), B does not see vp(BCE). If the ceiling blocks B from vp(ADE), then by Lemma 2 with \(o=A,p=B,q=vp(ADE)\), the A guard does not see vp(ADE).

Fig. 40.
figure 40

Visualization of Case 7a

Fig. 41.
figure 41

Visualization of Case 7b

Case 7c: The viewpoint vp(BCE) on floor to the left of vp(ADE), or on same line as vp(ADE). By Lemma 1 with \(s=B;t=E;u=vp(BCE);v=vp(ADE)\), we must use the ceiling to block B from vp(ADE). However, if we use the ceiling to block B from vp(ADE), then by Lemma 2 with \(o=A;p=B; q=vp(ADE)\), the A guard is blocked from seeing vp(ADE).

Fig. 42.
figure 42

Visualization of Case 7c

Fig. 43.
figure 43

Visualization of Case 7d

Case 7d: The viewpoint vp(ADE) on floor to the left of vp(BCE). In this case, we consider how C is blocked from vp(ADE). If the ceiling blocks C from vp(ADE), then by Corollary 1 with \(t=C,u=vp(ADE)\), C does not see vp(BCE). If the floor blocks C from vp(ADE), then by Lemma 2 with \(o=A,p=C,q=vp(ADE)\), the A guard does not see vp(ADE).

Case 8: \(\{A,B,C\}\) are on the floor and \(\{D,E\}\) are on the ceiling. Then it is impossible to place both vp(ACE) and vp(BDE).

Case 8a: The viewpoint vp(BDE) on the ceiling to the left of vp(ACE). In this case, we consider how C is blocked from vp(BDE). If the floor blocks C from vp(BDE), then by Corollary 1 with \(t=C,u=vp(BDE)\), C does not see vp(ACE). If the ceiling blocks C from vp(BDE), then by Lemma 2 with \(o=B,p=C,q=vp(BDE)\), the B guard does not see vp(BDE).

Fig. 44.
figure 44

Visualization of Case 8a

Fig. 45.
figure 45

Visualization of Case 8b

Case 8b: The viewpoint vp(ACE) on the ceiling to the left of vp(BDE). In this case, we consider how B is blocked from vp(ACE). If the floor blocks B from vp(ACE), then by Corollary 1 with \(t=B,u=vp(ACE)\), B does not see vp(BDE). If the ceiling blocks B from vp(ACE), then by Lemma 2 with \(o=A,p=B,q=vp(ACE)\), the A guard does not see vp(ACE).

Case 8c: The viewpoint vp(ACE) on the floor to the left of vp(BDE). In this case, we consider how D is blocked from vp(ACE). If the ceiling blocks D from vp(ACE), then by Corollary 1 with \(t=D,u=vp(ACE)\), D does not see vp(BDE). If the floor blocks D from vp(ACE), then by Lemma 2 with \(o=A,p=D,q=vp(ACE)\), the A guard does not see vp(ACE).

Fig. 46.
figure 46

Case 8c

Fig. 47.
figure 47

Case 8d

Case 8d: The viewpoint vp(BDE) on floor to the left of vp(ACE), or on same line as vp(ACE). By Lemma 1 with \(s=B;t=C;u=vp(BDE);v=vp(ACE)\), we must use the ceiling to block B from vp(ACE). However, if we use the ceiling to block B from vp(ACE), then by Lemma 2 with \(o=A;p=B; q=vp(ACE)\), the A guard is blocked from seeing vp(ACE).

1.2 Half Guarding Spiral Polygon

In this section, we provide a simple proof for guarding a spiral polygon that does not contain any vertical edges.

Proof

(Proof of Lemma 4). Let pq and r be 3 points on the inner boundary such that \(i_{sp} < i_{sq} < i_{sr}\). Now assume that a guard g on the outer boundary sees p and r but does not see q. The outer boundary cannot block g from q since this would require the outer boundary to pierce the \(\overline{gp}\) or the \(\overline{gr}\) line segment, see Fig. 12. The inner boundary cannot pierce the \(\overline{gq}\) either. If it does, then the inner boundary would require an interior angle less than 180° to reach a spot that g can see again, in this case, the point r. This contradicts the description of a spiral polygon.    \(\square \)

Proof

(Proof of Lemma 5) Let \(g, g'\) and \(g''\) be 3 guards on the outer boundary such that \(o_{sg} < o_{sg'} < o_{sg''}\). Now assume that g and \(g''\) see p but \(g'\) does not see p. The inner boundary cannot block \(g'\) from p since this would require the inner boundary to pierce the \(\overline{gp}\) or the \(\overline{g''p}\) line segment, see Fig. 12 (use same figure as last proof but just a different part of the polygon for this part, use a similar dotted line to block g’ from p). The outer boundary cannot pierce the \(\overline{g'p}\) either. If it does, then the outer boundary would require an interior angle greater than 180° to reach the \(g''\) guard. This contradicts the description of a spiral polygon.

   \(\square \)

Proof

Since g is on the outer boundary, there are at most two edges of vp(g) that are interior to P. The vertical line segment, denoted \(g_v\), directly below (above) g is one such edge. If vp(g) has only one such edge, then the claim is trivially true.

If vp(g) has a second edge interior to P, then it must be the case that the inner boundary is blocking g. The outer boundary cannot create such an edge for vp(g) otherwise it would not be a spiral polygon. The inner boundary cannot create more than one such edge, otherwise it would not be a spiral polygon. Let \(g_e\) be the edge of vp(g) that the inner boundary created and let \(o(g_e)\) be the point on the outer boundary that \(g_e\) hits, see Fig. 13.

For the \(\overline{pq}\) line segment to cross both \(g_v\) and \(g_e\), the p point must be to the left of g. This allows \(\overline{pq}\) to cross \(g_v\). Now consider the point q. It must be to the right of \(g_v\). The line segment \(\overline{go(g_e)}\) is, by definition, to the right of \(g_v\). Since p is to the left of \(g_v\), the \(\overline{pq}\) line segment must cross the \(\overline{go(g_e)}\) line segment twice in order to reach q. Since they are both line segments, this is impossible.    \(\square \)

Claim

Consider any partial guard placement \(\mathcal {G}\). The leftmost unseen point will either be a point in K or a point on the inner boundary.

Proof

If the leftmost unseen point is a point in K, then the claim is trivially true. For each \(k \in K\) that has been chosen to be in \(\mathcal {G}\), the \(P_k\) region for that k is entirely seen. The leftmost unseen point must be to the right of one of these seen \(P_k\) regions. Let u be the leftmost unseen point and assume it is not in K nor on the inner boundary.

Since u is not in \(P_k\), in order for u to look up and down and only see the outer boundary, it must be that u is to the right of some inner boundary. In this case, a guard must see some point arbitrarily close to the left of u. Any guard that sees this point arbitrarily close to u must also see u. The outer boundary cannot block this guard from seeing u, else it would not be a spiral polygon. Therefore, when u looks up and down, it must see the inner boundary at least once.

W.l.o.g., assume u looks up to see the inner boundary. Since u is not on the inner boundary, some guard must see the point v that is some \(\epsilon \) distance above-and-left of u such that the line segment connecting v to u does not cross the inner boundary. Any guard g that sees this point must be blocked from u since u is assumed to be unseen. The inner boundary cannot block g from u since v is seen by g and by assumption, the inner boundary does not cross the \(\overline{vu}\) line segment. If the inner boundary does block some guard g from seeing u, then u was not the leftmost unseen point. The only way to block g from u is to use the outer boundary. This is not possible because the interior angles of the outer boundary are less than 180°. Therefore, if u is unseen, it must be on the inner boundary.    \(\square \)

We now describe the algorithm and use an exchange argument to prove that the algorithm is no worse than any other solution. Find the leftmost unseen point of the polygon. If the leftmost unseen point is on the outer boundary of the polygon, place a guard at this point. If the leftmost point is not on the outer boundary of the polygon, then shoot a ray up (or down) to hit the outer boundary and place a guard at this location on the outer boundary. Repeat until the entire polygon is seen.

Consider an optimal solution \(\mathcal {O}\). Now consider the guards placed by the algorithm. The first guard placed by the algorithm must be a guard in \(\mathcal {O}\), else the leftmost point on the outer boundary is unseen. In general, if the leftmost unseen point can only be seen by itself, then it is obvious that the guard we place is identical to the one in \(\mathcal {O}\). Now consider an unseen point that can be seen by more than just itself. The optimal solution must contain all guards in K since vertices in K are leftmost and can only be seen by themselves. Each of these points will be the leftmost unseen points at some point and the algorithm will also place all guards at vertices in K. Because of this, for each k, the \(P_k\) region associated with it is seen. Let h be the leftmost unseen point that the algorithm considers next and assume h is not a vertex in K. Since all \(P_k\) regions are seen and h is on the inner boundary by Claim 4.1, when the h point shoots a ray up (down), it must hit the outer boundary. The algorithm will place a guard at the outer boundary that is directly above (below) h. Consider the optimal guard \(o'\) that sees h. By Lemmas 9 and 6, moving \(o'\) to this new location will not decrease the visibility of \(o'\). The guard placed by the algorithm will see at least as much as the guards placed in the partial optimal solution. The leftmost unseen point in the greedy algorithm cannot have been seen by a guard in the partial optimal solution since the greedy guards always see at least as much as the optimal guards that have been potentially moved. Because of this, the new guard in the partial optimal solution can be moved to the location specified by the greedy algorithm. Such an optimal guard will never have been considered/moved before.

1.3 Proof of Corollary 2

In order to prove the corollary, we use the following lemma.

Lemma 9

Consider any half-guarding solution for some spiral polygon P. For each guard \(k \in K\), no guard is required to be in \(P_k\).

Proof

For each \(k \in K\), the optimal solution must place a guard at k, else k is not seen. Consider a guard g that was placed in \(P_k\). If the \(P_k\) region is removed from the polygon, there remains at most 2 polygons that meet at exactly one point, namely, \(i_k\). We call these polygons A and B, see Fig. 14. The g guard cannot see an unseen point in both A and B. Assume that this is possible and let \(p \in A\) and \(q \in B\) be the two unseen points that g sees. In order to be unseen, neither p nor q can be seen by k. It is not possible to block k from p nor q using the outer boundary since the outer boundary cannot have an interior angle greater than 180°. Therefore, the inner boundary must be used to block k from both p and q. As one looks from g, the \(\overline{kp}\) line segment must be closer to the inner boundary than the \(\overline{gp}\) line segment. This allows the inner boundary to block k from p, see Fig. 14. In a similar fashion, the line segment \(\overline{kq}\) must also be closer to the inner boundary than \(\overline{gq}\). Since k is to the left of o, this orientation is impossible. Therefore, g cannot see an unseen point in both A and B.

The g guard can, therefore, only see unseen points in at most one of A or B. W.l.o.g., assume g can see an unseen point in A. Let s be the outer boundary point directly above \(i_k\) in polygon A. By Lemma 6, the g guard cannot see an unseen point in A that s does not also see. Therefore, the g guard can be moved to the s location without losing any visibility. Since \(P_k\) is, by definition, to the left of \(i_k\), this outer boundary point s is not in \(P_k\).    \(\square \)

Proof

Consider an optimal guard g placed in the interior of the spiral polygon. By Lemma 9, any optimal guard placed in \(P_k\) can be moved out of \(P_k\). A simple extension of Lemma 7 says that any optimal guard placed in the polygon must have the inner boundary above (resp. below) it and the outer boundary below (resp. above) it. Let \(g'\) be the location on the outer boundary directly above/below g. Since g and \(g'\) are on the same vertical line, any point that g sees that \(g'\) doesn’t see must be to the right of them. Consider Fig. 13, the g guard, by definition, lies on the \(g'_v\) edge. In order for g to see a point in the polygon that \(g'\) does not see, the g guard must see beyond the \(g'_e\) line. The g guard is on one side of this line. We draw a line from g to this point. In order to stay in the polygon, this line must cross the \(g'_e\) line. It then must cross the \(g'_e\) line again in order to reach a point that \(g'\) does not see. This is impossible, therefore, \(g'\) dominates g.    \(\square \)

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Krohn, E., Pahlow, A., Yang, Z. (2024). On Half Guarding Polygons. In: Wu, W., Guo, J. (eds) Combinatorial Optimization and Applications. COCOA 2023. Lecture Notes in Computer Science, vol 14461. Springer, Cham. https://doi.org/10.1007/978-3-031-49611-0_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-49611-0_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-49610-3

  • Online ISBN: 978-3-031-49611-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics