c 2014 Lawrence H. Erickson

VISIBILITY ANALYSIS OF LANDMARK-BASED NAVIGATION

BY

LAWRENCE H. ERICKSON

DISSERTATION

Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate College of the University of Illinois at Urbana-Champaign, 2014

Urbana, Illinois

Doctoral Committee: Professor Jeff Erickson, Chair Professor Steven M. LaValle, Director of Research Assistant Professor Derek Hoiem Associate Professor Volkan Isler, University of Minnesota ABSTRACT

This thesis introduces and examines the chromatic art gallery problem. The chromatic art gallery problem asks for the minimum number of landmark classes required to ensure that every point in an input polygon sees at least one landmark but sees no more than one landmark of any particular class. The problem is motivated by partially distinguishable landmark-based navi- gation. A robot that navigates by landmarks must ensure that it always has one in view, or else it might reach a configuration where it has no bearings to use any of its motion primitives. Additionally, if the robot reaches a posi- tion where it can see two landmarks of the same class, its motion primitives become ambiguous. Because the number of landmark classes available for navigation is dependent on the discriminatory power of the robot’s sensors, the chromatic art gallery problem relates the complexity of an environment to the sensors required to visually navigate in the environment. Existing research has generally not addressed this issue. This thesis provides upper and lower bounds on the number of landmark classes required for various types of polygons as a function of the number of polygon vertices and demonstrates the NP-hardness of determining whether 5 or more classes is necessary for an input polygon. Bounds and NP-hardness results are also given for a variant of the chromatic art gallery problem in which the visibility graph of the landmarks is required to be connected. The chromatic art gallery problem can be phrased in terms of a landmark placement problem combined with a problem. The landmarks are placed such that each point in the polygon is visible from a landmark, and the restrictions on shared classes between landmarks is represented by a conflict graph. The vertex set of the conflict graph is the set of landmarks; two graph vertices are joined by an edge if the corresponding landmarks are visible from a common point. The goal is to find a set of landmarks that have a conflict graph with a minimal chromatic number.

ii This thesis explores the structural properties of the conflict graphs by de- scribing three necessary conditions for conflict graphs. Additional restrictions are determined for conflict graphs that arise in specific types of polygons. Be- yond their use for the chromatic art gallery problem, these structural results are useful for error checking in surveillance algorithms.

iii To Kristen and Ivan

iv ACKNOWLEDGMENTS

I would like to thank Kristen, Ivan, my parents, my father-in-law, my family, our babysitter Matt, his wife Dianna, and my various friends who kept me sane for the last several months. I would also like to thank Steve for hiring me as an undergraduate and advising me through six years of graduate school. Thanks to Alex DiCarlo for constructing the robot in Figure 1.3. Finally, I would like to thank my co-authors (especially Steve, John, and Luca) and anyone with whom I have had an interesting mathematical discussion. This work was supported in part by NSF grant 0904501 (IIS Robotics), NSF grant 1035345 (CNS Cyberphysical Systems), DARPA SToMP grant HR0011-05-1-0008, and MURI/ONR grant N00014-09-1-1052

v TABLE OF CONTENTS

CHAPTER 1 INTRODUCTION ...... 1

CHAPTER 2 PROBLEM DEFINITION AND GEOMETRIC BACK- GROUND...... 12 2.1 ProblemDefinition ...... 12 2.2 PolygonTerms ...... 13 2.3 ArtGalleryProblem ...... 15 2.4 SensorPlacementProblem ...... 21

CHAPTER 3 CHROMATIC ART GALLERY PROBLEM ...... 23 3.1 GeneralPolygons ...... 23 3.2 Complexity ...... 25 3.3 MonotonePolygons...... 27 3.4 StaircasePolygons ...... 29 3.5 Rectilinear Polygons ...... 33 3.6 SpiralPolygons ...... 47

CHAPTER 4 CONNECTED VISIBILITY GRAPH VARIANT . . . 51 4.1 LowerBoundforGeneralPolygons ...... 52 4.2 LowerBoundforMonotonePolygons ...... 55 4.3 UpperBoundforMonotonePolygons ...... 56

CHAPTER 5 INTERSECTION GRAPHS OF k-LINK VISIBIL- ITYREGIONS ...... 71 5.1 IntroductionandRelatedWork ...... 71 5.2 Definitions...... 73 5.3 GraphInclusions ...... 76 5.4 ForbiddenGraphs...... 81

CHAPTER 6 DISCUSSION AND CONCLUSION ...... 88 6.1 SummaryofResultsandDiscussion ...... 88 6.2 OpenProblems ...... 89 6.3 Variants ...... 91

REFERENCES...... 95

vi CHAPTER 1

INTRODUCTION

Despite the importance of landmark-based navigation in robotics, there have been few attempts to understand the relationship between the geometry of an environment in which a robot is attempting to navigate and the discrimina- tory power required by the landmark-detecting sensors to effectively navigate in the environment. This thesis examines this relationship in the context of navigation via visually detectable landmarks. The primary motivation for studying this problem is to inform the selection of the sensors when design- ing a robot intended for a specific task. If the sensors are inadequate for the robot to navigate in the environments that it is likely to enter, then it will be unable to complete its tasks. If the sensors are overly powerful for the types of environments it is likely to enter, then the robot’s cost and complexity has been increased with little benefit. A landmark-based motion primitive is a function that takes as input one or more landmarks visible from the robot and outputs a direction of move- ment. Possible primitives would include actions of the form “move toward the selected landmark”, “move away from the selected landmark”, “move in a counterclockwise circle around the selected landmark”, “drive to the mid- point of the line segment between two selected landmarks”, etc. (see Figure 1.1). These primitives are intended to describe the possible actions that a robot could take when it is performing landmark-based navigation. There are two minimal conditions that must satisfied for a robot to navi- gate by landmark-based motion primitives. First, the robot must always be able to see a landmark, as otherwise the robot will have nothing on which to base its motion primitives. Second, the robot must be able to distinguish the landmarks within its field of view. If it cannot distinguish the landmarks, the motion primitives become ambiguous and there is a risk of navigational failure. Note that these are merely necessary conditions for navigation. De- pending on the precise motion primitives available, additional conditions may

1 Figure 1.1: Four possible primitives: “drive toward a landmark”, “drive away from a landmark”, “drive counterclockwise around a landmark”, and “drive to the midpoint of the line segment between two landmarks”. be required. For example, if all primitives available to the robot require two distinct landmarks as input, then two landmarks would need to be visible from each point in the environment. Problems related to satisfying the first condition are called art gallery problems. These problems take as input an environment (typically a simply- connected polygon), and ask for a small set of landmarks in the environment such that each point in the environment is visible from a landmark. The most well-known version of the problem, in which the input is a simply-connected polygon and the possible landmarks are the polygon vertices, was examined by Chvatal in [1], in which he determined that for an n-vertex polygon, at most n/3 landmarks are always sufficient and sometimes necessary. While ⌊ ⌋ there are numerous ways to describe the complexity of a polygon, Chvatal and most others state the number of required landmarks in terms of the

2 number of polygon vertices. The second condition (and to some extent, the first) is primarily about the power of the robot’s sensor suite. A robot with no sensors cannot detect any landmarks. A robot with a single binary photoreceptor (an extremely poor sensor) can detect landmarks (light sources), but cannot distinguish among the landmarks. As the sensor gets more powerful, more objects potentially become landmarks (if equipped with a rangefinder, it might be able to rec- ognize certain geometric features of the environment) and the landmarks become more distinguishable from each other (if the photoreceptor could de- tect the wavelength of the light, then the robot could distinguish two light sources of different colors). More generally, one can divide the landmarks in the environment into classes based on the ability of the robot’s sensors to distinguish them. Two landmarks in the same class cannot be distinguished by the sensor suite, but two landmarks in different classes appear different to the sensors. If the sensors place all the landmarks into the same class, then the landmarks are indistinguishable. If each class contains only one landmark, the landmarks are fully distinguishable. If there is more than one class of landmark, but some landmarks share a class, then the landmarks are partially distinguishable. As the sensors become more powerful, the landmarks are divided into more classes, and the system moves closer to being fully distinguishable. As the sensors become weaker, the landmarks are forced together into fewer classes, and the system moves closer to being indistinguishable (see Figure 1.2). The importance of the second condition is particularly apparent in robots that visually navigate via some form of gradient descent/ascent. For example, consider the robot in Figure 1.3. It is a differential drive robot equipped with a cell phone camera. In order to navigate toward a landmark, it drives in the direction that increases the number of pixels of the landmark’s color in the robot’s field of view. If it is told to drive toward something red and there are two red objects in its field of view, then it is likely to get stuck in some sort of local minimum between the objects. Other, similar gradient descent robotic systems that would be vulnerable to similar problems are described in [2], [3] (see Figure 1.4), and [4]. As the robot’s environment becomes more complex, the conditions require more landmark classes to simultaneously satisfy. The goal of this thesis is to determine mathematical relationships between the environment’s complex-

3 Figure 1.2: Nine landmarks, divided into classes (blue outlines). [top] The landmarks are indistinguishable. [middle] As the sensors grow more powerful, landmarks that are very different from each other become separated into different classes. [bottom] The landmarks are fully distinguishable. ity, reflected in some geometric property of the environment such as vertices, and the complexity of the sensors required to navigate in that environment, reflected in the number of landmark classes required for navigation. This thesis introduces a problem, formally defined in the next chapter, that ex- amines this relationship; the chromatic art gallery problem. This relationship is a basic, fundamental robotics problem that is inadequately addressed by existing research. Much existing work in robotics is concerned with the placement of land- marks as an aid to navigation or localization. The authors of [5] attempted to place small sets of indistinguishable landmarks to assist in navigation by breaking up symmetries in the environment (see Figure 1.5). In [6], indis-

4 Figure 1.3: A robot that navigates by gradient ascent, seen here navigating toward a red landmark by increasing the number of red pixels in its camera’s field of view.

luminescence luminescence emitter detector

Figure 1.4: A gradient ascent robot from [3]. A light detector is used to navigate toward light sources. A light emitter is used for follow-the-leader behavior in swarms. c 2005 IEEE

5 tinguishable artificial landmarks were used to assist in mapping. A related problem, choosing a small set of landmarks to assist a robot in staying close to a desired trajectory was studied in [7] (see Figure 1.6). In [8], the authors used simulated annealing to find landmark locations that would maximize the amount of space in the environment visible from a landmark. The efficacy of these techniques is validated experimentally, and no proven guarantees are made on their performance.

!" !" !"

Figure 1.5: From [5]. Indistinguishable landmarks are placed around the boundary to aid in navigation. Lighter areas of the environment are “more unique” to the sensors. Yellow dots indicate areas where landmarks were placed. c 2011 IEEE

Figure 1.6: From [7]. Landmarks are placed to assist a robot in following the blue trajectory. Orange circles indicate landmark placements if they are allowed to be placed at any free point. Red triangles indicate landmark placements if landmarks are restricted to the environment boundary.

Landmark placement has also been considered in the related context of localization. In [9], the authors attempted to place a fixed number of noisy

6 rangefinders in an arrangement that minimizes the robot’s uncertainty about its location, while [10] used simulated annealing to attack the same problem. Other heuristic approaches include [11] and [12]. A similar problem, using visually detectable landmarks instead of rangefinders, was addressed in [13], [14], and [15]. The authors of [16] described a method for choosing a small subset from among the landmarks currently visible from a robot that are the most likely to be useful for localization. In [17], an art gallery coverage-like technique was used to select small sets of landmarks whose visibility regions cover the environment, with the goal of reducing computational overhead during navigation by minimizing the number of landmarks that need to be indexed (see Figure 1.7). The motivation of this thesis is similar, except that by limiting the number of types of landmarks, a limit is set on the discriminatory power of the sensors required to navigate in the environment rather than the size of the landmark index. In fact, most of these papers focused on the number of landmarks, as op- posed to the number of types of landmarks. The robots considered in [5] have sensor suites that give them geometric information about the shape of the portions of the environment visible from the robot. Therefore, while the landmarks are “indistinguishable” in the sense that they have no a priori dis- tinguishing visual features, the geometric data from the robots’ other sensors allows for both the artificial landmarks to be disambiguated and for natural features of the environment to be used as navigation waypoints. In other cases, the landmarks are either assumed to be fully distinguishable or (as in the case of [8]) the issue is not addressed. An exception is [18], in which the set of types of landmarks is adjusted during execution in order to reduce classification errors and keep the number of landmark types low. Even in [18] though, no specific guarantees are given based on the properties of the environment. While the importance of distinguishability among landmarks is most ap- parent in robots that visually navigate by gradient descent/ascent, other systems must also consider partial distinguishability among landmarks. De- termining which landmarks are currently being viewed by the robot is called the data association problem. To this end, there is a large amount of literature that attempts to provide landmark sets that are unlikely to produce classification errors, including

7 Figure 1.7: From [17]. Red dots indicate landmarks that could be used for navigation. The visibility regions of some of the landmarks are shown. A subset of two landmarks is sufficient to view the entire environment (bottom right), but greedily choosing landmarks may increase the size of the subset (bottom middle) c 2006 IEEE

[19], [20], [21], and [22]. The problem of navigating among non-unique land- marks is explicitly studied in [23], one of the goals of which is to minimize the number of reference photos required to effectively navigate in such an environment. However, the algorithms in these papers search for promising landmarks from amongst a set of existing features of the environment that may have little to do with the environment’s geometry. Landmark-based navigation also arises in discrete settings. The number of graph landmarks needed for localization is examined in the metric dimension problem, introduced in [24] and [25]. The metric dimension of a graph is the number of landmark vertices that a graph requires such that, for each graph vertex v, the tuple of distances from v to the landmarks is unique. Determin- ing the metric dimension is NP-hard [26], but results about the structure of

8 graphs with specific metric dimensions are known [27]. As with the previous work in the continuous settings mentioned above, metric dimension does not address partial distinguishability because the tuple associates each distance measurement with a specific vertex of known location. Prior efforts to rigorously define the power of robots include [28], [29], and [30]. In [28], the author proposed hierarchically organizing sensors by their preimages. The preimage of a piece of sensor data is the set of robot configurations that could produce that sensor data. Weak sensors have large preimages, while powerful sensors have small preimages. Sensor A can be considered to be strictly more powerful than sensor B if each preimage from A is a subset of a preimage from B. In [29], robots were measured by the primitives they are capable of per- forming. These primitives include both motion and sensing components. Robot A is considered at least as powerful as robot B if A is able to use its primitives to emulate B’s primitives. For example, a robot with a rangefinder that returns the distance to the environment boundary can be emulated by a robot with a linear odometer, angular odometer and a contact sensor. The second robot could drive until it contacts the boundary, store the distance travelled d, turn 180 ◦, drive a distance d, turn 180 ◦, and then pretend d is the output of the “virtual” rangefinder (see Figure 1.8).

d

d d

Figure 1.8: [top] A robot uses a rangefinder to determine directly that the distance to the boundary is d. [bottom] A robot with a bump sensor, linear odometer, and angular odometer determines the distance to the wall by driving to the wall, impacting it, recording the distance d travelled, and driving distance d in the other direction.

9 The authors of [30] proposed a task-based hierarchy for ranking robots operating in polygonal environments, in which robot A is at least as powerful as robot B if A can perform any task that B can perform. Their basic robot, the simple combinatorial robot, is capable of visually detecting unoccluded vertices of its environment. The robot is not given a global labeling of the vertices in its field of view, but the vertices are locally distinguishable through a clockwise ordering. This simple combinatorial robot is then augmented with various other capabilities, such as pebbles, compasses, angular distance detectors, or various oracles, and the resulting robots are compared to each other by the geometric problems they are able to solve (such as counting the number of vertices in the environment, determining which vertices are reflex, etc.) and by the polygons in which they are able to solve them. A closely related work is [31], in which these same robots are examined specifically for the task of determining the visibility graph of the vertices of a polygon. Unlike [29] and [30], the goal in this thesis is to scale up the discriminatory power of one specific type of sensor and determine its effects on the types of environments in which the robot can navigate, rather than comparing the effects of different combinations of heterogenous sensors. Much of the existing work on the scalable attributes a robot requires to perform a task focuses on memory requirements. In [32], the authors deter- mined the amount of memory required by a robot that is exploring a graph in which the edges are locally distinguishable (each edge has an identifier that is unique amongst the edges incident to a given vertex, though that identifier might be reused at a different vertex). Graphs with high maximum degree and/or high diameter require more memory. The concept of pebbles combines memory and sensing. A pebble is an object that a robot leaves at a point in the environment that can be detected by one of the robot’s sensors. This is used to detect that the robot has reached an area through which it has previously moved (sometimes referred to as “closing the loop”). The authors of [33] determined the number of pebbles required to explore and map a graph. A sensor can be viewed as an oracle in which the input to the oracle is the robot’s configuration. The discriminatory power of an oracle required to accomplish a certain task is addressed in [34]. In this paper, the authors designed oracles to speed up the task of exploring the edges of a . They determined a lower bound on the maximum number of bits that one of these

10 oracles is required to output in order to achieve a specified competitive ratio. This bound is dependent on the graph diameter. A different paper addresses this oracle minimization problem with a pursuit-evasion task [35]. The remainder of this thesis is organized as follows. Chapter 2 defines the chromatic art gallery problem and the technical terms that are used throughout the thesis and addresses the background literature on the most closely related geometry problem, the original art gallery problem. Chapter 3 contains the main results about the chromatic art gallery problem. Chapter 4 concerns a variant of the chromatic art gallery problem in which the visibility graph of the guards is required to be connected. Chapter 5 discusses the structural properties of a family of graphs that arise in the chromatic art gallery problem. Chapter 6 concludes with a discussion of the results and directions of future research. Portions of this thesis have previously appeared in [36], [37], and [38].

11 CHAPTER 2

PROBLEM DEFINITION AND GEOMETRIC BACKGROUND

2.1 Problem Definition

A polygon, which will typically be denoted P , is a closed, bounded, simply- connected, subset of R2 with a non-self-intersecting boundary ∂P that con- sists of a finite chain of straight line segments. The variable n represents the number of vertices in ∂P . For points q,p P , the point q is visible from p if pq P . For a point ∈ ∈ q P , the visibility region of q, denoted Vis(q), consists of the set of points ∈ visible from q. A set of points S P is a guard set if Vis(s)= P (see ⊂ s∈S Figure 2.1). Let Guards(P ) be the set of all guard setsS of P .

Figure 2.1: Three points that make up a guard set, and each of the guard’s visibility regions.

Two points p, q P conflict if Vis(p) Vis(q) = . For a set of points ∈ ∩ 6 ∅ S P , the conflict graph of S in P , denoted Conflict(S,P ), is a graph with ⊂ a vertex set of S, with two graph vertices joined by an edge if they conflict (see Figure 2.2). For a graph G, the chromatic number of G, denoted χ(G), is the minimum number of colors required to assign a color to each vertex of G with no two vertices joined by an edge receiving the same color.

The chromatic guard number of an polygon P , denoted χG(P ), is defined

12 p r

q

Figure 2.2: [left] Points p and q conflict because they are both visible from common point r. [middle and right] A placement of guards in a polygon and the conflict graph of those guards. as

χG(P ) = min χ(Conflict(S,P )). (2.1) S∈Guards(P )

When investigating χG(P ), the polygon P will be referred to as the input polygon, in order to distinguish it from other subpolygons that might arise in a decomposition of P . Due to the connection between the chromatic art gallery problem, guard sets, and graph coloring, the language in the rest of this thesis will generally refer to “minimizing the number of colors used by guards” as opposed to “minimizing the number of landmark classes”.

2.2 Polygon Terms

A polygon is monotone with respect to a line L if the intersection of the polygon and any line perpendicular to L has at most one connected com- ponent. A polygon is strictly monotone with respect to a line L if any line perpendicular to L intersects the polygon boundary at two or fewer points (see Figure 2.3). A polygon is (strictly) monotone if it is (strictly) monotone with respect to any line. This paper will assume, unless indicated otherwise, that a monotone polygon is aligned in such a way that L is parallel to the x-axis (horizontal). If a positive and negative direction are assigned to a line L, then the boundary of a polygon that is monotone relative to L can be divided into two paths that monotonically proceed in the +L direction. Let vfront and

13 L

L

Figure 2.3: [top] A strictly monotone polygon. [bottom] A polygon that is monotone, but not strictly monotone.

vback be the endpoints of these paths. Note that if a polygon is monotone to L, but not strictly monotone, then these endpoints may not be unique. The vertices vfront and vback will be referred to as the monotone endpoints relative to L. The two paths between vfront and vback are the lower subchain and the upper subchain. When L is horizontal, the upper subchain consists of the path that has the higher y-coordinates (see Figure 2.4). A polygon is rectilinear if all vertices are right angles. This property is often referred to as orthogonal in other works (see Figure 2.5). A polygon is a staircase if it is both strictly monotone and rectilinear (see the rightmost polygon in Figure 2.5). This paper will assume, unless indicated otherwise, that all edges of a rectilinear polygon are parallel to either a (vertical) y-axis or a (horizontal) x-axis. A polygon vertex is convex if its interior angle is less than 180◦, and it is reflex if its interior angle is greater than 180◦. A polygon is a spiral if all reflex vertices appear consecutively along the polygon boundary (see Figure 2.6).

14 vback vfront

vback vfront

vfront vback

Figure 2.4: Monotone polygons with the upper subchain highlighted in red and the lower subchain highlighted in blue. The line L is horizontal. [top] A strictly monotone polygon with the unique monotone endpoints indicated. [middle and bottom] If a polygon is not strictly monotone, then the monotone endpoints may not be unique.

Figure 2.5: Rectilinear polygons. The rightmost one is a staircase polygon.

2.3 Art Gallery Problem

The art gallery problem asks the following question: Given an input polygon P , determine the smallest guard set for P . This problem and numerous variants have been heavily studied since the 1970s. O’Rourke provides a detailed description of the important results discovered before 1987 in [39]. Other surveys of the art gallery problem and the related visibility graph

15 Figure 2.6: Spiral polygons. problem include [40] and [41]. A general upper bound in terms of the number of polygon vertices was determined by Chvatal in [1] via an inductive decomposition of the input polygon. A simple proof, provided by Fisk [42], is given below. Theorem 1. Each n-vertex polygon has a guard set of size at most n/3 . ⌊ ⌋ Proof. Triangulate the input polygon. Choose a single triangle and color its vertices with three colors. As long as any vertices remain uncolored, choose a triangle with exactly two colored vertices, and color its last vertex with the unused color (this is possible because the dual of the triangulation has no cycles). By the pigeonhole principle, one color is used at most n/3 times. Place ⌊ ⌋ guards at the vertices of that color (see Figure 2.7). Since each triangle has a vertex of each color, the entire polygon is guarded.

The upper bound provided in Theorem 1 cannot be improved, due to a lower bound provided by a family of “comb” polygons, illustrated in Figure 2.8. The original formulation of the problem required that the guard set be a subset of the polygon vertices. This additional condition does not affect the upper and lower bounds (though the number required for a specific polygon may be greatly altered). Fewer numbers of guards may be required if conditions are placed on the structure of the input polygon. For example, rectilinear polygons require fewer guards [43]. Theorem 2. Each n-vertex rectilinear polygon has a guard set of size at most n/4 . ⌊ ⌋ 16 2 2 1

1 3 3 1 3 1 2 2

3 2 2

1 3 2 1 3

Figure 2.7: A triangulated polygon with a 3-coloring of the vertices. The color 1 is used the least, and so guards are placed at the vertices with color 1.

Figure 2.8: A family of polygons that require n/3 guards. ⌊ ⌋

Alternate methods of proving Theorem 2 were provided by [44] and [45], though all of these are significantly more complicated than Fisk’s (or even Chvatal’s) proof for general polygons. The theorem also has a complementary lower bound that is also provided by a family of comb polygons (see Figure 2.9). There are numerous variations of the art gallery problem that have re- ceived attention. A notable one that will become important in Chapter 4 is the cooperative art gallery problem. In this problem, the visibility graph of the guard set must be connected. This is a graph in which the vertex set is the guard set, with two graph vertices joined by an edge if the correspond- ing guards are visible from each other. With this additional condition, the

17 Figure 2.9: A family of rectilinear polygons that require n/4 guards. ⌊ ⌋ number of guards required is somewhat higher [46], [47].

Theorem 3. Each n-vertex polygon contains a guard set with a connected visibility graph of size at most (n 2)/2 . ⌊ − ⌋ As with the previous theorems, there exists a family of polygons that provides a corresponding lower bound, illustrated in Figure 2.10.

Figure 2.10: A family of polygons that require (n 2)/2 guards for a ⌊ − ⌋ guard set with a connected visibility graph.

18 2.3.1 Applications of Existing Bounds

For a polygon P , the value of χG(P ) is at most the size of the smallest guard set of P , as one could use the smallest guard set and give each guard a unique color. Therefore, an upper bound for the standard art gallery problem can be immediately used as an upper bound for the chromatic art gallery problem. Unlike the upper bounds, the lower bounds cannot be used directly to produce trivial bounds. For example, the comb polygons from Figure 2.8 do not require more than two colors, regardless of how many vertices they accumulate (see Figure 2.11). If the trapezoidal lower region is too short, then guards placed in the notch are visually separated and few colors suffice. The the trapezoidal lower region is too tall, then the comb can be guarded by a small number of guards each with a unique color, and few colors suffice.

Figure 2.11: This family of polygons requires no more than two colors, regardless of the number of vertices.

However, if the height of the trapezoidal region is properly controlled, then the comb polygons can yield nontrivial lower bounds, generally producing polygons that require Ω(√n) colors. This technique is the source of the lower bounds for monotone polygons presented later in the paper.

2.3.2 Complexity

The art gallery problem is NP-hard, even when the guard set must be a subset of the polygon vertices [48], via a reduction from 3SAT. NP-hardness also persists when the polygon is restricted to being rectilinear [49]. The complexity results listed above are not directly useful for the chromatic art gallery problem. A guard set that requires a minimum number of colors is not necessarily a guard set of minimal size. In fact, there exist polygons

19 in which non-minimal guard sets are the only guard sets that can use the minimal number of colors (see Figure 2.12).

Figure 2.12: [left] A guard set for this polygon requires at least three members. Any three member guard set requires three colors. [right] A guard set that can be colored with two colors requires at least four members.

Approximation algorithms with an O(log n) approximation ratio for an n- vertex polygon (even one with holes) were developed in [50] and improved in [51] and [52], though it should be noted that these works restrict placement of guards to the polygon vertices. In [52], King provides the best running time, O(n3), for an algorithm that achieves this ratio. The problem is APX-hard, and in the event that holes are allowed, a logarithmic approximation ratio is the best possible unless P=NP [53]. Furthermore, a randomized algorithm exists that can provide an approximation ratio of O(log copt), in which copt is the optimal number of guards required [54]. It is not clear that any portion of the approximation algorithms listed above can be adapted for use in the chromatic art gallery problem, as they rely heavily on the restriction that guards can be placed only on the vertices. Adding this restriction to the chromatic art gallery problem can increase the number of colors required by a factor of n. This issue is discussed more in Section 3.1.1. However, one inapproximability result is particularly useful for the pur- poses of this thesis. In [55], it is shown that the art gallery problem remains APX-hard when the input is restricted to polygons with a link diameter of 2 (in other words, polygons in which any two points are visible from a third point) via a reduction from finding the minimum set of points that intersect all members of a set of lines (the line cover problem), which is in turn a re-

20 duction from a maximum satisfiability problem. Unlike much of the existing work on the art gallery problem, [55] does not require the guards to be placed on vertices. Since the size of the minimum guard set and the chromatic guard number are the same for such polygons (as any pair of guards conflict), the following corollary is implied:

Corollary 4. The chromatic art gallery problem is APX-hard.

A recent paper by Fekete, Friedrichs, and Hemmer, [56], identified the chromatic art gallery problem as NP-hard by a reduction from the same line cover problem, though they used the earlier and slightly weaker result from [57]. In addition, Fekete, Friedrichs, and Hemmer showed that determining whether or not a polygon with holes requires k colors is NP-hard, for all fixed k 2. This was done by a reduction from 3SAT. ≥ Fekete, Friedrichs, and Hemmer also ask whether the problem of deter- mining if χG(P ) >k for fixed k is NP-hard. This question will be answered in the affirmative for k 4 in Section 3.2. ≥ Special results exist for restricted classes of polygons. A deterministic algorithm provides a O(copt) approximation ratio for rectilinear polygons, and a constant approximation ratio for monotone polygons [58].

2.4 Sensor Placement Problem

Closely related to the art gallery problem is the family of sensor placement problems. In these problems, the goal is to place a finite set of sensors in an environment in such a way that a maximum amount of the environment is covered by the sensor. In many versions of these problems, the environ- ment is initially unknown, so the tasks of mapping and sensor placement are performed simultaneously, such as in [59]. Formulations that use proximity- based sensors and visibility-based sensors are common. In [60], the authors studied the sensor placement problem for visibility- based sensors that had limited range (a similar sensor system is discussed in Section 6.3.2). These sensors were restricted to locations on a grid. However, the algorithm they developed is not generally appropriate for art gallery-like problems, as their sensor model was probabilistic. Other placement problems for grids include [61] and [62]. In [63], different types of grid formations were

21 found to be optimal for different ratios of the sensors’ communication range and sensing range. In [64], the authors present a distributed algorithm that deploys a set of art gallery guards in which two guards can communicate with each other only if they are mutually visible from each other. A similar goal is addressed in [65], in which robots deploy incrementally to visually cover an environment using each other as landmarks for navigation. This adds an additional contraint that the visibility graph of the robots must remain connected, similar to the constraints in [46] and [47]. The authors of [66] specifically address the case where all obstacles are polygonal.

22 CHAPTER 3

CHROMATIC ART GALLERY PROBLEM

This section concerns bounds on the chromatic guard number in terms of the number of vertices for various types of polygons and complexity results for the computation of the chromatic guard number.

3.1 General Polygons

3.1.1 Lower Bound

Theorem 5. For every integer k 3, there exists a polygon P with 4k ≥ k vertices such that χ (P ) k. G k ≥

Proof. The polygon Pk will be constructed from k gadgets, each consisting of four line segments. Each gadget consists of a nearly triangular well and a line that connects to the next gadget. The goal is to arrange k of these gadgets so that each pair of guards conflict, and each guard can see no more than two convex vertices. Let T be a simple arrangement of k lines. Now, make a closed convex k-gon bounding box B that contains each intersection among the lines of T in its interior, and has a boundary vertex on each line of T . Place the a very thin gadget at each of the boundary vertices (see Figure 3.1). Let p and q be two convex vertices in the same well associated with line t T . Note that, i ∈ as the opening of the well is made smaller, and the length of the segment joining p and q is made smaller, the distance between a point r Vis(p) B ∈ ∩ and the point in t B closest to r becomes arbitrarily small. i ∩ The visibility region of a guard in the well of a gadget contains a line segment that closely follows corresponding line from T . Since the lines in T intersect pairwise, two guards placed in the wells of different gadgets conflict. A guard s located in B conflicts with every guard, B Vis(s) and any other ⊂ 23 guard’s visibility region has non-empty intersection with B. Therefore, all guards placed in Pk will pairwise conflict. Since Pk has 2k convex vertices, and each guard can see at most two convex vertices, at least k guards are required; hence χ (P ) k. Since P is made from k gadgets, each of which G k ≥ k has four edges, Pk has 4k vertices.

pi

qi

p q p q j j

p

q

p q

Figure 3.1: [top left] A gadget. The points p and q are the convex vertices. For a guard to see p and q simultaneously, it would have to be placed in the triangular region (bounded on top by the dotted lines) that does not extend far out of the well. [top right] Two gadgets. The cones show the region outside of the well where a convex vertex is visible. The shaded regions are where a single guard can see two convex vertices. There is no place where a guard can see three convex vertices. [lower left] As the well opening is made smaller and the well is made more narrow, Vis(p) Vis(q) (shaded region) becomes more narrow and closer to the arrangement∪ line from T (blue line). [lower right] A polygon Pk for k = 5. The black lines represent a simple arrangement T of k = 5 lines. Each line in the arrangement is associated with the well of a gadget.

24 Many formulations of the standard art gallery problem require the guard set to be a subset of the polygon vertices. Under this restriction, a small modification to the polygons in Figure 2.8 produces a family of polygons that require (n 2)/3 colors (see Figure 3.2). ⌊ − ⌋

Figure 3.2: The tip of a notch (grey point) can only be seen by guards located at vertices in that notch (grey and black points). However, all such guards will conflict with each other, so this family of polygons require at least (n 2)/3 colors. ⌊ − ⌋

3.1.2 Upper Bound

A trivial upper bound is obtained by applying the upper bound from the standard art gallery problem.

Corollary 6. For each n-vertex polygon P , χ (P ) n/3 . G ≤ ⌊ ⌋ Proof. Determine a guard set of size at most n/3 as per Theorem 1 and ⌊ ⌋ assign a different color to each guard.

3.2 Complexity

In [56], the authors ask whether determining if χG(P ) > k for fixed k is NP-hard. This section will demonstrate the problem is NP-hard for k 5 by a ≥ reduction from a known NP-hard problem, 4 coloring of circle graphs [67]. − A circle graph is a graph in which each vertex is a chord of a circle, and two vertices are joined by an edge if their corresponding chords intersect.

Theorem 7. Deciding whether χ (P ) >k is NP-hard if k 5. G ≥ 25 Proof. Let H be the intersection graph of a set T of m chords. Let Q be the convex hull of the endpoints of the chords. For each chord, at one of its endpoints replace the vertex of Q with a thin gadget consisting of a triangular region (the body) and m + 2 small triangular spikes attached to the left side of the body (middle left picture in Figure 3.3). Call the resulting polygon P . The spikes within a single gadget are arranged such that they can be guarded by a single guard, and the gadget is thin enough that the portion of the guard’s visibility polygon that is in Q can be treated as a line segment that occupies the same points as the chord associated with the gadget. Note also that any guard placed in the body of a gadget contains the points of the chord in its visibility polygon. Therefore, P can be guarded by m + 1 guards (one in each of the gadgets, and one in the interior of Q), so χ (P ) m + 1. G ≤ It is non-optimal to guard the spikes within a single gadget by placing guards in the spikes themselves. In order to not use a guard in the body of a gadget, each spike requires its own separate guard. If such an arrangement were used, there would exist a point in the body at which the visibility polygons of these m + 2 guards would all intersect (the grey point in the middle left picture of Figure 3.3). This would use at least m + 2 colors, and so it is non-optimal. Therefore, at least one guard is located in the body of each gadget. Since the entirety of the gadget can be viewed from a single point, there is no reason to use more than one guard in any gadget. The portion of that guard’s visibility polygon in Q is thin enough that it can be treated as the set of points making up the associated chord. Therefore, two gadget guards’ visibility polygons intersect if and only if their associated chords intersect. This leaves the remainder of Q to guard. To ensure that guarding the remainder of Q will take exactly one additional guard that conflicts with all of the gadget guards, m + 2 additional triangular forcing areas are added around the boundary of Q to produce P ′. These forcing areas are thin enough that the visibility regions of their tips can be treated as line segments, and they are arranged such that there is a single point in Q from which all the forcing areas can be seen (meaning that χ (P ′) m + 1). Guarding the G ≤ forcing areas without placing a guard in Q would require at least m + 2 colors, and is thus non-optimal. Therefore, a guard placement that minimizes the number of colors places one guard in each of the gadgets, and one guard in Q that guards the forcing

26 areas and the remainder of Q. In the 2-link visibility graph, the guard placed at Q is adjacent to all other guards, and the induced subgraph of the guards in the gadgets is isomorphic to G. Therefore, χ (P ′) 1 = χ(H). Because G − determining whether χ(H) >k 1 is NP-hard for k 5, determining whether − ≥ ′ χG(P ) >k is also NP-hard.

3.3 Monotone Polygons

A lower bound for the family of monotone polygons can be obtained through the use of a variant of the standard “comb” used to show the occasional necessity of n/3 guards in the standard art gallery problem [1]. The height ⌊ ⌋ of the bottom region of the polygon and the width of the notches are chosen such that any set of guards that share a color can see the tops of at most O(√n) notches.

3.3.1 Lower Bound

Theorem 8. For every integer k 3, there exists a strictly monotone poly- ≥ gon M with 3k2 vertices such that χ (M ) k. k G k ≥ Proof. The (x, y) coordinates of the vertices of M are [(1, 2k 2), (2, 2k k − − 3), (4, 2k 3), (5, 2k 2), (6, 2k 3) ...(4k2 4, 2k 3), (4k2 3, 2k 2), (4k2 − − − − − − − − 2, 0), (0, 0)]. This polygon has 3k2 vertices, and it consists of a trapezoidal region (the body region) that has k2 notches attached to the shorter edge. Call the vertices with a y coordinate of 2k 2 apex points. Note that each − notch has a unique apex point. A guard with coordinates (x, y) will be referred to as a notch guard if y > 2k 3 and will be referred to as a body − guard if y 2k 3 (see Figure 3.4). ≤ − Each body guard can guard up to k distinct notches. However, since the visibility polygon of a body guard includes the entire body region, and every guard’s visibility polygon intersects the body region, a body guard will conflict with every other guard in the polygon. Let xbody be the number of body guards used in a guard set of Mk. Each notch guard can guard only one notch. However, two notch guards will not conflict if they are placed far enough away from each other. Since

27 5 1 2

4

3 3 7 6

1 7 6 4

5 2

Figure 3.3: [top] A set of m chords in a circle and their intersection graph. [middle left] A gadget consisting of a triangular region with m + 2 spikes attached to the left side. The spikes can all be completely guarded by the grey point. Placing guards in the spikes is non-optimal (as it would require at least m + 2 colors), as is placing more than one guard in the triangular region. [middle right] The polygon P , in which each gadget guard’s visibility polygon closely follows the associated chord. [bottom left] A set of m + 2 line segments whose endpoints are on Q and who all meet at a common point. [bottom right] The polygon P ′. Guarding the inside of Q and all of the forcing areas with a single guard requires a guard at the intersection of the red lines. Note that none of the forcing areas can be guarded by a guard in a gadget.

the bottom edge of Mk has a y coordinate of 0, two notch guards are forced to conflict only if the distance between the apex points of their corresponding notches is 4k 4 or less. Let a set of k notches be consecutive if the maximum −

28 s2 s1 s1 s2 s3

q s4

Figure 3.4: [top] The polygon Mk for k = 3. The guard s1 is a body guard, and the guard s2 is a notch guard. [middle] Notch guards must be placed at least k = 3 notches away from each other to avoid conflicts. Guards s1 and s conflict as Vis(s ) Vis(s )= q, but s , which is k = 3 notches away 2 1 ∩ 2 3 from s1 does not conflict with s1. A body guard s4 can only guard k =3 notches by itself. Portions of the rightmost four notches visible from s4 are shaded. [bottom] A guard placement that requires three colors. distance between the apex points of any two notches in the set is 4k 4. Let − xnotch be the maximum number of notch guards in any consecutive set of k notches in Mk.

Suppose the polygon Mk has a guard set S assigned to it that requires only χG(Mk) colors. Consider k consecutive notches in Mk that contain xnotch notch guards in total. All of these notch guards will conflict with each other, and all of these notch guards will conflict with all of the body guards. Therefore, χ (M ) x +x . Now, note that each body guard G k ≥ notch body can guard at most k notches. Since there are k2 notches, by the pigeonhole principle, notch guards can guard at most kxnotch notches (see Figure 3.4). Since each notch must be guarded, kx +kx k2, so x +x k. notch body ≥ notch body ≥ Therefore χ (M ) x + x k. G k ≥ notch body ≥

3.4 Staircase Polygons

A polygon is a staircase if it is both strictly monotone and rectilinear. While staircase polygons are not interesting in and of themselves, they are useful as building blocks. The results in this section are used in the upper bound

29 for rectilinear polygons in Section 3.5 and in the bounds in [68].

3.4.1 Upper Bound

Staircase polygons require only a constant number of colors. The guards will exclusively be placed on the convex vertices of the polygon. Let vfront and vback be the monotone endpoints of the staircase polygon, relative to a line L with regard to which the staircase is strictly monotone.

Theorem 9. For any staircase polygon P , χ (P ) 3. G ≤ Proof. This proof will place and color a guard set S. The members of S will be indexed by the order that they are placed.

Place a guard s1 on the neighbor of vfront along the lower subchain. If a guard si has been placed on the lower subchain, then place guard si+1 on the right-most convex vertex on the upper subchain that is contained in Vis(si).

If guard si has been placed on the upper subchain, then place guard si+1 on the right-most convex vertex on the lower subchain that is contained in

Vis(si). Stop placing guards when a guard can see vback, and let m be the number of guards placed (see Figure 3.5).

vfront s2 s2 Vis(s1) s1 s1 s4

s3

vback s5 = sm

Figure 3.5: [left] A staircase polygon P with vertices vfront and vback identified. The lower subchain is dashed, and the upper subchain is solid. [middle] The guard s1 is placed on the neighbor of vfront on the lower subchain. The guard s2 is placed on the rightmost convex vertex in shaded region Vis(s1). [right] A guard placement and coloring for P that uses only three colors.

30 First, it must be shown that si and si+2 are not placed on the same vertex.

Suppose without loss of generality that si is on the lower subchain. Note that the rightmost convex vertex on the lower subchain in Vis(si+1) must also be the lowest convex vertex on the lower subchain in Vis(si+1). Note also that a ray extended downward from si+1 must intersect the horizontal edge incident to si+2 (otherwise si+2 would not be the rightmost convex vertex on the lower subchain). If this is the same horizontal edge that is incident to si, then the point where the ray intersects the horizontal edge incident to si must be a convex vertex (call it vf ). Since the convex vertex vf neighbors the convex vertex vi along a horizontal edge, and since vf is to the right of vi, vf must be vback. Therefore, si+2 would only be placed on the same vertex as si if vback is visible from si+1. No additional guards are placed once a guard can see vback, two guards will not be placed on the same vertex. Next, it must be shown that this is a guard set for the staircase polygon.

Suppose without loss of generality that guard si is placed on the lower sub- chain. Assume that the set [s1,s2 ...si] forms a guard set for the subpolygon that lies above the guard si (call this subpolygon Pi). It must be shown that the set [s1,s2 ...si+1] forms a guard set for the subpolygon that lies to the left of guard si+1 (call this subpolygon Pi+1). Let pi+1 be the point where a ray extended downward from si+1 intersects the lower subchain. Note that each vertex on the lower subchain between si and pi+1 is visible from si+1. It must be shown that s guards P P . Let vr be the reflex vertex to i+1 i+1\ i i the right of si on the lower subchain. Let Qi+1 be the subpolygon below si+1 and to the left of s (see Figure 3.6). Note that Q P P as s is i+1 i+1 ⊇ i+1\ i i+1 not lower than si. Note that every vertex of Qi+1 that is not connected to si+1 by an edge of Qi+1 is on the lower subchain. For any given vertex v in

Qi+1 that is not connected to si+1 by an edge of Qi+1, all edges of Qi+1 not incident to si+1 that lie above v must also lie to the left of v, and all edges of Qi+1 not incident to si+1 that lie to the right of v must also lie below v.

Since si+1 is not lower than v, and not to the right of v, every vertex v of

Qi+1 must be visible from si+1. This means that one could triangulate Qi+1 such that each triangle has si+1 as one of its corners. Therefore, the guard si+1 can guard Qi+1 by itself. Therefore, the set [s1,s2 ...sm] forms a guard set for P .

Finally, it must be shown that the guard set [s1,s2 ...sm] can be colored with three colors. Suppose guard si is placed on the lower chain. Let yi be

31 s2 s2 s2 P1 P2 s1 s1 s1

s4 s4 s4

s3 s3 s3

s s2 s2 2 Q2 s s s1 1 1

P2 P1 s s \ s4 4 4 s s s3 3 3

Figure 3.6: [top left] A polygon P with a guard placement. [top middle] The region P1 that s1 is responsible for guarding. [top right] The region P2 that s and s are reponsible for guarding. [bottom left] The region P P 1 2 2\ 1 that s2 is responsible for guarding. [bottom middle] The region Q2, which consists of the portion of P below and to the left of s2. This region is a superset of P P . [bottom right] A triangulation of Q where all triangles 2\ 1 2 have a vertex at the location of s2, showing that s2 guards Q2.

the y-coordinate of the lowest point visible from si. Note that, because si is on a convex right-angle vertex on the lower subchain, Vis(si) is bordered on the bottom by a horizontal line at the same height as the horizontal edge incident to si; therefore yi is just the y-coordinate of si. Let yi+3 be the y coordinate of the highest point in Vis(si+3). Because si+3 is on a convex right-angle vertex on the upper subchain, Vis(si+3) is bordered on top by a horizontal line at the same height as the horizontal edge incident to si+3; therefore yi+3 is just the y-coordinate of si+3. Now, it must be shown that yi >yi+3. In the portion of the proof that showed that each guard is placed on a unique vertex, it was demonstrated that the y-coordinate of si+1 (call it y ) has to be higher than the y-coordinate of s . If y y , then i+1 i+3 i ≤ i+3

32 y y

Therefore, yi > yi+3. Since the highest point in Vis(si+3) is lower than the lowest point in Vis(si), si and si+3 cannot conflict (see Figure 3.7).

s2 Vis(s1)

s1 s1 s4 s4 Vis(s4) s3

s5

Figure 3.7: [left] A staircase polygon P with a guard placement. [right] The regions Vis(s1) and Vis(s4) are shown. Note that the lowest point in Vis(s1) is higher than the highest point in Vis(s4), as the horizontal line incident to s1’s vertex is higher than the horizontal line incident to s4’s vertex.

Since si and si+3 do not conflict, it is possible to color all guards with an index of 0 mod 3 with green, all guards with an index of 1 mod 3 with red, and all guards with an index of 2 mod 3 with blue. Therefore χ (P ) 3. G ≤ We have assumed throughout this proof that guard si was placed on the lower subchain. However, the arguments made above still apply if si was placed on the upper subchain (reflect the polygon over the y = x line). −

3.5 Rectilinear Polygons

3.5.1 Lower Bound

This lower bound is constructed in much the same manner as the lower bound for monotone polygons. A rectilinear comb is designed such that a set of guards sharing a single color can see at most an O(n1/2) fraction of the upper edges of the polygon.

33 Theorem 10. For every odd integer k 3, there exists a monotone rectilin- ≥ ear polygon R with 4k2 + 10k + 10 vertices such that χ (R ) k. k G k ≥ Proof. We begin by introducing a family of rectilinear polygons with two parameters, m, i Z+. The (x, y) coordinates of the vertices of the polygon ∈ R are [(0, 0), (0, i+1), (1, i+1), (1, i), (2, i), (2, i+1), (3, i+1), (3, i),..., (2m m,i − 2, i), (2m 2, i + 1), (2m 1, i + 1), (2m 1, 0)]. This takes the form of a − − − (2m 1) i rectangle with m 1 1-sized notches along the top edge (see − × × Figure 3.8). Any guard in Rm,i with a y-coordinate greater than i will be called a notch guard. All other guards will be called body guards. There are m notches. Each notch has a ceiling of length 1. These ceilings are a subset of the polygon, so they must be covered. A body guard can cover the most ceiling if it is placed on the bottom of the polygon. Let C(s) be the total length of ceiling that a body guard s can see. Suppose a body guard s is placed on the bottom of the polygon underneath the left edge of a notch (thus maximizing the amount of ceiling it can see to its right). This guard can see all of the notch that it is underneath. It can see a length of (i 2)/i of the next notch to the right, (i 4)/i of the notch after that, and − − i/2 so on (see Figure 3.8). Therefore, s can see j=0 2j/i ceiling to its right when i is even. This term is doubled to accountP for the ceiling it might be able to see on its left to obtain

i/2 4j 4 i i +1 i C(s) = 2 2 = +1. (3.1) ≤ i i 2 2 j=0  ! X While each body guard must have its own unique color, a single color can be assigned to multiple notch guards. Each notch guard can guard a ceiling of length 1. The dimensions of the polygon control how many notch guards can share a color. Note that the visibility polygon of a notch guard must include a portion of the bottom edge of the polygon. Since two notch guards that use the same color have visibility polygons that do not intersect, this space along the bottom edge of the polygon is a resource that can only support a finite number of notch guards of the same color. The bottom edge of the polygon has length 2m 1. However, to account for the fact that the − bottom of the visibility polygons of notches close to the edge could have an additional length of up to i if the convex portion of the polygon were wider, the bottom edge is treated as though it has length 2m +2i 1 (see Figure −

34 1 1

i =7

i =7

1 5/7 3/7 1/70 0 0

Vis(s) i =7

s

Figure 3.8: [top] The polygon Rm,i for i = 7 and m = 7. Each notch has a height and width of 1. The bottom edge is highlighted in grey at the bottom of the figure, and the ceiling edges are highlighted in grey at the top of the figure. The dotted lines at the bottom of the figure represent the extra length i that is added on either side of the bottom edge for the purposes of placing nonconflicting notch guards. [bottom] A guard s is placed on the bottom edge of the polygon is a position where the total length of ceiling edge in Vis(s) to the right of s is maximized. The visibility polygon Vis(s) is shaded. The number above each notch shows how much ceiling edge length in that notch is in Vis(s).

3.9). Placing a notch guard s along the ceiling of a notch minimizes the length of the bottom edge inside Vis(s). Suppose a guard s is placed on the ceiling of a notch at a length 0 t 1 from the left vertex of the ceiling. Since the ≤ ≤ height of the notch is 1, the leftmost point of Vis(s) on the bottom edge will extend a distance ti past the x-coordinate of the leftmost point in the notch. Similarly, the rightmost point of Vis(s) will extend a distance of (1 t)i − past the x-coordinate of the rightmost point in the notch (see Figure 3.9). Therefore, the length of the bottom edge inside Vis(s) is i + 1 (including the length of 1 directly underneath the notch). This means that the amount of the bottom edge seen by a single notch guard placed on a ceiling is not related to its exact location within that ceiling. Since no two notch guards

35 with the same color can have any of their visibility polygons overlap, a single color can be used to guard at most (2m +2i 1)/(i + 1) notches. −

s1 s2 s3

i =5 i =5

66 6

Figure 3.9: The polygon Rm,i for i = 5 and m = 7. Three guards have been placed on ceiling edges and their visibility polygons are shaded. The striped regions are portions of the visibility polygons that have been cut off by the left or right side of Rm,i. Note that if the length of the bottom edge of Rm,i extended an extra i in both directions, then the length of the bottom edge of each visibility polygon would be i +1 = 6, regardless of the guard’s location on its notch’s ceiling.

Choose any guard set for Rm,i. Let xnotch be the number of colors used in the notch guards, and let xbody be the number of colors used in the body guards. Since each guard must be a notch or a body guard, we get

xnotch + xbody = χG(Rm,i). (3.2)

Since each color used for a body guard can guard at most i/2+1 length of ceiling, and each color used for notch guards can guard at most (2i +2m − 1)/(i + 1) length of ceiling, and there is m total length of ceiling, we get

2i +2m 1 i − x + +1 x m. (3.3) i +1 notch 2 body ≥     Let k = (i 3)/2 and let polygon R be the polygon where m = (i2 − k − i)/4 + 1 with i x Z+ x 1 mod4 . Solving for i indicates that ∈ { ∈ | ≡ } i =1/2+ 4m (15/4). This turns Equation 3.3 into − p i i2 i +1 (x + x ) − +1. (3.4) 2 notch body ≥ 4   The term (i2 i)/4+1 is equal to ((i2 +2i) (3i + 6) + 10)/4; hence − − Equation 3.4 can be rewritten as

36 i 3 10 i 3 χ (R )= x + x + − = k. (3.5) G k notch body ≥ 2 − 2 2i +4 ≥ 2 The polygon therefore requires at least (i 3)/2= m (15/16) (5/4) − − − colors. The polygon R has 4m vertices and χ (R ) m (15/16) (5/4). k G k ≥ p − − Since k =(i 3)/2= m (15/16) (5/4), R has 4k2 +10k + 10 vertices − − − k p and requires k colors.p The integer k must be odd to ensure that the number of vertices is divisible by 4.

3.5.2 Upper Bound

As with general polygons, a trivial upper bound on the number of colors required for a rectilinear polygon can be obtained by applying the corre- sponding bound from the standard art gallery problem.

Corollary 11. For any n-vertex rectilinear polygon P , χ (P ) n/4 . G ≤ ⌊ ⌋ Proof. Place guards as per theorem 2 and use a unique color on each one.

3.5.3 Upper Bound for Monotone Rectilinear Polygons

The bound can be improved for polygons that are both monotone and recti- linear. In Section 2.3, it was mentioned that inductive techniques are difficult to use with the chromatic art gallery problem, because portions of the poly- gon that are cut away in the decomposition can contain points where guards conflict. However, if the decomposition does not add new reflex vertices to the polygon, then certain configurations of parallel lines create conditions where two guards can share colors without the possibility that they conflict in some portion of the polygon that had been removed in a prior step (see Figure 3.10). Because all edges of rectilinear polygons are parallel to one of two axes, these configurations occur often enough that a bound close to n/5 can be achieved. This bound will be proven by first showing that n-vertex monotone recti- linear polygons can be guarded by guards using at most n/5+ c colors, and then showing that guards using at most k colors can be placed in an input rectilinear polygon with n vertices and guard all but a leftover monotone rectilinear polygon that has at most n 5k vertices. − 37 Figure 3.10: [left] Two guards placed back-to-back on parallel edges have visibility regions that do not intersect. [right] Decompositions cannot introduce new reflex vertices, as the new reflex vertices could lead to the illusion that two guards can share a color.

A bar graph polygon is a rectilinear polygon whose minimum bounding rectangle contains an edge that is also an edge of the polygon. We will refer to this edge as the bar graph polygon’s bottom edge. We will assume that bar graph polygons are oriented such that their bottom edge contains the points with minimal y-values. Note that bar graph polygons are always monotone. A notch is a rectangular subset S of a bar graph polygon such that three edges of S are subsets of non-bottom edges of the bar graph polygon. Notches of a bar graph can be placed in order based on the lowest x-value among their points. The first and last notches in this ordering are referred to as side notches. A side notch is plain if it contains a point that has a maximal or minimal x-value among all points in the polygon, and is non-plain otherwise. A U-block is an eight vertex bar graph polygon with two notches. See Figure 3.11 for illustrations. To guard the monotone rectilinear polygons, we will divide them into bar graph polygons and staircases. Therefore, we need to place a bound on the number of colors required by bar-graph polygons.

Lemma 12. Let Q be a bar graph polygon with n vertices. There exists a set of guards S and a guard coloring using at most n/5 colors such that all of ⌊ ⌋ Q is guarded except for a subset of a notch or a subset of a U-block.

Proof. The bar graph polygon will be guarded recursively. Each step of the recursion will place either no guards, one guard with a unique color, two guards with two unique colors, or three guards with two sharing a color. Once the guards that use a specific color have been placed, that color is

38 D C B A

Figure 3.11: A bar graph polygon with four notches. Notches A and D are side notches. Notch A is a plain side notch. Notch D is a non-plain side notch. never reused. Two guards that share a color are placed on vertical edges, with the leftmost guard placed on an edge that has the interior of the left, and the rightmost guard placed on an edge that has the interior to the right (as in the left picture of Figure 3.10). After the guards have been placed, a subset R of the regions seen by the new guards are removed and the process is repeated on the leftover. In order to ensure that guards sharing a color remain conflict-free in the original polygon, this decomposition will not add any reflex vertices to the polygon. There are several cases for the recursion based on the structure of the input polygon. Each case comes with the assumption that the previous cases do not apply (i.e., Case 3 should not be used if Case 2 also applies). Case 1: The entire polygon Q is a notch or a U-block. Terminate the recursion. Zero colors are used and all of Q is guarded except for a subset of a notch or a U-block. Case 2: The polygon has only one notch. Since Case 1 does not apply, the polygon has at least six vertices. Place a guard (with a unique color) on the bottom edge underneath the notch. The entire polygon is guarded by this new guard. Terminate the recursion. The n/5 ratio is achieved, because ⌊ ⌋ n 6 and only a single color was used (see Figure 3.12). ≥

39 Figure 3.12: If the polygon has only one notch, then a single guard on the bottom edge sees the entire polygon.

Case 3: The polygon has exactly two notches. Place two guards, one under each notch on the bottom edge. Give each guard a unique color. Since Q is not a U-block, it has at least ten vertices. The entire polygon is guarded, two colors are used, and 2 n/5 because n 10 (see Figure 3.13). ≤ ⌊ ⌋ ≥

Figure 3.13: If the polygon has exactly two notches, then two guards along the bottom edge see the entire polygon. Since the polygon is not a U-block, it has at least 10 vertices.

Case 4: The polygon has a non-plain side notch. Place a single guard s with a unique color under the non-plain side notch. Let p Vis(s) q { ∈ | ¬∃ ∈ P Vis(s) with pq P and pq is horizontal . The leftover polygon has at \ ∈ } least six fewer vertices and one color is used (see Figure 3.14). Case 5: The polygon has three or more notches. Both side notches are plain, as otherwise Case 4 would have applied. Place two guards (sharing a color) back to back in the upper corners of the side notches. If we remove the side notches from the polygon, the leftmost remaining notch is now a non-

40 R P R \

Figure 3.14: A guard placed under a non-plain side notch leaves a polygon with at least six fewer vertices. plain side notch. Place a guard s with a unique color on the bottom edge under that notch (as per Case 4). Let R be the union of p Vis(s) q { ∈ | ¬∃ ∈ P Vis(s) with pq P and pq is horizontal and the two original plain \ ∈ } side notches. The leftover polygon has at least ten fewer vertices (four are removed when the side notches are guarded, and six are removed by the guard on the bottom edge), and two colors are used.

P R \

R

Figure 3.15: Two guards of one color placed in the side notches, and one guard of a second color placed under the leftmost remaining notch. The resulting unguarded bar graph polygon has at least 10 fewer vertices.

Since each case removes m vertices and uses at most m/5 colors, the ⌊ ⌋ entire n-vertex polygon is guarded by a guard set using at most n/5 colors, ⌊ ⌋ except for a portion of a single notch or single U-block.

The concept of a bar graph polygon needs to be slightly generalized for use in the main result of this section. A bar graph family is a set consisting of the union of disjoint bar graph polygons P1,P2,...,Pℓ in the plane arranged

41 such that no two separate bar graph polygons contain points with the same x-coordinate (all bar graph polygons are assumed to be aligned to the same x and y axes; see Figure 3.16). A bar graph family F is safely guarded by a finite set S of colored points if the following conditions are met:

1. S F ⊂ 2. Within a single polygon of the family, no two members of S that share a color conflict.

3. Let s ,s S be distinct points, in which s P and s P (with 1 2 ∈ 1 ∈ i 2 ∈ j i = j). Let B be the bottom edge of P and B be the bottom edge 6 i i j of P . For each point q R2 F , either s q (δP B ) = or j ∈ \ 1 ∩ i \ i 6 ∅ s q (δP B ). See Figure 3.17. 2 ∩ j \ j

P2

P3

P1 P4

Figure 3.16: A bar graph family made up of the union of four bar graph polygons, P , P , P , and P . Note that, if i = j, no point in P shares an 1 2 3 4 6 i x-coordinate with any point in Pj.

Lemma 13. Let F be a bar graph polygon with n vertices. There exists a set of colored points S using at most n/5 +1 colors that safely guards F . ⌊ ⌋ Proof. Apply Lemma 12 to each bar graph polygon in F that is not a notch or a U-block (using a different set of colors for each polygon). This uses m colors and leaves a set of U-blocks and notches that collectively contain at most n 5m vertices. − 42 P2

P3

P1 P4 q

Figure 3.17: The two red guards do not satisfy the third condition, as they can both be connected to a point q via a straight line that goes through their polygon’s bottom edge. They are therefore not acceptable as part of a set that safely guards the bar graph family. The blue guards do satisfy the third condition.

At this point, three different reductions will be used to guard U-blocks and notches. These reductions will use ℓ colors total, and leave a polygon with at most n 5m 6ℓ vertices. − − If two U-blocks remain unguarded, then both can be safely guarded by four guards that use two colors, with two guards to each color (see Figure 3.18). This uses two colors, and eliminates 16 vertices.

Figure 3.18: Four guards using two colors safely guard a pair of U-blocks. Guards that share the same color are placed along polygon boundaries that ensure that they cannot be connected to a common point through the bottom edges of the polygon.

43 If a U-block and a notch remain unguarded, then both can be safely guarded by three guards using two colors (see Figure 3.19). This uses two colors, and eliminates 12 vertices.

Figure 3.19: Three guards using two colors to safely guard a notch and a U-block. Guards that share the same color are placed along polygon boundaries that ensure that they cannot be connected to a common point through the bottom edges of the polygon.

If two notches remain unguarded, then both can be safely guarded by two guards that share a color (place a guard on the right edge of the left notch, and a guard on the left edge of the right notch). This uses one color, and eliminates eight vertices. At this point, either no portion of F is left unguarded, or only a single U-block or notch remains unguarded. If a U-block is left, then guard it with two guards using two new colors (eliminating eight vertices while using two colors). If a notch is left, then guard it with a single guard with a new color (eliminating four vertices using one color). Since, in each stage of the reduction, the number of additional colors used is at least five times the number of new colors used (other than the coverage of a final remaining U-block or notch, which uses one additional color), the total number of colors required to safely guard F is n/5 + 1. ⌊ ⌋ Lemma 13 can be combined with Theorem 9 to provide a bound on the number of colors required for a monotone rectilinear polygon. Lemma 14. For an n-vertex monotone rectilinear polygon P , χ (P ) n/5+ G ≤ 11. Proof. The polygon P is first partitioned into bar graph polygons and stair- case polygons. The assumption will be made that P is not a bar graph

44 polygon already, as otherwise the previous lemma would cover it. Let Q be a staircase polygon that satisfies the following conditions listed below (also see Figure 3.20).

1. Q P ⊆ 2. Q’s left edge is a subset of P ’s left edge.

3. Q’s right edge has a maximal x value among all staircase polygons that satisfy the first two conditions.

4. Q has maximal area among all staircase polygons that satisfy the first three conditions.

Figure 3.20: A monotone rectilinear polygon and a staircase subpolygon that satisfies the four conditions.

The staircase polygon Q will either be ascending or descending. An as- cending (descending) staircase polygon has the leftmost point on its upper subchain have a y value at most (least) as high as the y value of the rightmost point on its upper subchain, and the leftmost point on its lower subchain have a y value at most (least) as high as the y value on the rightmost point of its lower subchain. Note that these are mutually exclusive as long as Q is not a rectangle, and Q cannot be a rectangle unless P is a rectangle without violating the fourth condition.

45 The set P Q consists of bar graph polygons and at most one monotone \ rectilinear polygon. If Q is ascending, the monotone rectilinear polygon will border Q’s lower subchain, and if Q is descending, the monotone rectilin- ear polygon will border Q’s upper subchain. Run this partition procedure recursively on the remainder of the polygon. This will partition P into stair- case polygons and bar graph polygons (see Figure 3.21). Let Qi be the ith staircase polygon placed by this process. If Qi is ascending, then Qi+1 is descending and vice versa.

Figure 3.21: A monotone rectilinear polygon partitioned into staircase polygons and bar graph polygons.

Note that Qi and Qi+3 are separated by an ascending and a descending staircase, and therefore no point in Qi can conflict with a point in Qi+3. By Theorem 9, each staircase polygon requires no more than three colors. Since no point in Qi can conflict with a point in Qi+3, those staircases can share the same three colors. Therefore, at most nine colors are required to guard the staircase polygons. This leaves the bar graph polygons. Some of the bar graph polygons are above the staircase polygons, and some are below the staircase polygons. The bar graph polygons above the staircases form a bar graph family that can be guarded as per Lemma 12. The bar graph polygons below the staircases form another bar graph family. The total number of vertices in both families is at most n (see Figure 3.22), so Lemma 13 implies that together they can

46 be guarded with at most n/5 + 2 colors. ⌊ ⌋

Figure 3.22: Each vertex in a component of the bar graph family is either a vertex of the input polygon (circled in blue), or lies above (in the case of the bar graph family along the top) or below (in the case of the bar graph family along the bottom) a unique vertex (circled in red). Therefore, the total number of vertices in both families is at most n.

Combining the number of colors required for both the staircase and bar graph polygons yields n/5 + 11 colors. ⌊ ⌋

3.6 Spiral Polygons

Like staircase polygons, spiral polygons require only a constant number of colors and are useful primarily as pieces in a decomposition.

3.6.1 Upper Bound

Theorem 15. For any spiral polygon P , χ (P ) 2. G ≤ Proof. The spiral polygon consists of two subchains, a reflex subchain, and a convex subchain. Let vs and vt be the endpoints of the convex subchain. The members of the guard set S will be indexed in the order that they are

47 placed (si is the ith guard placed). Place s1 at vs. Let pi be the point most clockwise along the convex subchain that is visible from si. Let bi be the most counterclockwise vertex along the reflex subchain visible from si. Let gi be the vertex immediately clockwise from bi. Let ri be the point on the convex subchain colinear with gi and bi and visible from both. Note that pn and rn define the endpoints of an interval along the convex subchain. Place sn+1 at a point on this interval that is not one of the endpoints. Note that this means s Vis(s ). Terminate when a guard can see v (see Figure n+1 6∈ n t 3.23). The set S can be shown to be a guard set for P by triangulating the P using the P ’s vertices, the members of S, and the points pi and showing that each triangle has a member of S as one of its vertices. Suppose that the polygon bounded by the edges starting from pi counterclockwise along the boundary of P until bi and the edge between pi and bi has already been triangulated such that each triangle contains a vertex in the set s j i . { j| ≤ } It must be shown that si+1 can guard the subpolygon bordered by the edges counterclockwise from pi+1 to pi, the edge between pi and bi, the vertices counterclockwise from bi to bi+1, and the edge between bi+1 and pi+1. If each of these vertices in the subpolygon is visible from si+1, then the subpolygon can be triangulated by connecting each vertex to si+1, meaning that si+1 guards the entire subpolygon (see Figure 3.23).

Since si+1 is placed on the interval in between pi and ri, it must be able to see the entire edge between gi and bi, meaning that bi is visible from si+1. By definition, the vertex bi+1 is visible from si+1. Examine the polygon consisting of the edges along the reflex subchain between bi and bi+1, si+1bi, and si+1bi+1. Since all the vertices along the reflex subchain are reflex, they cannot have edges between each other in a triangulation, so in any triangulation, they must all be connected to si+1 (see Figure 3.24). By definition, the point pi+1 is visible from si+1. The point pi is visible to si+1 because si+1 is on the convex subchain interval between pi and ri. If two points on the convex subchain interval between pi and ri are not mutually visible, then there must be a reflex vertex between bi and gi on the reflex subchain. However, by definition, there are no such vertices. Because the vertices in between pi and pi+1 lie on a convex subchain, if si+1 can see both pi and pi+1, then si+1 can see all the vertices in between. This means that Pi+1 can be triangulated with every triangle having si+1 as an endpoint, so si+1 guards Pi+1 (the triangle

48 s2 p1 b1

g1 r1 Vis(s1)

v s s1

vt

s2 s2 p1 Vis(s2) Vis(s1) b1 \ b Vis(s1) 2

p2 s3 s1 s1

s4

Figure 3.23: [top left] A spiral polygon P . The convex subchain is dashed, and the reflex subchain is solid. [top right] The first guard s1 is placed on vertex vs. The interval in which s2 can be placed is dashed. [bottom left] The portions of the polygon that are guarded by s1 and s2. [bottom right] A guard placement and 2-coloring for the entire polygon.

with endpoints pi+1, bi+1, and si+1 is degenerate, as those three points are colinear, but this is not a problem). This technique still works if si+1 can see vt (in this case, pi+1 = bi+1 = vt). This implies inductively that S is a guard set for P . Because all the guards are along the convex subchain, if two guards conflict, their visibility polygons must intersect somewhere along the convex subchain. Also, since s Vis(s ) and s Vis(s ), s cannot conflict with s , i 6∈ i+1 i 6∈ i−1 i+1 n−1 or there would be no room along the convex subchain to place si. Therefore, all evenly indexed guards can be colored red, and all oddly indexed guards can be colored blue, so χ (P ) 2. G ≤

49 Figure 3.24: A polygon with only three convex vertices that appear consecutively has only one triangulation, and can be guarded by a guard placed at the middle convex vertex.

50 CHAPTER 4

CONNECTED VISIBILITY GRAPH VARIANT

Suppose that the visually navigating robot is only capable of motion prim- itives that “drive towards” a landmark. These “drive towards” primitives merely guarantee that the robot will eventually arrive at the the specified landmark and that the landmark will remain in the robot’s field of view dur- ing the transit. “Drive towards” is not meant to imply that the robot takes the most direct path to the landmark. For example, the robot pictured in Figure 1.3 that navigates by maximizing the number of pixels in its field of view usually take a zig-zag path to its goal. Suppose a landmark set satisfied the following three conditions:

1. There is no point where the robot can see two landmarks of the same class at the same time.

2. For each point in the environment, there exists a landmark visible from that point.

3. For any two landmarks sstart and sgoal, there is a sequence of landmarks

[sstart = s1,s2,...,sk−1,sk = sgoal] such that si is visible from si−1 for 2 i k. ≤ ≤ The first two conditions are the same as the ones described in Chapter 1. The third condition is new. It requires that the visibility graph of the land- marks is connected. As mentioned before, this is a graph in which each graph vertex is a landmark, with two vertices joined by an edge if the corresponding landmarks are mutually visible. An environment containing such a landmark set could be easily searched for a “treasure landmark” by a robot equipped only with “drive towards” primitives. The treasure must be visible from one of the other landmarks, and the robot could use a graph searching algorithm to travel to each land- mark until the treasure is found. The robot would not even require a priori

51 knowledge about the number of landmarks or their arrangement. Due to the first condition, the landmarks are always locally distinguishable to the robot. This provides the robot sufficient information to use the graph searching al- gorithm described in [32]. Minimizing the number of landmark classes in this situation is difficult. On one hand, the visibility graph must be connected, but on the other hand, the conflict graph (which contains the visibility graph as a spanning subgraph) must retain a low chromatic number. Let ConnGuards(P ) be the set of all guard sets of a polygon P that have connected visibility graphs. The minimum number of landmark classes re- quired to satisfy the three conditions, termed the connected landmark class number of P and denoted χCL(P ), is defined as

χCL(P ) = min χ(Conflict(S,P )). (4.1) S∈ConnGuards(P )

4.1 Lower Bound for General Polygons

A lower bound on the connected landmark class number can be obtained for general polygons using a simple arrangement of line, similar to the technique used in Theorem 5.

Theorem 16. For any k N, there exists a polygon P with 18k vertices ∈ k such that χ (P ) 5k. CL k ≥

Proof. As in Theorem 5, the polygon Pk will be constructed from 2k gadgets. Each gadget consists of nine line segments. An example is shown in Figure 4.1. Each gadget consists of two bent pathways that end in a point. In order to guard the point at the end of each path and ensure the connectedness of the visibility graph, two guards must be placed inside the gadget in such a way that a portions of their visibility regions extend outside the gadget in a narrow cone. Let T be a simple arrangement of 2k lines. Make a closed convex 2k-gon bounding box B that contains each intersection among the lines of T in its interior, and has a boundary vertex on each line of T . Replace each of the boundary vertices with a gadget (see Figure 4.2).

52 3 3 1 1

2 2

Figure 4.1: [top left] A gadget. In order to guard the black point on the left side of the gadget, a guard must be placed in the shaded blue region. [top right] If the visibility region of the guard placed in the blue region does not extend outside the gadget, then another guard must be placed in the shaded grey region in order to ensure that the visibility graph is connected. [bottom] The left side of the gadget can be divided into three regions. A guard must be placed in region 2, or guards must be placed in region 1 and 3. Any guard in region 2 or 3 (or on any of the blue lines that bound the regions) has a visibility region that extends outside the gadget.

53 Figure 4.2: The polygon Pk for k = 3. Six gadgets are present (54 total vertices), and at least 15 colors are needed.

In order to guard the interiors of each gadget, two guards must be placed in the gadget in such a way that the portion of their visibility regions that extends into B closely follows the corresponding line (region 2 or 3 of the gadget). These guards will be referred to as gadget-line guards. Note that, be- cause the lines of the arrangement intersect pairwise, each gadget-line guard requires a unique color. In order to ensure that the visibility graph is connected, additional guards must be placed. They cannot be placed in region 1 of the gadgets, so any of these additional guards will conflict with all previously placed guards. The visibility regions of the two gadget-line guards from a single gadget closely follow the line in the arrangement. Since these lines only intersect pairwise, a guard can only be adjacent to at most four gadget-line guards in the visibility graph (two gadget-line guards each from two gadgets).

Since each gadget has 9 vertices, and there are 2k gadgets total, Pk has 18k vertices. At the very minimum, this polygon requires 4k gadget-line guards, and an additional k guards in B to ensure that the visibility graph is connected. All of these guards mutually conflict, and so at least 5k colors

54 are required.

4.2 Lower Bound for Monotone Polygons

Like the bound for monotone polygons in the previous chapter, this bound uses a “comb” polygon. Theorem 17. For any odd k N, there exists a monotone polygon M with ∈ k 3 (k2 +2k + 1) vertices such that χ (M ) k. 4 CL k ≥

Proof. The “comb” polygon Mk consists of a trapezoidal region with (k + 1)2/4 notches. Each of the triangular notches is very thin; therefore it is impossible to use the same guard to guard two notches simultaneously. There are two types of guards. Notch guards are guards placed inside the triangular notches. Body guards are guards placed in the lower trapezoidal region. Let xnotch and xbody denote the number of colors assigned to each type of guard. Note that each body guard requires its own unique color, all body guards are mutually visible, and two notch guards in different notches require a path through VisGraph(S,P ) for which the non-endpoint vertices are body guards (see Figure 4.3).

Figure 4.3: A monotone “comb polygon”. Notch guards are green, blue, and yellow. Body guards are red and purple. [top] Notch guards require body guards to connect them to the rest of the visibility graph. No notch guards that share a connecting body guard can have the same color. [bottom] A body guard can guard one notch by itself. c 2012 IEEE

Due to the thinness of the notches, a body guard can only guard a single notch tip. A single color assigned to notch guards could be used to guard

55 each notch tip, but then each notch guard would require its own body guard (with a unique color) to ensure that VisGraph(S,P ) is connected, which would require the number of colors to be linear in the number of notches. A set T of notch guards can share one “connecting” body guard, but only if Vis(t) = , which means that all members of T must use different t∈T 6 ∅ colorsT (this body guard could guard a notch by itself). Suppose the notches are grouped into sets of size m, guarded by m 1 notch guards and 1 body − guard, in which the same m 1 colors are used in the notch guards of each − set. There is no reason to make the sets different sizes (if one set uses y colors in its notch guards, and another uses z

(k + 1)2 χ (M ) min m 1+ m N . (4.2) CL k ≥ { − 4m | ∈ }

k+1 The value of m that minimizes the right side is m = 2 , which after sub- stitution reduces it to χCL(Mk) k. We do not claim that a grouping of ≥ k+1 notches in which every notch is a part of a size 2 set that all share a com- mon body guard actually exists, merely that any realizable grouping would use at least as many colors. Since each notch requires 3 vertices and the polygon has (k+1)2/4 notches, 3 2 Mk has 4 (k +2k + 1) vertices.

4.3 Upper Bound for Monotone Polygons

An upper bound on the number of landmarks required for an n-vertex mono- tone polygon is (n 2)/2 , provided by [46] and [47]. Coincidentally, this ⌊ − ⌋ bound is actually tight even for monotone polygons, because the pathological family of polygons provided by Pinciu [47] is monotone (recall Figure 2.10). Since one could place a set of landmarks according to Pinciu’s algorithm and give them all different colors, there is a trivial bound of χ (P ) (n 2)/2 . CL ≤ ⌊ − ⌋ However, one can generally do better than this by reusing colors. In this sec- tion, it will be shown that that χ (P ) n/3 + 12. CL ≤ A monotone polygon P will be decomposed into a number of smaller hemi-

56 monotone polygons. A monotone polygon is hemimonotone if one path be- tween the monotone endpoints is a straight line. Because these hemimono- tone polygons are used as part of a decomposition and to avoid confusion with the monotone endpoints of the input polygon, the monotone endpoints of a hemimonotone polygon will be referred to as vleft (the one is the lower x-coordinate) and vright (the one with the higher x-coordinate). The portion of the boundary consisting of the line segment vleftvright will be referred to as the base (see Figure 4.4). Note that vleft and vright cannot be reflex ver- tices. Let L = [vleft, v1, v2, v3,...,vright] be the sequence of vertices of ∂P , ordered as per their appearance on the non-base path between vleft and vright. Hemimonotone polygons are allowed to be degenerate, meaning that it is possible for vi to intersect vleftvright (see Figure 4.4). After the decomposi- tion, it will be shown that hemimonotone polygons can be guarded with few guards placed only on the bases. Finally, it will be shown that a set of guards requiring only a constant number of colors can be added to ensure that the visibility graph is connected.

v v8 v2 v3 5 v6 v4 v7 v9 v1 vright vleft

Figure 4.4: [left] A hemimonotone polygon. [right] A degenerate hemimonotone polygon. c 2012 IEEE

If a monotone polygon P is structured such that v Vis(v ), then front ∈ back P can be decomposed into two hemimonotone polygons by using the line segment vfrontvback. However, if those two points cannot see each other, a more complicated approach is required. There are three types of line segments and pairs of lines segments that can be exploited to guarantee that a pair of hemimonotone polygons are separated enough to use identical color sets. Suppose there exists a line segment with one endpoint e1 (the endpoint of the segment with the lower x-coordinate) on the lower subchain, then intersects a reflex vertex r1 of the upper subchain, then intersects a reflex vertex r2 of the lower subchain, and then has an endpoint e2 on the upper subchain (or alternately, a line segment

57 with the same behavior with the upper and lower subchains reversed). Call such a line segment a valid bitangent. A valid bitangent divides the polygon into four regions (see Figure 4.5).

P - A monotone polygon containing v . • 1 front P - A hemimonotone polygon with e r as a base. • 2 1 2 P - A hemimonotone polygon with r e as a base. • 3 1 2 P - A monotone polygon containing v . • 4 back

P e2 P1 3 r1 r2 P4 e 1 P2

Figure 4.5: A valid bitangent. c 2012 IEEE

For a point p P e r , Vis(p ) (P P )= , because r blocks p ’s 1 ∈ 1 \ 1 1 1 ∩ 3 ∪ 4 ∅ 1 1 view of P , and r blocks p ’s view of P . Similarly, for a point p P r e , 3 2 1 4 4 ∈ 4 \ 2 2 Vis(p ) (P P )= , because r blocks p ’s view of P , and r blocks p ’s 4 ∩ 1 ∪ 2 ∅ 2 4 2 1 4 view of P1. Therefore, p1 and p4 do not conflict, which means that, other than the portion of e1e2 that each polygon contains, guards placed in P4 can reuse the colors of the guards placed in P1. Certain pairs of line segments can also be exploited to ensure separation.

Consider a pair of line segments, e1e2 and e2e3, such that e1, e2, and e3 are on the upper subchain, e2 has a higher x-coordinate than e1, e3 has a higher x-coordinate than e2, e1e2 intersects the lower subchain at a reflex vertex r1, and e2e3 intersects the lower subchain at a reflex vertex r2 (again, one could swap the use of upper and lower in the preceeding description). These two line segments (which will be referred to collectively as an L-gadget), along with a line segment perpendicular to H that intersects e2, divide the polygon into six regions (see Figure 4.6).

P - A monotone polygon containing v . • 1 front

58 P - A hemimonotone polygon with e e as a base. • 2 1 2 P - A hemimonotone polygon with r e as a base. • 3 1 2 P - A hemimonotone polygon with e r as a base. • 4 2 2 P - A hemimonotone polygon with e e as a base. • 5 2 3 P - A monotone polygon containing v . • 6 back A point p P e r cannot conflict with a point p P r e , because 1 ∈ 1 \ 1 1 6 ∈ 6 \ 2 3 Vis(p1) cannot extend far enough right to reach e2, and Vis(p6) cannot extend far enough left to reach e2. Therefore, other than the aforementioned line segments, P1 and P6 can be guarded by guards that use the same sets of colors.

P e3 e1 1 P6 r1 r2

P3 P4 P2 P5

e2

Figure 4.6: An L-gadget. A vertical segment is added below e2 to ensure that P2 and P3 are hemimonotone. c 2012 IEEE

Another exploitable pair of line segments is a more complicated type of bitangent that will be referred to as a hybrid bitangent. This consists of a line segment e1e2 with endpoints on the lower subchain that intersects a reflex vertex r1 of the upper subchain. There is also a bitangent line segment ce , with endpoint c r e that first intersects a reflex vertex of the lower 3 ∈ 1 2 subchain r2, then a reflex vertex of the upper subchain r3. The endpoint e3 is on the lower subchain. This divides P into six regions (see Figure 4.7).

P - A monotone polygon containing v . • 1 front P - A hemimonotone polygon with e e as a base. • 2 1 2 P - A hemimonotone polygon with r c as a base. • 3 1 59 P - A hemimonotone polygon with ce as a base. • 4 2 P - A degenerate hemimonotone polygon with ce as a base. • 5 3 P - A monotone polygon containing v . • 6 back For a point p P e r , Vis(p ) P P , because r prevents the 1 ∈ 1 \ 1 1 1 ⊂ 1 ∪ 2 1 visibility polygon from intersecting the other four regions. Similarly, for a point p P r e , Vis(p ) P P , because r prevents the visibility 6 ∈ 6 \ 3 3 6 ⊂ 6 ∪ 5 3 polygon from intersecting the other four regions.

P6 e3 r3

P1 r2 e1 P4 P3 r1 P 2 c P e2 5

Figure 4.7: A hybrid bitangent. A vertical segment is added above c to ensure that P3 and P4 are hemimonotone. c 2012 IEEE

Lemma 18. Let P be a monotone polygon that has been partially decom- posed through the addition of a set M of line segments. Let P ′ P be the ⊂ subpolygon with edges in M ∂P that contains v . A line segment m ∪ back i ′ may be added to M that decomposes P such that mi has one of the following properties:

The first line segment placed, m , contains v as an endpoint and • 1 front intersects a reflex vertex.

The last line segment placed, m , contains v as an endpoint and • k back intersects a reflex vertex.

For 1

ce3 edge).

60 Proof. Assume that v Vis(v ) (otherwise the polygon could just be front 6∈ back decomposed with v v ). Since v Vis(v ), the Euclidean shortest front back front 6∈ back path from vfront to vback must contain a segment vfrontr, where r is a reflex vertex. The segment v r P can be used as m . −−−→front ∩ 1 Next is the case where mi does not contain vfront or vback. Assume that all prior edges have been placed according to the guidelines. Assume without ′ loss of generality that the endpoint of mi−1 that is in P is on the lower subchain. Call that point p. Now consider the segment m P ′. One i−1 ∩ endpoint of this segment is p. The other endpoint, q, must be located on the upper subchain. Assume that no point in mi−1 can see vback. Let y be a ray that extends upwards from p. Let end(y) be the point on ∂P that intersects y that is furthest from y’s source point. Since P ′ is monotone relative to a horizontal line, end(y) must initially be some point in the upper subchain. Rotate the direction of y clockwise until reaching the angle where an arbitrarily small clockwise rotation would cause end(y) to be on the lower subchain, and an arbitrarily small counterclockwise rotation would cause end(y) to be on the upper subchain. One of two things must have happened to make further rotation impossible. Either the upper subchain has abruptly ended, in which case y intersects some reflex vertex rupper of the upper subchain, or some reflex vertex rlower of the lower subchain is getting in the way. In the first case, y forms the second half of an L-gadget (where r1 = q, e2 = p, r2 = rupper, e3 = end(y), and e1 is a point to the left of q on the m segment), so use y P ′ as m . In the second case, move the source of i−1 ∩ i y towards q along pq, but ensure that y continues to intersect rlower. Continue moving the source of y toward q until the source reaches the point where an arbitrarily small movement toward q places end(y) on the lower subchain and an arbitrarily small movement toward p places end(y) on the upper subchain or until a reflex vertex rint on the upper subchain intersects the portion of y between the source and rlower. If the source of y reaches q, and end(y) is still on the upper subchain, then y forms a valid bitangent (q = r1, rlower = r2, end(y)= e , and e is a point on the lower subchain below m ), so use y P ′ 2 1 i−1 ∩ as mi. If the movement of the source of y causes the ray to intersect a reflex vertex rint on the upper chain in the segment between rlower and the source of y, then y forms a valid bitangent (r1 = rint,r2 = rlower, e2 = end(y), and e1 is on the other side of mi−1, but the valid bitangent need not actually be extended that far, because that region is already decomposed). A vertical line

61 must be extended upward from the source of y to ensure that all subpolygons are hemimonotone. If the movement of the source of y causes end(y) to move to the lower subchain, then one of two things happened. Either the upper ′ subchain ended abruptly, and y intersects some reflex vertex rupper of the ′ upper subchain, or a reflex vertex rlower of the lower subchain got in the way.

In the first case, y forms the second half of a hybrid bitangent (with q = r1, ′ p = e2, rlower = r2, rupper = r3, end(y) = e3, and the source of y as c), so use y as mi. In the second case, continue moving the source of y closer to ′ q, but ensure that y intersects rlower instead of rlower (and replace the reflex vertex on the lower chain intersected by y repeatedly if the need arises). This process must eventually terminate, because there are only a finite number of reflex vertices on the lower subchain.

For the last edge mk, some point on mk−1 must be able to see vback. If the q point of mk−1 can see vback, then qvback can be used as mk, because q is a reflex vertex. If q Vis(v ), then let x be the point in qp Vis(v ) closest 6∈ back ∩ back to q. There must be some reflex vertex r that prevents a point closer to q from seeing vback. Therefore, xvback can be used as mk, because it intersects reflex vertex r.

Guard sets based on the decomposition defined in Lemma 18 that meet cer- tain conditions have connected visibility graphs, as described in the following lemma. For the purposes of the following two lemmas, index the members of set M = m , m ,...,m in the order that they were added. Also, let { 1 2 |M|} T = t , t , t ,...,t be a set of points such that t is the intersection of { 1 2 3 |M|−1} i mi and mi+1.

Lemma 19. In a hemimonotone decomposition of a monotone polygon P by the process described in Lemma 18, and a guard set S of P where T ⊂ S, and for each s S there exists an ℓ M such that s ℓ, the graph ∈ ∈ ∈ VisGraph(S,P ) is connected.

Proof. If T = 0, then v Vis(v ) and v v is the only member | | front ∈ back front back of M, and a guard set that is contained in a single line segment within the polygon has a connected visibility graph. If T = 0, then for all 1 < i T , t Vis(t ). Therefore, the vertices | | 6 ≤ | | i ∈ i−1 of T form a connected component in VisGraph(S,P ). Since guards are only placed on members of M, and each member of M contains a vertex in T , every

62 vertex of S T is adjacent to a vertex of T in VisGraph(S,P ). Therefore, \ VisGraph(S,P ) is connected.

Additionally, two hemimonotone polygons generated by this decomposition can be covered by guards using the same color set if their bases are sufficiently separated.

Lemma 20. For points p m t , and p m t , Vis(p ) i ∈ i \{ i} i+3 ∈ i+3 \{ i+2} i ∩ Vis(p )= . i+3 ∅

Proof. Since mi+1 and mi+2 are consecutive, either they form an L-gadget, they form a hybrid bitangent, or one of them is a valid bitangent. Therefore, mi+1 and mi+2 separate P into several subpolygons [P1,P2,P3,...Pk], where v P , v P , and for all 2 i k 1, P is hemimonotone. Let front ∈ 1 back ∈ k ≤ ≤ − i ℓ1 be the boundary between P1 and P2, and let ℓk be the boundary between P and P . No point in P ℓ can conflict with any point in P ℓ (see k−1 k 1 \ 1 k \ k Figures 4.5, 4.6, and 4.7). Since m ℓ = t and m ℓ = t , i ∩ 1 { i} i+3 ∩ k { i+2} Vis(p ) Vis(p )= . i ∩ i+3 ∅ Now that the decomposition is defined, some results about the number of guards required for the hemimonotone polygons are necessary.

Lemma 21. A hemimonotone polygon P with n vertices can be guarded by a set of n/3 guards, where all guards are placed on v v . ⌊ ⌋ left right Proof. The polygon P is monotone with respect to a line H, which is assumed to be horizontal. This will proceed via induction on n, the number of vertices in P . The base cases are when n = 3, n = 4, and n = 5. If P is convex, a guard at vleft will suffice to guard the whole polygon. Therefore, assume that P is not convex (which means that n = 4 or n = 5). Let ℓ be a vertical line that intersects v2. Let q be the point at the intersection of vleftvright and ℓ. Therefore v , v , v Vis(q). Consider the quadrilateral with vertices left right 2 ∈ vleft, v1, v2, and q. If v1 is convex, then the quadrilateral is convex, and a guard at q guards the whole quadrilateral. If v1 is reflex, then the only possible triangulation of the quadrilateral places an edge between v1 and q, as v Vis(v ). Therefore, v Vis(q), and if n = 5, then by symmetry left 6∈ 2 1 ∈ v Vis(q). If n = 4, then the remainder of P is a triangle. Therefore, P 3 ∈

63 can be triangulated with a Steiner point at q, with all triangles sharing a vertex at q. Therefore, a guard at q guards all of P . In the inductive step, the goal is to decompose the n-vertex hemimonotone polygon P into two polygons Q and R, where Q is a hemimonotone polygon with at most n 3 vertices, and R can be guarded by one guard placed on − vleft, vright (this guard may be located in Q). Since the base cases apply when n 5, assume that P has at least 6 vertices (and therefore P must contain ≤ a v4 vertex). There are eight subcases, based on whether v1, v2, and v3 are convex or reflex. Figure 4.8 provides illustrations of these subcases.

1: 5: p

2: 6: p p q p

3: 7: p p

4: 8: p q p q p

Figure 4.8: Illustrations of the eight inductive step cases for Lemma 21. The leftmost vertex is vleft. The shaded area represents the subpolygon R. The guard is placed on the blue point. The black vertices represent other vertices of P or R. The points p and q are labelled if applicable. c 2012 IEEE

1) v1, v2, and v3 are convex - Let R be the pentagon with vertices v1, v , v , v , and v . Since v , v , and v are convex, v Vis(v ). This 2 3 4 left 1 2 3 4 ∈ left pentagon can be triangulated with vleft present in each triangle, so a guard placed at vleft guards R. The polygon Q lacks v1, v2, and v3. 2) v and v are convex, v is reflex - If v Vis(v ), then R has vertices 1 2 3 4 ∈ left v1, v2, v3, v4, and vleft, and can be triangulated and guarded in the same way as the previous case. If v Vis(v ), then let point p be the intersection of 4 6∈ left vleftvright and the line formed by extending v3v4. The polygon R has vertices

64 vleft, v1, v2, v3, and p, is convex, and can be guarded with a single guard at vleft. The polygon Q lacks v1, v2, v3, and vleft, but does contain p as a vertex.

3) v1 and v3 are convex, v2 is reflex - Let p be the point at the intersection of vleftvright and a line perpendicular to H that intersects v2. Since v1 and v3 are convex, p Vis(v ) Vis(v ). The polygon R has vertices v , v , v , v , v , ∈ 4 ∩ left left 1 2 3 4 and p. Since P is monotone with respect to H and pv2 is perpendicular to H, p Vis(v ) Vis(v ). Therefore, R can be triangulated with all triangles ∈ 1 ∩ 3 sharing p as a vertex. Therefore, a guard at p guards all of R. The polygon

Q lacks v1, v2, v3, and vleft, but does contain p as a vertex. 4) v is convex, v and v are reflex - If v Vis(v ), then v Vis(v ) 1 2 3 4 ∈ left 3 ∈ left because otherwise, v2 would have to block vleft’s view of v3, which means that it would also block v ’s view of v , as v is reflex. Therefore, if v Vis(v ), left 4 3 4 ∈ left then R is a pentagon with vertices vleft, v1, v2, v3, and v4, and R can be triangulated as per case 1. If v Vis(v ), then let p be the intersection of 4 6∈ left vleftvright and the line formed by extending v3v4. Let q be the intersection of vleftvright and the line perpendicular to H that intersects v2. The polygon R has vertices vleft, v1, v2, v3, and p. The polygon Q lacks v1, v2, v3, and vleft, but does contain p as a vertex. The polygon R can be guarded by a single guard at point q (it is possible for q to not be in R). Since pv2 is perpendicular to H, q Vis(v ) Vis(v ). Therefore, if q R, then R can be triangulated ∈ 1 ∩ 3 ∈ with a Steiner point at q where all triangles share a vertex at q, so a guard at q guards R. If q R, then the polygon R′ with vertices v , v , v , v , q 6∈ left 1 2 3 can be triangulated with all triangles sharing a vertex at q. Since R R′, ⊂ and a guard at q guards R′, a guard at q guards R.

5) v1 is reflex, v2 and v3 are convex - Let point p be the intersection of vleftvright and the line perpendicular to H that intersects v1. Let R be the polygon with vertices vleft, v1, v2, v3, v4, and p. Since v2 and v3 are convex, and pv is perpendicular to H, v , v , v Vis(p). Therefore, R can be 1 2 3 4 ∈ triangulated with all triangles sharing p as a vertex, so a guard at p guards

R. The polygon Q lacks v1, v2, v3, and vleft, but does contain p as a vertex.

6) v1 and v3 are reflex, v2 is convex - Let point p be the intersection of vleftvright and the line perpendicular to H that intersects v2. Let point q be the intersection of vleftvright and the line that intersects v3 and v4 (such an intersection may not exist if vleftvright is not long enough). If q exists and d(vright, q)

65 A guard at p is sufficient to guard R, as v1 cannot block p’s view of vleft or v2 and the other vertices are on the other side of pv2. Therefore, R can be triangulated with a Steiner point at p with all triangles sharing a vertex at p, so a guard at p guards R. If q does not exist or d(v , q) d(v ,p), right ≥ right then let R be the polygon with vertices vleft, v1, v2, v3, v4, and p. In this case,

Q lacks vleft, v1, v2, and v3, but contains p as a vertex. The line segment pv2 divides R into two quadrilaterals with one reflex vertex each. Since p is not adjacent to either reflex vertex in either quadrilateral, a guard at p can guard both quadrilaterals, and thus all of R.

7) v1 and v2 are reflex, v3 is convex - Let point p be the intersection of vleftvright and the line perpendicular to H that intersects v3. Let R be the polygon with vertices vleft, v1, v2, v3, v4, and p. The line segment pv3 divides R into a pentagon and a triangle. A guard at p guards the entire triangle, and the pentagon has only three convex vertices, where p is the middle convex vertex, so a guard at p guards the entire pentagon as well. The polygon Q lacks vleft, v1, v2, v3, but contains p as a vertex.

8) v1, v2, and v3 are reflex - Let point p be the intersection of vleftvright and the line perpendicular to H that intersects v4. Let R be the polygon with vertices vleft, v1, v2, v3, v4, and p. The polygon Q lacks vleft, v1, v2, v3, but contains p as a vertex. Since R has only three convex vertices and p is the middle convex vertex, a guard at p guards all of R.

Combining these lemmas leads to the desired result.

Theorem 22. For any n-vertex monotone polygon P , χ (P ) n/3+12. CL ≤ Proof. Decompose P using Lemma 18. Let the guard set S initially consist of the points in T . Due to Lemma 20, the members of T require only 4 colors (because t m t , and t m t , so Vis(t ) Vis(t )= i ∈ i+1 \{ i+1} i+4 ∈ i+4 \{ i+3} i ∩ i+4 ). Use the methods described in Lemma 21 to make a guard set for each ∅ hemimonotone polygon in the decomposition, and add those guard sets to S. Lemma 19 ensures that VisGraph(S,P ) is connected. Let (m ) be the sum of the number of vertices in the two hemimonotone k i polygons that share mi as a base. Define three variables n0, n1, n2 as follows:

ni = max (mi). (4.3) j≡i mod 3 k

66 In the decomposition, at least k 4 vertices of a k-vertex hemimonotone − polygon are vertices of the original, undecomposed monotone polygon that are not shared between two or more hemimonotone polygons (the possible exceptions are vleft, vright, v1, and vk), and at most two hemimonotone poly- gons share the same base. Therefore n + n + n n + 24, and the six 0 1 2 ≤ hemimonotone polygons require at most n/3 + 8 colors in total.

Since ni is the maximal number of vertices in any pair of hemimonotone polygons that share a base that has an index of i mod 3, and by Lemma

20, the visibility regions of guards on mi and mi+3 do not intersect, all hemimonotone polygons can be colored with the colors used on the three bases associated with n0,n1, and n2. With the additional 4 colors required to color the members of T , up to n/3+12 total colors are used. Therefore, χ (P ) n/3 + 12. CL ≤ An example polygon that has been decomposed into hemimonotone poly- gons and given a guard placement and coloring is shown in Figure 4.9.

Figure 4.9: A monotone polygon decomposed, guarded, and colored. The thin solid lines are the hemimonotone bases, and the dotted lines extend vertically from the intersection of bases if needed to ensure that the subpolygons are hemimonotone. c 2012 IEEE

4.3.1 NP-hardness

While NP-hardness for the chromatic art gallery problem is an easy corollary of a previously existing result [55], this existing result is not applicable to the connected landmark class number. This section will demonstrate that determining the connected landmark class number is NP-hard by a reduction from a known NP-hard problem,

67 optimal coloring of circle graphs [69], much like the proof in Section 3.2.

Theorem 23. The connected landmark class number problem is NP-hard.

Proof. Let H be the intersection graph of a set T of m chords. Let Q be the convex hull of the endpoints of the chords. For each chord, at one of its endpoints replace the vertex of Q with a thin building gadget consisting of a triangular region (the body) and 2m + 1 small triangular spikes attached to the left side of the body (middle left picture in Figure 4.10). Call the resulting polygon P . The spikes within a single building gadget are arranged such that they can be guarded by a single guard, and the building gadget is thin enough that the portion of the guard’s visibility polygon that is in Q can be treated as a line segment that occupies the same points as the chord associated with the building gadget. Note also that any guard placed in the body of a building gadget contains the points of the chord in its visibility polygon. Therefore, P can be guarded by a set of 2m guards (one in each of the building gadgets to guard the spikes, and one in the interior of Q to connect the visibility graphs), so χ (P ) 2m. CL ≤ It is non-optimal to guard the spikes within a single gadget by placing guards in the spikes themselves. In order to not use a guard in the body of a gadget, each spike must have its own separate guard. If such an arrangement were used, there would exist a point in the body at which the visibility polygons of these 2m + 1 guards would all intersect (the grey point in the middle left picture of Figure 4.10). This would use at least 2m + 1 colors, and so it is non-optimal. Therefore, at least one guard must be placed in the body of each gadget. Since the entirety of the gadget can be viewed from a single point, there is no reason to use more than one guard in any gadget. The portion of that guard’s visibility polygon in Q is thin enough that it can be treated as the set of points making up the associated chord. Therefore, two gadget guards’ visibility polygons intersect if and only if their associated chords intersect. This leaves the guards needed in Q to ensure that the visibility graph is connected. The goal here is to use a predictable number of these guards. To accomplish this, m additional forcing gadgets are added around the boundary of Q to produce a polygon P ′. A forcing gadget is placed at each chord endpoint that does not already have a building gadget (each chord will have a building gadget at one endpoint, and a forcing gadget at the other endpoint).

68 Each forcing gadget consists of 2m + 1 thin spikes (see lower left picture of Figure 4.10). These 2m + 1 spikes can be guarded by a single guard placed in Q, meaning that χ (P ′) 2m, as one guard could guard each forcing CL ≤ gadget and each building gadget, and there are m of each. The visibility graph of the guards is connected because each guard in a building gadget can see the corresponding guard in the forcing gadget, and all the guards in the forcing gadgets would be mutually visible, as they lie in the convex subpolygon Q. Furthermore, any guard that can guard two or more of these spikes lies in Q, and therefore conflict with every other guard in the polygon. This means that using more than one guard in Q to guard the spikes of a single forcing gadget is a needless use of extra colors. Guarding these 2m +1 spikes without placing a guard in Q would require the use of at least 2m +1 guards, all of which would mutually conflict, requiring at least 2m + 1 colors, which is non-optimal, as it has already been shown that χ (P ′) 2m. CL ≤ Therefore, a guard placement that minimizes the number of colors and ensures a connected visibility graph places one guard in each building gadget, and one guard in each forcing gadget. In the conflict graph, each guard placed in a forcing gadget is adjacent to all other guards (meaning that each guard in a forcing gadget requires a unique color), and the induced subgraph of the guards in the building gadgets is isomorphic to H. Therefore, ′ χCL(P ) = χ(H)+ m. Because determining the chromatic number of H is ′ NP-hard, determining χCL(P ) is also NP-hard.

69 5 1 2

4

3 3 7 6

1 7 6 4

5 2

Figure 4.10: [top] A set of m = 7 chords in a circle and their intersection graph. [middle left] A gadget consisting of a triangular region with 2m +1 spikes attached to the left side. The spikes can all be completely guarded by the grey point. Placing guards in the spikes is non-optimal (as it would require at least 2m + 1 colors), as is placing more than one guard in the triangular region. [middle right] The polygon P , in which each gadget guard’s visibility polygon closely follows the associated chord. [bottom left] A forcing gadget. The spikes can all be guarded with a guard placed at the grey point. [bottom right] The polygon P ′.

70 CHAPTER 5

INTERSECTION GRAPHS OF k-LINK VISIBILITY REGIONS

5.1 Introduction and Related Work

The results on the chromatic art gallery problem from the prior chapters were determined using geometric methods, with little emphasis on the properties of the conflict graph and problem of coloring that graph. This chapter focuses on the structure of the conflict graphs themselves. While knowledge about the conflict graphs is useful for the chromatic art gallery problem, it is also an interesting topic of study in its own right. The interesting properties of conflict graphs arise because the conflict graphs are intersection graphs of visibility regions. An intersection graph is a graph in which each vertex is a set, and two graph vertices are joined by an edge if the corresponding sets have a non-empty intersection. Techniques for determining the intersection graphs of regions visible from a camera (sometimes referred to as vision graphs) were described in [70] and [71]. Vision graphs were used for the purposes of camera calibration in [72]. These regions visible from a camera were generally not omnidirectional, and sometimes had a blind spot very close to the camera. A related structure, the CN-complex, was studied in [73] and [74]. The CN-complex is a simplicial complex that keeps track of the higher order intersections in addition to the pairwise intersections captured by the inter- section graph. The CN-complex is used primarily to analyze the topology of environments and the fields of view of the cameras in them. The papers listed above are typically concerned with either fast compu- tation of the intersection graph or with the use of the graph in some sort of surveillance task. This, along with the chromatic art gallery problem, provides the motivation for determining the structural properties of the in- tersection graphs. Knowledge of these structural properties could guide the

71 design of algorithms used to determine or utilize vision graphs, or could pro- vide sanity checks for existing algorithms. For the purposes of the chromatic art gallery problem, the primary motivation is to place limitations on the chromatic number of conflict graphs. The results in this chapter also apply to intersection graphs of a more general class of polygons than visibility regions; they apply to intersection graphs of k-link visibility regions. A visibility region is the set of points that can be joined to a point p in a polygon by a line segment that is internal to the polygon. A k-link visibility region is the set of points that can be joined to a point p in a polygon by a path consisting of up to k line segments that is internal to the polygon. The k-link visibility regions are closely related to existing work on link distance queries in a polygon, as the k-link visibility region of a point p is the set of points that have a link distance of at most k from p. A paper on the link distance topic, [75], provides two useful results about the shape of k-link visibility regions (though the authors did not use that term), which are summarized at the beginning of Section 5.4. It should be noted that the structure referred to as a “visibility graph” in most other works is a structure that is referred to here as a 1-link visibility graph. There is a large amount of existing research on characterizing these 1-link visibility graphs; [76] is a survey on the topic and [39] devotes a section to the issue. An important early work is [77], in which it was shown that each outerplanar graph is a 1-link visibility graph of vertices of a certain family of polygons. Also notable are [78] and [79], which establish certain necessary conditions for 1-link visibility graphs, though these conditions have been shown to be not sufficient [80]. Other necessary conditions are described in [81]. Spiral polygons are one of the few classes that have had their 1-link visibility graphs fully described [82]. The results in this chapter fall into two categories. Section 5.3 details inclusion relationships between intersection graphs of visibility regions and other, more well-known graph classes. Section 5.4 describes two families of graphs that are not 2k-link visibility graphs. Since 2k-link visibility graphs are closed under induced subgraphs, these forbidden families also cannot appear as induced subgraphs of any 2k-link visibility graphs.

72 5.2 Definitions

5.2.1 Geometry

For a set S consisting of points in a polygon P , the k-link visibility graph of

S in P , denoted VisGraphk(S,P ) is a graph with vertex set S . Two graph vertices s, t S are joined by an edge if there exists a path from s to t that ∈ is a subset of P and consists of the union of at most k line segments (see Figure 5.1). As in the previous sections, to differentiate the polygon P from subpolygons of P that will arise during proofs, P will be referred to as the input polygon. Note that the conflict graph from Chapter 2 is a 2-link visibility graph, and the term “visibility graph” as used in [39], [76], and others is a 1-link visibility graph.

Figure 5.1: The 1-link visibility graph, 2-link visibility graph, and 3-link visibility graph for a set of points in a polygon.

A subset Q of a polygon P is geodesically convex if for any points p, q Q, ∈ the minimum length path between p and q that is internal to P is contained within Q. A subset Q is link-geodesically convex if for any points p, q P ′, ∈ there exists a path consisting of L(p, q) line segments that is contained within P ′.

73 For a point q in an input polygon P , the k-link visibility region of q, denoted Vis (q) is the set p P there exists a path from p to q internal k { ∈ | to P consisting of the union of at most k line segments (see Figure 5.2). } Note that a 2k-link visibility graph is an intersection graph of k-link visibility regions.

Figure 5.2: The 1-link visibility region, 2-link visibility region, and 3-link visibility region of a point.

5.2.2 Graphs

Let G be a graph with vertex set V . The subgraph induced by a subset W of V is the graph with vertex set W with two vertices v , v W joined by 1 2 ∈ an edge in the subgraph if they are joined by an edge in G. A clique is a subset W of V such that each pair of vertices in W is joined by an edge. The clique number of a graph G, denoted ω(G), is the size of G’s largest clique. A graph is an interval graph if it is the intersection graph of intervals of the real line (see top of Figure 5.3). A graph is a k-track graph if it is the union of at most k interval graphs. A graph is a k-interval graph if it is the intersection graph of sets that consist of at most k intervals of the real line (see bottom of Figure 5.3). Note that, for a fixed k, the k-track graphs are a subset of the k-interval graphs. A graph is a circle graph if it is the intersection graph of chords of a circle (see Figure 5.4). Circle graphs were previously used in the proof of Theorem 23.

74 Figure 5.3: [top] Intervals of the real line, and the corresponding intersection graph (interval graph). [bottom] Sets consisting of at most 2 intervals of the real line, and the corresponding intersection graph (2-interval graph).

Figure 5.4: Chords of a circle, and the corresponding intersection graph (circle graph).

A graph is a circle-polygon graph if it is the intersection graph of polygons inscribed in a circle (see Figure 5.5).

75 Figure 5.5: Polygons inscribed in a circle, and the corresponding intersection graph (circle-polygon graph).

5.3 Graph Inclusions

One of the primary motivations behind determining the inclusion relation- ships between intersection graphs of visibility regions and other classes is that many graph classes are χ-bounded, meaning that the chromatic num- ber of the graph can be upper-bounded by a function of the clique number of the graph. The clique number of a graph G, denoted ω(G), is the size of the largest clique in the graph. While the chromatic number of a graph is always lower-bounded by the clique number of the graph, only certain classes of graphs can be upper-bounded by a function of the clique number, as there exist graphs with arbitrarily high chromatic number and arbitrarily high girth (length of the shortest cycle) [83]. In particular, k-interval graphs [84] and circle-polygon graphs [85] are χ-bounded. Because the shape of the input polygon influences the possible 2k-link visibility graphs, heavier restrictions on the shape of the polygon lead to more restricted graph classes. For that reason, this section also examines the types of k-link visibility graphs that are possible when the input polygon is a spiral polygon or a monotone polygon.

5.3.1 General Polygons

With no restrictions on the shape of the polygon, the possible 2k-link visi- bility graphs are contained within the set of circle-polygon graphs.

76 Theorem 24. For any polygon P and finite set of points S P , the 2k-link ⊂ visibility graph VisGraph2k(S,P ) is a circle-polygon graph.

Proof. Let f be a continuous bijection from ∂P to S1. We will abuse no- tation and allow f to map subsets of ∂P to subsets of S1. Note that for s ,s S, there is an alternating sequence of points a, c Vis (s ) ∂P and 1 2 ∈ ∈ k 1 ∩ b, d Vis (s ) ∂P along ∂P if and only if there is an alternating sequence ∈ k 2 ∩ f(a), f(c) f(Vis (s )) and f(b), f(d) f(Vis (s )) along S1. ∈ k 1 ∈ k 2 Because circle-polygon graphs are χ-bounded, 2k-link visibility graphs are also χ-bounded.

Corollary 25. For any polygon P and finite set of points S P , ⊂ χ(VisGraph (S,P )) 50 2ω(VisGraph2k(S,P )) 2k ≤ × Proof. Follows directly from Theorem 24 and Theorem 3.1 of [85].

5.3.2 Monotone Polygons

When the input polygon is monotone, any 2k-link visibility graphs are the union of two interval graphs. The proofs in this section require some additional definitions. Let U(P ) | | be the total length of the upper subchain. For a point p Vis(s) U(P ), ∈ ∩ let µ(p) U(P ) be the distance of p from v along the upper subchain. The | | −x function µ will be referred to as the boundary measure. For a point s S, ∈ − + let i (s) = minp∈Vis(s)∩U(P ) µ(p), let i (s) = maxp∈Vis(s)∩U(P ) µ(p), and let x(s) be the x-coordinate of s. Note that, because P is monotone, the point p where µ(p) = i−(s) has an x-coordinate of at most x(s), and the point q where µ(q) = i+(s) has an x-coordinate of at least x(s). Similar properties hold for the lower subchain.

Theorem 26. For any monotone polygon P and finite set of points S ⊂ P , the 2k-link visibility graph VisGraph2k(S,P ) is the union of two interval graphs.

Proof. One of the two interval graphs will be defined with respect to the upper subchain, and the other will be defined in a similar manner with respect to the lower subchain.

77 The upper subchain interval graph is the interval graph that has vertex set S with each s S being associated with the upper subchain interval ∈ [i−(s), i+(s)]. Define the lower subchain interval graph analogously. Note there can exist points whose boundary measure lie in between i−(s) and + i (s) that are not contained in Visk(s) (see Figure 5.6). It will be shown that VisGraph2k(S,P ) is equal to the union of the upper subchain interval graph and the lower subchain interval graph.

vback

vfront

Figure 5.6: The visibility region of a point is shown in grey. The portion of the upper subchain whose boundary measure is within the upper subchain interval of the point but is not part of the visibility region is indicated by the arrows.

Suppose that s1 and s2 have overlapping upper subchain intervals. Assume without loss of generality that x(s ) x(s ), implying i+(s ) i−(s ). There 1 ≤ 2 1 ≥ 2 is a path internal to Visk(s1) from a point on the lower subchain with an x- coordinate of x(s1) to a point v1 on the upper subchain in which µ(v1) = + i (s1). Similarly, there is a path internal to Visk(s2) from a point on the lower subchain with x-coordinate x(s2) to a point v2 on the upper subchain, − in which µ(v2) = i (s2). These paths intersect, so the corresponding graph vertices are adjacent. The situation for overlapping lower subchain intervals follows by symmetry.

This leaves the case in which the upper subchain intervals of s1 and s2 do not overlap and the lower subchain intervals of s1 and s2 do not overlap. Again, without loss of generality, assume that x(s ) x(s ). Let ℓ be the 1 ≤ 2 1 line segment joining the rightmost point of Visk(s1) on the lower subchain and the rightmost point of Visk(s1) on the upper subchain and let ℓ2 be the

78 line segment joining the leftmost point of Vis(s2) on the upper subchain and the leftmost point of Visk(s2) on the lower subchain (the existence of both segments is guaranteed by Theorem 28). Note that ℓ1 and ℓ2 cannot intersect without a subchain interval overlap. All of Visk(s1) lies to the left of ℓ1, and all of Visk(s2) lies to the right of ℓ2. Therefore, the visibility regions are disjoint. Since the vertices of VisGraph2k(S,P ) corresponding to s1 and s2 are joined by an edge if and only if the upper subchain intervals overlap or the lower subchain intervals overlap, VisGraph2k(S,P ) is the union of two interval graphs.

Since VisGraph2k(S,P ) is the union of two interval graphs, the interval number of VisGraph2k(S,P ) is at most 2. Figure 5.7 illustrates a monotone polygon and set of guards in which VisGraph2(S,P ) = C4, demonstrating that there exist 2-link visibility graphs of monotone polygons whose interval numbers are exactly 2. It is not clear whether there exist 2k-link visibility graphs of monotone polygons with interval number 2 for arbitrarily high choices of k.

Figure 5.7: A monotone polygon and set of points whose 2-link visibility graph is C4. Visibility regions are shown in light grey, and intersections between visibility regions are shown in dark grey.

Since VisGraph2k(S,P ) has an interval number of at most 2 when P is monotone, VisGraph2k(S,P ) is χ-bounded [84]. More specifically for a graph G with an interval number of at most 2, the following relationship holds:

χ(G) 4ω(G) 4. (5.1) ≤ −

79 5.3.3 Spiral Polygons

When the input polygon is a spiral polygon, any 2k-link visibility graphs are interval graphs. The convex subchain of the polygon boundary is denoted C. Let C be | | the length of the convex subchain. For a point c C, let µ(c) C be the ∈ | | distance from c to p along the convex subchain. For a point s P , let ∈ + − i (s) = maxp∈Vis(s)∩C µ(p) and let i (s) = minp∈Vis(s)∩C µ(p).

Theorem 27. For any spiral polygon P and finite set of points S, where S P , the 2k-link visibility graph VisGraph (S,P ) is an interval graph. ⊂ 2k Proof. For points c ,c ,c , if c ,c Vis (s) and µ(c ) µ(c ) µ(c ), then 1 2 3 1 3 ∈ k 1 ≤ 2 ≤ 3 c Vis (s). We will show the intersection graph of these associated intervals 2 ∈ k is isomorphic to VisGraph2k(S,P ). This can be accomplished by showing that for two points s ,s P , Vis (s ) Vis (s ) = only if Vis (s ) 1 2 ∈ k 1 ∩ k 2 6 ∅ k 1 ∩ Vis (s ) C = . k 2 ∩ 6 ∅ Let s and s be points in P such that Vis (s ) Vis (s ) = . Theorem 1 2 k 1 ∩ k 2 6 ∅ 28 implies that any edge of Visk(s1) or Visk(s2) that is not a subset of an edge of ∂P connects a reflex vertex r of P to a point t on ∂P . If t is on the reflex subchain, then rt is a subset of an edge of ∂P . Therefore, t is on the convex subchain. Call such an edge a boundary edge. Suppose that Vis (s ) Vis (s ) C = . Assume without loss of gen- k 1 ∩ k 2 ∩ ∅ + − erality that i (s1) < i (s2). In that case, the two k-link visibility regions have boundary edges that intersect. Consider the reflex endpoint r1 of the intersecting boundary edge r t of Vis (s ). There is a point a Vis (s ) 1 1 k 1 ∈ k−1 1 such that ar P (note that a cannot be part of the boundary edge, as the 1 ∈ boundary edge lies entirely in Vis (s ) Vis (s )). The entirety of r t is k 1 \ k−1 1 1 1 in Vis(a) (see Figure 5.8), so there exists a point b P Vis (s ) that is ∈ \ k 1 visible from a. This is impossible and therefore Vis (s ) Vis (s ) = only k 1 ∩ k 2 6 ∅ if Vis (s ) Vis (s ) C = . k 1 ∩ k 2 ∩ 6 ∅ Spiral graphs can be recognized in linear time [86], so verification of whether a graph can appear as a 2k-link visibility graph of a spiral polygon can be performed very efficiently.

80 b t1 t2 a

r2 r1 Vis (s ) Vis (s ) k 1 k 2 C

Figure 5.8: For each point a Vis(r ) Vis (s ), the set ∈ 1 ∩ k−1 1 Vis(a) (P Vis (s ) is non-empty. This is a contradiction. ∩ \ k 1 5.4 Forbidden Graphs

The results in this section demonstrate that two infinite families of graphs that are not intersection graphs of k-link visibility regions (equivalently, 2k- link visibility graphs). This result is independent of k. The following two results from [75] are used extensively throughout this section.

Theorem 28. A k-link visibility region Visk(s) in a polygon P is a subpoly- gon of P . Furthermore, each edge in Visk(s) is either a portion of an edge of P or a segment connecting a reflex vertex of P to a point on ∂P .

Theorem 29. A k-link visibility region is geodesically convex and link-geodesically convex.

Moreover, the portion of the polygon that is not part of Visk(s) takes a specific structure.

Lemma 30. The closure of the set P Vis (s) consists of disconnected polyg- \ k onal components, each sharing exactly one edge with Visk(s). This edge con- nects a reflex vertex of P to a point on ∂P .

Proof. Suppose that a component R of the closure of P Vis (s) shares more \ k than one edge with Visk(s). If all such edges are appear consecutively along the boundary of R, then Visk(s) is not geodesically convex, which violates Theorem 29.

If the edges shared with Visk(s) do not appear consecutively, then either

P is not simply connected or Visk(s) is not connected, neither of which is possible.

81 A graph H is an augmented cycle if it consists of an m-vertex chordless cycle Cyc(H) with vertices in cyclic order [h0, h1,...,hm−1], along with an additional vertex Hub(H) that is adjacent to a subset of the vertices of Cyc(H). Any arithmetic in the subscripts is modulo m. A cycle interval of the augmented cycle is a maximal set of consecutive vertices of Cyc(H) that are adjacent to Hub(H). The cycle interval number of an augmented cycle is the number of cycle intervals contained in the augmented cycle (see Figure 5.9). When an augmented cycle is part of a 2k-link visibility graph, notation will be abused somewhat and use h0, h1,...,hm−1 and Hub(H) to refer to both the vertices of H and to their associated points in the input polygon.

Figure 5.9: Augmented cycles with cycle interval numbers 2, 4, and 3. The cycle intervals are circled with dotted lines.

Observation 31. Augmented cycles are circle-polygon graphs.

See Figure 5.10 for methods of constructing circle-polygon intersection models for augmented cycles.

Lemma 32. Let C be a chordless cycle (with vertices in cyclic order

[c0,c1,...,cm−1]) with at least 4 vertices that appears as an induced subgraph of a 2k-link visibility graph. For each vertex ci of C, there exists a connected component R of P Vis (c ) that contains Vis (c ) for all j unless j = i, i \ k i k j j = i +1, or j = i 1. Furthermore, R R ... R form a convex − 0 ∩ 1 ∩ ∩ m−1 m-gon.

Proof. Lemma 30 implies that P Vis (c ) is a set of disconnected polygonal \ k i components. Since Vis (c ) Vis (c ) = , Vis (c ) Vis (c ) = k i+2 ∩ k i+3 6 ∅ k i+3 ∩ k i+4 6 ,..., Vis (c ) Vis (c ) = and Vis (c ) Vis (c )= unless j = i 1 ∅ k i−3 ∩ k i−2 6 ∅ k j ∩ k i ∅ − or j = i + 1, all of Vis (c ) lies in the same component of P Vis (c ) unless k j \ k i j = i 1, j = i, or j = i + 1. This component will be referred to as R . − i 82 Figure 5.10: [left] An augmented cycle Hleft in which the hub has degree greater than one. [left center] A circle-polygon intersection model for Hleft. The black chords correspond to the vertices of Cyc(Hleft), while the grey polygon corresponds to Hub(Hleft). [right center] An augmented cycle Hright in which the hub has degree 1. [right] A circle-polygon intersection model for Hright. The black triangle is the member of Cyc(Hright) that is adjacent to Hub(Hright) (corresponding to the grey chord). The black chords are the other cycle vertices.

c3 c3 c2 c2

R0

e0 c1 c1

c4 c4

c0 c0

Figure 5.11: An input polygon and set of points whose 2-link visibility graph forms a chordless C5. [left] Vis1(c0) divides the polygon into three regions. One is Vis1(c0). The second contains c1, and the last is R0. The dotted line is the edge e0. [right] All 1-link visibility regions are shown, with overlaps in a darker grey. The cycle polygon is surrounded by a dotted line.

Consider R R . This region has one edge that is part of ∂Vis (c ), i ∩ i+1 k i and one edge that is part of ∂Visk(ci+1). Since ci and ci+1 are adjacent in C, their visibility regions intersect at their edges that bound R R (call i ∩ i+1 these edges e and e ). The vertex of R R at the intersection of e and i i+1 i ∩ i+1 i ei+1 is convex, as otherwise Visk(ci) or Visk(ci+1) would have a vertex that is not located on ∂P . Therefore, R R ... R forms a convex m-gon 0 ∩ 1 ∩ ∩ m−1 (see Figure 5.11).

The convex m-gon formed by R R ... R will be referred to as 0 ∩ 1 ∩ ∩ m−1

83 a cycle polygon. The notation CycPoly(H) will refer to the cycle polygon formed by the chordless cycle of an augmented cycle H. The term ei will refer to the edge of Visk(hi) that borders CycPoly(H) (note that in general only a portion of the edge will border the cycle polygon). A point p P ∈ is behind e if p e or if a path (internal to the input polygon) from p to i ∈ i a point in the interior of the cycle polygon must cross ei. From this point forward, a sequence of vertices of Cyc(H) will be described as clockwise if their corresponding edges appear in clockwise order around the boundary of CycPoly(H).

Lemma 33. Let H be an augmented cycle with Cyc(H) consisting of the following clockwise sequence of vertices [h0, h1,...,hm−1]. If the following conditions apply to H for some choice of i, j, and ℓ,

Hub(H) is behind e ; • i Hub(H) is not behind e and not behind e ; • i+j i+j+ℓ Hub(H) is adjacent to h ,h , and h ; • i i+j i+j+ℓ j + ℓ < m; • then Hub(H) is adjacent to h for each 0 c ℓ. i+j+c ≤ ≤ Proof. Consider the case in which k 2. If Vis (Hub(H)) intersects ≥ k−1 CycPoly(H), then Hub(H) is adjacent to all vertices in Cyc(H) and the lemma is trivially true. Otherwise, Visk−1(Hub(H)) contains an edge t that separates it from CycPoly(H). Since Hub(H) is adjacent to hi+j (resp. hi+j+ℓ), there is a line segment f (resp. g) that is internal to P with one endpoint in Visk−1(Hub(H)) and another endpoint in Visk(hi+j) (resp.

Visk(hi+j+ℓ)) that crosses both t and ei+j (resp. ei+j+h). Without loss of generality, assume that the endpoints of f and g are located on ei+j and ei+j+ℓ (points f1 and g1) and on t (points f2 and g2). Let z be the path from f1 to g1 that proceeds from f1 to CycPoly(H) along ei+j, clockwise along the boundary of CycPoly(H) until reaching ei+j+ℓ, and toward g1 along ei+j+ℓ. If k = 1, then the aforementioned line t does not exist. However, because

Hub(H) is adjacent to hi+j and hi+j+ℓ, there exists a line segment f with an endpoint at Hub(H) and another endpoint on ei+j, and there exists a line segment g with an endpoint at Hub(H) and another endpoint on ei+j+ℓ.

84 z f1 z z f1 f1 ei+j ei+j g1 ei+j g f 1 f f e i+j+ℓ CycPoly(H) g e CycPoly(H) i+j+ℓ g

ei ei+j+ℓ CycPoly(H) g ei ei g1 t t t g2 g2 f2 f2 g2 f2

Figure 5.12: [left] If f and g intersect, each point on z (thick black path) is visible from some point on t that lies between f2 and g2. [middle] If f and g do not intersect, then an obstruction-free convex polygon is formed (light grey), and each point on z is visible from each point on f2g2. [right] Note that z can include points that are not on the boundary of the cycle polygon.

There are two possible cases (see Figure 5.12). In the first case, f and g intersect at a point x and f = g . Since P has no holes, each point on z 2 6 2 is visible from a point on f2g2 via a line segment that passes through x. In the second case, no such intersection occurs or f2 = g2 (as would happen if k = 1). The polygon with boundaries f, z, g, and f g (if f = g ) is convex 2 2 2 6 2 and unobstructed. Therefore, each point on z is visible from each point in f g . Since e z = when 0 c ℓ, the lemma is proven. 2 2 i+j+c ∩ 6 ∅ ≤ ≤ Lemma 33 implies that certain augmented cycles are not 2k-link visibility graphs.

Theorem 34. Let H be an augmented cycle with a cycle interval number of at least 3. The graph H is not a 2k-link visibility graph.

Proof. Suppose that H is a 2k-link visibility graph. Consider the possible locations for Hub(H). It cannot be inside CycPoly(H), as that would connect Hub(H) to all members of Cyc(H). If some h Cyc(H) is not adjacent to i ∈ Hub(H), then Hub(H) cannot be behind ei, as there would be no way for

Visk(Hub(H)) to intersect the k-link visibility regions of any members of

Cyc(H) (other than hi−1 and hi+1, which could provide a maximum of two intervals) without also intersecting Visk(hi). Therefore, Hub(H) is located behind ej, where hj is some member of Cyc(H) that is adjacent to Hub(H). There are at least three intervals of the cycle that are adjacent to Hub(H).

One interval contains hj. Consider two cycle intervals that do not contain hj.

85 Let hj+ℓ be a vertex from one interval, and let hj+ℓ+c be a vertex in the other interval. Note that, in order to ensure that the cycle intervals are separate, 2 ℓ<ℓ +1 < ℓ + c < m 1. Without loss of generality, assume that ≤ − the three vertices appear in clockwise order hj,hj+ℓ,hj+ℓ+c. Since hj+ℓ and hj are not adjacent in Cyc(H), and hj+ℓ+c and hj are not adjacent in Cyc(H),

Lemma 33 implies that Hub(H) is adjacent to each hj+ℓ+d in Cyc(H) for 0 d c. However, this would place h and h into the same cycle ≤ ≤ j+ℓ j+ℓ+c interval, which is a contradiction. Therefore, H is not a 2k-link visibility graph.

Certain augmented cycles with cycle interval number 2 also are not 2k-link visibility graphs. To show this, an observation is made about the location of Hub(H).

Lemma 35. For an augmented cycle H and three consecutive vertices hi−1, hi, and hi+1 of Cyc(H), the point Hub(H) cannot be behind both ei−1 and ei+1.

Proof. Since Cyc(H) is chordless, ei−1 and ei+1 cannot intersect and Theorem

28 requires the endpoints of ei−1 and ei+1 to be on the boundary of the input polygon. Since ei−1 and ei+1 both contact the boundary of the cycle polygon, they divide the input polygon into three regions. One contains the cycle polygon, one contains the points behind ei−1, and one contains the points behind ei+1, with the latter two regions not overlapping (see Figure 5.13).

Theorem 36. Let H be an augmented cycle with cycle interval number 2 in which each cycle interval contains at least three vertices. The graph H is not a 2k-link visibility graph.

Proof. Suppose that H is a 2k-link visibility graph. Consider the possible locations for Hub(H). As in the previous proof, Hub(H) cannot be located in CycPoly(H), as that would make all members of Cyc(H) adjacent to Hub(H). If some h Cyc(H) is not adjacent to Hub(H), then Hub(H) i ∈ cannot be behind ei, as there would be no way for Visk(Hub(H)) to intersect the k-link visibility regions of any members of Cyc(H) (other than hi−1 and hi+1, which would provide cycle intervals containing at most one vertex each).

Therefore, Hub(H) is located behind an edge ej with hj being a vertex of

Cyc(H) that is adjacent to Hub(H). Let hj+ℓ be a vertex in the same cycle

86 CycPoly(H)

ei 1 ei+1 −

Figure 5.13: The edges ei+1 and ei−1 (dotted grey lines) divide the polygon into three regions. The region containing the cycle polygon is in the middle. The region containing the points behind ei+1 is to the left of ei+1. The region containing the points behind ei−1 is to the right of ei−1. Solid black lines denote the input polygon boundary (only a portion is drawn).

interval as ej such that Hub(H) is not behind hj+ℓ (the existence of such a vertex is implied by Lemma 35 and the fact that both cycle intervals contain at least three vertices). Without loss of generality, assume that hj+ℓ is located clockwise of hj within their shared cycle interval, so hj, hj+1,...,hj+ℓ all share the same cycle interval.

Let hj+ℓ+c be a vertex that is in the cycle interval that does not contain hj and hj+ℓ (with h chosen such that ℓ + c is less than the number of vertices in Cyc(H)). Because hj+ℓ is clockwise of hj in their shared cycle interval, Lemma 33 implies that h is adjacent to Hub(H) for all 0 d c. j+ℓ+d ≤ ≤ However, this places hj+ℓ and hj+ℓ+h into the same cycle interval, which is a contradiction. Therefore, H is not a 2k-link visibility graph.

87 CHAPTER 6

DISCUSSION AND CONCLUSION

6.1 Summary of Results and Discussion

The following table summarizes the known bounds for problems proposed in this thesis. Bounds highlighted in red are trivial bounds obtained from the corresponding art gallery result in [1], [43], [46], or [47]. Problem Type Lower Bound Upper Bound General Polygons n n ⌊ 4 ⌋ ⌊ 3 ⌋ Monotone Polygons n n ⌊ 3 ⌋ ⌊ 3 ⌋ Rectilinear Polygons n 15 5 n ⌊ 4 −p16 − 4 ⌋ ⌊ 4 ⌋ Monotone Rectilinear Polygons q n 15 5 n + 11 ⌊ 4 − 16 − 4 ⌋ ⌊ 5 ⌋ Staircase Polygons q 2 3 Spiral Polygons 2 2 General Polygons, connected visibility graph 5n n 2 ⌊ 18 ⌋ ⌊ 2 − ⌋ Monotone Polygons, connected visibility graph 2 n 1 n + 12 ⌊ 3 ⌋ − 3

In addition, it was demonstrated that determining whetherp χG(P ) >k is NP-hard when k 5, and that determining χ (P ) is NP-hard in general. ≥ CL The expectation is that these bounds will provide guidance in the selec- tion of sensors for robotic navigation. If a robot is provided sensors that can differentiate fewer landmark classes than the chromatic guard number of the environment in which it is placed, then it will not be able to unam- biguously navigate through the entire environment. If the robot is provided with sensors that differentiate vastly more classes than the chromatic guard number of the environment, then the sensors are likely adding computational overhead, maintenance overhead, and costs to the system with little benefit (sensors tend to be more difficult and costly to maintain and purchase as they become more powerful). Avoiding these additional overheads becomes

88 particularly important in areas like consumer robotics (where retail costs must be carefully controlled) and microrobotics (where physical space and electrical power for computational and sensing resources may be scarce). It was also shown that intersection graphs of k-link visibility regions must be circle-polygon graphs and cannot contain two families of augmented cycles as induced subgraphs. In a spiral polygon, any such intersection graph is an interval graph, and in a monotone polygon, any such intersection graph is the union of two interval graphs. The forbidden induced subgraphs for k-link visibility regions is the por- tion of this dissertation that is most suited for immediate use. Numerous algorithms, including the ones described in [70] and [71], attempt to deter- mine a vision graph or similar structure from still photographs taken from a set of cameras. An algorithm is used to find landmarks in the photographs, and if any landmarks are deemed to be shared by two photographs, the ver- tices corresponding to the cameras that took those photographs are joined by an edge in the output vision graph. A search for a finite set of some of the smaller forbidden induced subgraphs described in Theorems 34 and 36 could be performed on the output graph. If any forbidden graphs are found, the photographs associated with the vertices in the forbidden induced subgraph could be reanalyzed with a different algorithm or with different parameters to attempt to fix the error. These operations could be performed in polynomial time even with a naive algorithm, and might become very efficient if properly integrated with the algorithm that produces the vision graphs. Furthermore, the results that imply χ-boundedness open up new op- tions for proving bounds in the chromatic art gallery problem, as one could demonstrate an upper bound on the chromatic guard number of a polygon by demonstrating that a guard set exists whose conflict graph has a relatively small maximum clique.

6.2 Open Problems

Obviously, any situation in which the upper and lower bounds on the chro- matic guard number do not coincide is an open problem. Three situations in particular should be highlighted as targets for future research. For general polygons, the upper bound of n/3 and the lower bound of ⌊ ⌋

89 n/4 are quite close to each other. Due to the handful of partial results in ⌊ ⌋ Section 3.1.2, I propose the following conjecture.

Conjecture 37. There exists a c such that for any n-vertex polygon P , χ (P ) n/4+ c . G ≤ ⌊ ⌋ For monotone and rectilinear polygons, the lower bounds of Ω(√n) and the upper bounds of O(n) are quite far apart. Monotone polygons may be vulnerable to a sort of strategy similar to the one used to guard “comb” polygons. If the polygon is “wide”, then a single guard can guard large amounts of the polygon, while if the polygon is “narrow”, then a large number of guards can share a color (see Figure 6.1). The polygons used in Theorems 8 and 10 are examples of polygons that lie in between “wide” and “narrow”, but still require only Ω(√n) colors. Therefore, the following conjecture is proposed.

Figure 6.1: When the trapezoidal region at the bottom of the polygon is narrow, guard colors can be heavily reused. When the trapezoidal region at the bottom of the polygon is wide, a single guard can see the entire polygon.

Conjecture 38. There exists a function f(n) O(√n) such that for any ≤ n-vertex monotone polygon, χ (P ) f(n). G ≤ 90 The best known lower bound for rectilinear polygons is also Ω(√n), though recall that the polygons which establish the lower bound are also monotone (Theorem 10). It may be possible to raise the bound by using a non-monotone family instead because there is no promising type of coverage strategy that would produce an O(√n) bound as there is in the monotone case. This motivates the following conjecture. Conjecture 39. There exists a set S of rectilinear polygons and a function f(n), with f(n) = Θ(n), such that for each n, there exists a polygon P S ∈ with at most n vertices such that χ (P ) f(n). G ≥

6.3 Variants

In addition to the connected visibility graph variant discussed in Chapter 4, several other variants of the chromatic art gallery problem are worth exam- ining due to their potential applications to certain situations.

6.3.1 Conflict-free Chromatic Art Gallery

Consider a situation in which two landmarks of the same class interfere with each other, but the robot is capable of determining that the interference exists and can temporarily ignore landmarks of that class. Under these cir- cumstances, a robot would be able to navigate if it could see exactly one landmark of any class. A variant of the chromatic art gallery problem that would apply to this situation was introduced in [68]. In this variant, the restrictions on the colors that can be assigned to each guard is weakened somewhat. Instead of requiring two guards to have separate colors if a common point is visible to them, the requirement is instead that for each point in the environment, there exists a color c such that the point is visible from exactly one guard of color c. In this formulation, two guards of the same color “cancel” each other out instead of invalidating the entire color assignment (see Figure 6.2). Under these conditions, the number of required colors is drastically re- duced. The number of colors required is O(log n) for monotone polygons and rectilinear polygons, and the number of required colors is O(log2 n) for gen- eral polygons (via a decomposition into monotone polygons). Both results

91 Figure 6.2: [left] A guard assignment and coloring that would be disallowed in the standard chromatic art gallery problem, but is acceptable for the conflict-free variant. While the yellow region is visible from two blue guards, it is also visible from exactly one red guard. [right] A guard assignment and coloring that would be disallowed in the conflict-free variant. The yellow region is visible from two red guard and two blue guards. are significantly lower than the linear number of colors required by poly- gons such as those in Theorem 5 or the Ω(√n) required by the polygons in Theorems 8 and 10. However, in this variant, no non-trivial lower bounds are known. No poly- gon is known to require even three colors.

6.3.2 Limited Distance

Robots do not possess an unlimited range of vision. If two landmarks are so far away from each other that the robot cannot simultaneously perceive them, then they could safely share the same class even if their mutual link distance is only 2. Under a limited vision range assumption, the conditions that the landmark set must satisfy change slightly:

Each point in the environment must be at most distance r from a • landmark, where r is the range of the robot’s vision.

No point in the environment can be within distance r of two landmarks • of the same class.

Open spaces could be covered by some regular grid of landmarks that would require only a constant number of colors, and the problem would reduce to the unlimited vision version of the chromatic art gallery problem in extremely small spaces. However, features of the environment that exist at sizes in between those scales may provide an interesting problem.

92 If the landmark classes represent radio frequencies, then a different limited distance formulation of the problem might be appropriate. Two transmitters of close frequencies that are near each other may interfere with each other, but two transmitters of different frequencies would not. As the transmitters get further apart, the frequencies can get closer and closer together. The goal would be to minimize the bandwidth of the frequencies used, as opposed to the total number of frequencies. The landmark class assignment under these circumstances is similar to the problem of radio coloring the vertices of a graph. The input to a radio color- ing problem is a graph G and a list of nonnegative integers (m1, m2,...,mD), in which D is the diameter of the graph. The “colors” in a radio coloring problem are integers, and two vertices of distance d from each other must receive colors that differ by at least md (see Figure 6.3). The goal is to min- imize the difference between the highest and lowest integer assigned in this process. Certain formulations assume that m1 = 2, m2 = 1, and mi = 0 for i 3. Radio coloring problems in infinite or arbitrarily large grids have been ≥ addressed in [87] and [88]. These results would be useful for assigning classes to the landmarks in the open spaces. For landmarks around smaller features of the environment, the results for finite graphs would be more applicable [89]. A particularly appropriate resource may be [90], which specifically stud- ies the case for distance graphs. Distance graphs are graphs in which each vertex is a point in the plane, and two graph vertices are joined by an edge if their corresponding points are within a certain threshold distance from each other. A simplification of the above problem would be to create two different radii, one of them, r, to denote the range of the robot’s vision, and a larger value, R, to denote the distance at which two landmarks may interfere with each other.

6.3.3 Three Dimensions

How does the chromatic art gallery problem scale with dimension? There exist n-vertex rectilinear polyhedra, created by Siedel and described in [39], that have a minimum guard set of size Ω(n3/2) (it was shown in [91] that rectilinear polyhedra require at most O(n3/2) guards). However, Siedel’s

93 1 4 2 3

(2, 1, 0, 0) 324 1

1 6 2 5

(3, 1, 0, 0) 526 1

Figure 6.3: [top] A (2, 1, 0, 0) radio coloring of an eight vertex cycle using a bandwidth of 4. [bottom] A (3, 1, 0, 0) radio coloring on an eight vertex cycle using a bandwidth of 6. polyhedra require a constant number of colors, and the techniques that result in superlinear minimum guard sets seem to produce very isolated guards that would allow ample reuse of colors. This observation prompts the following conjecture (notation is slightly abused to allow polyhedra as arguments to

χG):

Conjecture 40. If P is an n-vertex polyhedron, then χ (P ) O(n). G ≤

94 REFERENCES

[1] V. Chvatal, “A combinatorial theorem in plane geometry,” Journal of Combinatorial Theory Series B, vol. 18, no. 1, pp. 39–41, 1975.

[2] A. Dhariwal, G. Sukhatme, and A. A. Requicha, “Bacterium-inspired robots for environmental monitoring,” in Robotics and Automation, 2004. Proceedings. ICRA’04. 2004 IEEE International Conference on, vol. 2, 2004, pp. 1436–1443.

[3] K. Krishnanand and D. Ghose, “Detection of multiple source locations using a glowworm metaphor with applications to collective robotics,” in Swarm Intelligence Symposium, 2005. SIS 2005. Proceedings 2005 IEEE. IEEE, 2005, pp. 84–91.

[4] U. Nehmzow, “Animal and robot navigation,” Robotics and Autonomous Systems, vol. 15, no. 1–2, pp. 71–81, 1995.

[5] D. Meyer-Delius, M. Beinhofer, A. Kleiner, and W. Burgard, “Using artificial landmarks to reduce the ambiguity in the environment of a mobile robot,” in Proc. IEEE International Conference on Robotics and Automation, 2011, pp. 5173–5178.

[6] N. J. Fairfield and B. A. Maxwell, “Mobile robot localization with sparse landmarks,” in Intelligent Systems and Advanced Manufacturing, 2002, pp. 148–155.

[7] M. Beinhofer, J. M¨uller, and W. Burgard, “Effective landmark place- ment for accurate and reliable mobile robot navigation,” Robotics and Autonomous Systems, vol. 61, no. 10, pp. 1060 – 1069, 2013, copyright 2013, figures reused with permission from Elsevier.

[8] J. Salas and J. Gordillo, “Placing artificial visual landmarks in a mobile robot workspace,” in Progress in Artificial IntelligenceIBERAMIA 98, 1998, pp. 465–465.

[9] D. B. Jourdan and N. Roy, “Optimal sensor placement for agent local- ization,” ACM Transactions on Sensor Networks (TOSN), vol. 4, no. 3, p. 13, 2008.

95 [10] P. Chiu and F. Y. Lin, “A simulated annealing algorithm to support the sensor placement for target location,” in Electrical and Computer Engineering, 2004. Canadian Conference on, vol. 2, 2004, pp. 867–870.

[11] T. Rupp and P. Levi, “Optimized landmark arrangement for absolute localization-a practical approach,” in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2000, pp. 448–453.

[12] D. Sinriech and S. Shoval, “Landmark configuration for absolute posi- tioning of autonomous vehicles,” IIE Transactions, vol. 32, no. 7, pp. 613–624, 2000.

[13] R. Lerner, E. Rivlin, and I. Shimshoni, “Landmark selection for task- oriented navigation,” Robotics, IEEE Transactions on, vol. 23, no. 3, pp. 494–505, 2007.

[14] D. Burschka, J. Geiman, and G. Hager, “Optimal landmark configura- tion for vision-based control of mobile robots,” in Robotics and Automa- tion, 2003. Proceedings. ICRA’03. IEEE International Conference on, vol. 3, 2003, pp. 3917–3922.

[15] A. M. Bruckstein, R. J. Holt, T. S. Huang, and A. N. Netravali, “Opti- mum fiducials under weak perspective projection,” International Jour- nal of Computer Vision, vol. 35, no. 3, pp. 223–244, 1999.

[16] R. Greiner and R. Isukapalli, “Learning to select useful landmarks,” Sys- tems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, vol. 26, no. 3, pp. 437–449, 1996.

[17] P. Sala, R. Sim, A. Shokoufandeh, and S. Dickinson, “Landmark se- lection for vision-based navigation,” Robotics, IEEE Transactions on, vol. 22, no. 2, pp. 334–349, 2006.

[18] A. Gil, O. Reinoso, O. M. Mozos, C. Stachniss, and W. Burgard, “Im- proving data association in vision-based slam,” in Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference on, 2006, pp. 2076– 2081.

[19] M. Knapek, R. Oropeza, and D. J. Kriegman, “Selecting promising landmarks,” in Proc. IEEE International Conference on Robotics and Automation, 2000, pp. 3771–3777.

[20] S. Marsland, U. Nehmzow, and T. Duckett, “Learning to select distinc- tive landmarks for mobile robot navigation,” Robotics and Autonomous Systems, vol. 37, no. 4, pp. 241–260, 2001.

[21] C. F. Olson, “Selecting landmarks for localization in natural terrain,” Autonomous Robotics, vol. 12, no. 1, pp. 201–210, 2002.

96 [22] S. Thrun, “Finding landmarks for mobile robot navigation,” in Proc. IEEE International Conference on Robotics and Automation, 1998, pp. 958–963.

[23] D. C. Yuen and B. A. MacDonald, “Vision-based localization algorithm based on landmark matching, triangulation, reconstruction, and com- parison,” IEEE Transactions on Robotics, vol. 21, no. 2, pp. 217–226, 2005.

[24] P. J. Slater, “Leaves of trees,” in Proceedings of the Sixth Southeastern Conference on Combinatorics, , and Computing, 1975, pp. 549–559.

[25] F. Harary and R. A. Melter, “On the metric dimension of a graph,” Ars Combinatorica, vol. 2, pp. 191–195, 1976.

[26] S. Khuller, B. Raghavachari, and A. Rosenfeld, “Landmarks in graphs,” Discrete Applied Mathematics, vol. 70, no. 3, pp. 217–229, 1996.

[27] G. Chartrand, L. Eroh, M. A. Johnson, and O. R. Oellermann, “Resolv- ability in graphs and the metric dimension of a graph,” Discrete Applied Mathematics, vol. 105, no. 1–3, pp. 99–113, 2000.

[28] S. M. LaValle, “Sensing and filtering: A fresh perspective based on preimages and information spaces,” Foundations and Trends in Robotics, vol. 1, no. 4, pp. 253–372, 2012.

[29] J. M. O’Kane and S. M. LaValle, “Comparing the power of robots,” International Journal of Robotics Research, vol. 27, no. 1, pp. 5–23, 2008.

[30] J. Brunner, M. Mihal´ak, S. Suri, E. Vicari, and P. Widmayer, “Simple robots in polygonal environments: A hierarchy,” in Algorithmic Aspects of Wireless Sensor Networks, 2008, pp. 111–124.

[31] D. Bil`o, Y. Disser, M. Mihal´ak, S. Suri, E. Vicari, and P. Widmayer, “Reconstructing visibility graphs with simple robots,” in Structural In- formation and Communication Complexity, 2010, pp. 87–99.

[32] P. Fraigniaud, D. Ilcinkas, G. Peer, A. Pelc, and D. Peleg, “Graph explo- ration by a finite automaton,” Theoretical Computer Science, vol. 345, no. 2–3, pp. 331–344, 2005.

[33] M. A. Bender, A. Fernandez, D. Ron, A. Sahai, and S. Vadhan, “The power of a pebble: Exploring and mapping directed graphs,” Informa- tion and Computation, vol. 176, no. 1, pp. 1–21, 2002.

97 [34] P. Fraigniaud, D. Ilcinkas, and A. Pelc, “Tree exploration with an ora- cle,” in Mathematical Foundations of Computer Science 2006, 2006, pp. 24–37.

[35] N. Nisse and D. Soguet, “Graph searching with advice,” in Structural Information and Communication Complexity, 2007, pp. 51–65.

[36] L. H. Erickson and S. M. LaValle, “An art gallery approach to ensuring that landmarks are distinguishable,” in Robotics: Science and Systems, 2011.

[37] L. H. Erickson and S. M. LaValle, “Navigation among visually connected sets of partially distinguishable landmarks,” in Proc. IEEE International Conference on Robotics and Automation, 2012, pp. 4829–4835.

[38] L. H. Erickson and J. Kim, “Intersection graphs of visibility regions,” in submitted to Robotics: Science and Systems, under review, 2014.

[39] J. O’Rourke, Art Gallery Theorems and Algorithms. Cambridge, UK: Oxford University Press, 1987.

[40] J. Urrutia, Art gallery and illumination problems. North-Holland, 2000, pp. 973–1023.

[41] T. C. Shermer, “Recent results in art galleries,” Proceedings of the IEEE, vol. 80, no. 9, pp. 1384–1399, 1992.

[42] S. Fisk, “A short proof of Chvatal’s watchman theorem,” Journal of Combinatorial Theory Series B, vol. 24, no. 3, p. 374, 1978.

[43] J. Kahn, M. Klawe, and D. Kleitman, “Traditional galleries require fewer watchmen,” SIAM Journal on Algebraic and Discrete Methods, vol. 4, no. 2, pp. 194–206, 1983.

[44] A. Lubiw, “Decomposing polygonal regions into convex quadrilaterals,” in Proc. Symposium on Computational Geometry, 1985, pp. 97–106.

[45] J. O’Rourke, “An alternate proof of the rectilinear art gallery theorem,” Journal of Geometry, vol. 21, no. 1, pp. 118–130, 1983.

[46] G. Hernandez-Penalver, “Controlling guards (extended abstract),” in Canadian Conference on Computational Geometry, 1994.

[47] V. Pinciu, A coloring algorithm for finding connected guards in art galleries, ser. Lecture Notes in Computer Science. Springer Berlin/Heidelberg, 2003, pp. 257–263.

98 [48] D. T. Lee and A. K. Lin, “Computational complexity of art gallery problems,” IEEE Transactions on Information Theory, vol. 32, no. 2, pp. 276–282, 1986.

[49] D. Schuchardt and H.-D. Hecker, “Two np-hard art-gallery problems for ortho-polygons,” Mathematical Logic Quarterly, vol. 41, no. 2, pp. 261–267, 1995.

[50] S. K. Ghosh, “Approximation algorithms for art gallery problems,” in Proc. of Canadian Information Processing Society Congress, 1987, pp. 429–434.

[51] S. K. Ghosh, “Approximation algorithms for art gallery problems in polygons,” Discrete Applied Mathematics, vol. 158, no. 6, pp. 718–722, 2010.

[52] J. King, “Fast vertex guarding for polygons with and without holes,” Computational Geometry, vol. 46, no. 3, pp. 219–231, 2013.

[53] S. Eidenbenz, C. Stamm, and P. Widmayer, “Inapproximability results for guarding polygons and terrains,” Algorithmica, vol. 31, no. 1, pp. 79–113, 2001.

[54] A. Efrat and S. Har-Peled, “Guarding galleries and terrains,” Informa- tion processing letters, vol. 100, no. 6, pp. 238–245, 2006.

[55] B. Brod´en, M. Hammar, and B. J. Nilsson, “Guarding lines and 2- link polygons is apx-hard,” in Canadian Conference on Computational Geometry, 2001.

[56] S. P. Fekete, S. Friedrichs, and M. Hemmer, “Complexity of the general chromatic art gallery problem,” in European Workshop on Computa- tional Geometry, 2014.

[57] N. Megiddo and A. Tamir, “On the complexity of locating linear facilities in the plane,” Operations research letters, vol. 1, no. 5, pp. 194–197, 1982.

[58] B. Nilsson, Approximate guarding of monotone and rectilinear polygons, ser. Lecture Notes in Computer Science. Springer Berlin/Heidelberg, 2005, pp. 1362–1373.

[59] A. Howard, M. J. Matari´c, and G. S. Sukhatme, “Mobile sensor network deployment using potential fields: A distributed, scalable solution to the area coverage problem,” in Distributed autonomous robotic systems 5, 2002, pp. 299–308.

99 [60] S. S. Dhillon, K. Chakrabarty, and S. Iyengar, “Sensor placement for grid coverage under imprecise detections,” in Information Fusion, 2002. Proceedings of the Fifth International Conference on, vol. 2, 2002, pp. 1581–1587.

[61] Y. Zou and K. Chakrabarty, “Sensor deployment and target localization based on virtual forces,” in INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications. IEEE Societies, vol. 2, 2003, pp. 1293–1303.

[62] K. Chakrabarty, S. S. Iyengar, H. Qi, and E. Cho, “Grid coverage for surveillance and target location in distributed sensor networks,” Com- puters, IEEE Transactions on, vol. 51, no. 12, pp. 1448–1453, 2002.

[63] X. Bai, Z. Yun, D. Xuan, T.-H. Lai, and W. Jia, “Deploying four- connectivity and full-coverage wireless sensor networks,” in INFOCOM 2008. The 27th Conference on Computer Communications. IEEE, 2008.

[64] A. Ganguli, J. Cortes, and F. Bullo, “Distributed deployment of asyn- chronous guards in art galleries,” in American Control Conference, 2006.

[65] A. Howard, M. J. Matari´c, and G. S. Sukhatme, “An incremental self- deployment algorithm for mobile sensor networks,” Autonomous Robots, vol. 13, no. 2, pp. 113–126, 2002.

[66] M. Zhong and C. G. Cassandras, “Coverage control of sensor networks in environments with polygonal obstacles,” in 17th IFAC World Congress, 2008.

[67] W. Unger, “On the k-colouring of circle-graphs,” in STACS 88, 1988, pp. 61–72.

[68] A. B¨artschi and S. Suri, “Conflict-free chromatic art gallery coverage,” Algorithmica, pp. 1–19, 2013.

[69] M. R. Garey, D. S. Johnson, G. L. Miller, and C. H. Papadimitriou, “The complexity of coloring circular arcs and chords,” SIAM Journal on Algebraic Discrete Methods, vol. 1, no. 2, pp. 216–227, 1980.

[70] Z. Cheng, D. Devarajan, and R. J. Radke, “Determining vision graphs for distributed camera networks using feature digests,” EURASIP Jour- nal on Advances in Signal Processing, vol. 2007, 2007.

[71] X. Zou, B. Bhanu, B. Song, and A. K. Roy-Chowdhury, “Determin- ing topology in a distributed camera network,” in IEEE International Conference on Image Processing, vol. 5, 2007, pp. 133–136.

100 [72] M. Antone and S. Teller, “Scalable extrinsic calibration of omni- directional image networks,” International Journal of Computer Vision, vol. 49, no. 2-3, pp. 143–174, 2002.

[73] E. J. Lobaton, P. Ahammad, and S. Sastry, “Algebraic approach to re- covering topological information in distributed camera networks,” in In- ternational Conference on Information Processing in Sensor Networks, 2009, pp. 193–204.

[74] E. Lobaton, R. Vasudevan, R. Bajcsy, and S. Sastry, “A distributed topological camera network representation for tracking applications,” Image Processing, IEEE Transactions on, vol. 19, no. 10, pp. 2516–2529, 2010.

[75] W. Lenhard, R. Pollack, J. Sack, R. Seidel, M. Sharir, S. Suri, G. Tous- saint, S. Whitesides, and C. Yap, “Computing the link center of a simple polygon,” Discrete & Computational Geometry, vol. 3, no. 1, pp. 281– 293, 1988.

[76] S. K. Ghosh and P. P. Goswami, “Unsolved problems in visibility graphs of points, segments, and polygons,” ACM Computing Surveys (CSUR), vol. 46, no. 2, p. 22, 2013.

[77] H. A. Elgindy, “Hierarchical decomposition of polygons with applica- tions,” Ph.D. dissertation, McGill University, 1985.

[78] S. K. Ghosh, “On recognizing and characterizing visibility graphs of sim- ple polygons,” in Scandinavian Workshop on Algorithm Theory, 1988, pp. 96–104.

[79] S. K. Ghosh, “On recognizing and characterizing visibility graphs of simple polygons,” Discrete and Computational Geometry, vol. 17, no. 2, pp. 143–162, 1997.

[80] I. Streinu, “Non-stretchable pseudo-visibility graphs,” Computational Geometry, vol. 31, no. 3, pp. 195–206, 2005.

[81] J. Abello and K. Kumar, “Visibility graphs and oriented matroids,” Discrete and Computational Geometry, vol. 28, no. 4, pp. 449–465, 2002.

[82] H. Everett and D. G. Corneil, “Recognizing visibility graphs of spiral polygons,” Journal of Algorithms, vol. 11, no. 1, pp. 1–26, 1990.

[83] P. Erd¨os, “Graph theory and probability,” Canadian Journal of Mathe- matics, vol. 11, no. 1, p. 34, 1959.

[84] A. Gy´arf´as, “On the chromatic number of multiple interval graphs and overlap graphs,” Discrete mathematics, vol. 55, no. 2, pp. 161–166, 1985.

101 [85] A. Kostochka and J. Kratochv´ıl,“Covering and coloring polygon-circle graphs,” Discrete Mathematics, vol. 163, no. 1, pp. 299–305, 1997.

[86] K. S. Booth and G. S. Lueker, “Testing for the consecutive ones property, interval graphs, and graph planarity using¡ i¿ pq¡/i¿-tree algorithms,” Journal of Computer and System Sciences, vol. 13, no. 3, pp. 335–379, 1976.

[87] J. van den Heuvel, R. A. Leese, and M. A. Shepherd, “Graph labeling and radio channel assignment,” Journal of Graph Theory, vol. 29, no. 4, pp. 263–283, 1998.

[88] A. A. Bertossi, C. M. Pinotti, and R. B. Tan, “Efficient use of radio spectrum in wireless networks with channel separation between close sta- tions,” in Proceedings of the 4th international workshop on Discrete al- gorithms and methods for mobile computing and communications, 2000, pp. 18–27.

[89] T. Calamoneri, “The l (h, k)-labelling problem: A survey and annotated bibliography,” The Computer Journal, vol. 49, no. 5, pp. 585–608, 2006.

[90] R. Cada,ˇ J. Ekstein, P. Holub, and O. Togni, “Radio labelings of distance graphs,” Discrete Applied Mathematics, vol. 161, no. 18, pp. 2876 – 2884, 2013.

[91] M. S. Paterson and F. Frances Yao, “Optimal binary space partitions for orthogonal objects,” Journal of algorithms, vol. 13, no. 1, pp. 99–113, 1992.

102