 # Improved Bounds for Guarding Plane Graphs with Edges

An "edge guard set" of a plane graph G is a subset Γ of edges of G such that each face of G is incident to an endpoint of an edge in Γ. Such a set is said to guard G. We improve the known upper bounds on the number of edges required to guard any n-vertex embedded planar graph G: 1- We present a simple inductive proof for a theorem of Everett and Rivera-Campo (1997) that G can be guarded with at most 2n/5 edges, then extend this approach with a deeper analysis to yield an improved bound of 3n/8 edges for any plane graph. 2- We prove that there exists an edge guard set of G with at most n/3+α/9 edges, where α is the number of quadrilateral faces in G. This improves the previous bound of n/3 + α by Bose, Kirkpatrick, and Li (2003). Moreover, if there is no short path between any two quadrilateral faces in G, we show that n/3 edges suffice, removing the dependence on α.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

The original Art Gallery Problem: “How many guards are necessary, and how many are sufficient to patrol the paintings and works of art in an art gallery with walls?” was posed by Victor Klee in 1973. Chvatal  offered the first solution to the question by proving that guards are sufficient and sometimes necessary to guard an -vertex polygon. However, since then, an active area of research was spawned, where researchers studied many different variants of the problem, by allowing different types of guards and guarding different types of objects. The field is vast and many surveys on the topic have been written (see [11, 13, 10, 12]). In this paper, the variant we study is when the guards are edges and the object guarded is a plane graph.

A plane graph is a graph that is embedded in the plane without crossing edges. Throughout this paper, is a plane graph with vertices and at least one edge. The graph divides the plane into regions called the faces of . A guard set for is a subset of edges of such that every face of (including the outer face) contains at least one endpoint of an edge in on its boundary. In other words, when the endpoints of the edges of guard the faces of , we say that guards . We focus on the problem of finding a guard set for with minimum size. To avoid some notational clutter, we omit floors and ceilings in the statements of the bounds. However, since the size is necessarily integer, all fractional bounds can be rounded down for upper bounds and rounded up for lower bounds, except in the case when the upper bound is less than 1, in which case, we round up to 1.

For maximal outerplanar graphs, O’Rourke  showed that edge guards are always sufficient and sometimes necessary. In his proof, both the upper bound and lower bound require that every bounded face is a triangle and the outer face is a cycle. By removing this restriction, both the upper and lower bounds jump to for arbitrary outerplanar graphs [4, 5]. For maximal plane graphs (triangulations), Everett and Rivera-Campo  showed that edge guards are always sufficient and Bose et al.  showed that edge guards are sometimes necessary. The upper bound is derived using the four-color theorem. Note the gap between the upper and lower bounds. The lower bound is derived by constructing a triangulation where triangles are isolated. Two triangles are isolated if there is no edge joining a vertex of one triangle with a vertex of the other triangle. Since it is impossible to isolate triangles in a maximal plane graph, this would suggest that the upper bound argument may not be exploiting all of the structure present in a maximal plane graph.

Indeed, when one studies plane graphs that are no longer restricted to be maximal, the current best upper bound is no longer . Everett and Rivera-Campo  used the four-color theorem to prove that edges suffice. By using a different coloring approach, Bose, Kirkpatrick and Li  proved that edges are sufficient, where is the number of quadrilateral faces of . Since outerplanar graphs are planar, edges are sometimes necessary and no better lower bound is known. Although it seems that the number of quadrilateral faces plays a key role in this problem, it is unclear which upper bound is better in the worst case: or , since can be as high as . Our main contribution is an improvement on both upper bounds. We give a simpler proof for Everett and Rivera-Campo’s upper bound of edges. In addition, by exploiting various properties of planar graphs, we are able to strengthen the bound to edges. We then show that, for plane graphs with quadrilateral faces, edges suffice, reducing the dependency on . Table 1 summarizes the best known upper and lower bounds.

## 2 Iterative Guarding

We first introduce a proof strategy that iteratively builds a guard set while shrinking the graph. We use this strategy to give a simple proof of Everett and Rivera-Campo’s  result that edges suffice for any plane graph, before strengthening this bound to . Note that, if the graph has a single face, it can be guarded by one edge and our bounds hold so long as . In the remainder of this section, we assume that the initial graph has at least two faces.

The general strategy works as follows. Suppose we are aiming for a bound of edges, for some constant . We start with an empty partial guard set . Given a plane graph , we identify a set of vertices and edges such that (i) the edges in guard all faces incident to vertices in and (ii) we have that . We then add all edges of to , remove all vertices in from , along with their incident edges, and repeat until has one face left; i.e. is a forest. This face has already been guarded in the penultimate step, so we return as our guard set. Since we added at most edges for every vertex we removed, its size is at most .

As a warmp-up, we use this strategy to prove the following bound for 2-degenerate graphs (an undirected graph is -degenerate if every subgraph has a vertex of degree at most ).

###### Theorem 1.

Every -degenerate plane graph with vertices can be guarded by at most edges.

###### Proof.

Let be a 2-degenerate plane graph with vertices. If has one face, we guard it with a single edge and the theorem holds, so assume that has more than one face. We use the iterative strategy described above to construct a guard set for with . Thus, all that is left to do is to describe how to find the sets and . Figure 1: Edge (u,w) guards both faces incident to a vertex v of degree 2, allowing us to remove all three vertices.

We consider two cases, depending on the minimum degree of . If contains any vertex of degree or , we let and . While this does not technically satisfy our definition above that the edges in guard all faces incident to vertices in , this operation is still safe, since any guard set for is also a guard set for .

If does not contain any vertex of degree or , the fact that it is 2-degenerate tells us that it must have a vertex of degree . Let be a neighbor of , and let be another neighbor of (see Figure 1). Such a vertex must exist, since has minimum degree . We now let and . Since edge guards both faces incident to , as well as all faces incident to and , this completes the proof. ∎

This gives an alternate proof for the bound on outerplanar graphs [5, 7], since they are 2-degenerate.

###### Corollary 1.

Every embedded outerplanar graph with vertices can be guarded by at most edges.

Since a set of disjoint triangles comprises an outerplanar and 2-degenerate graph, the bounds of Theorem 1 and Corollary 1 are best possible for these classes.

We use the same technique to prove the and bounds. Since , we can use the arguments from the proof of Theorem 1 to eliminate vertices of degree or less, even if we are shooting for or . Thus, we may assume for the remainder of the section that the graph has minimum degree . Since planar graphs are 5-degenerate, we still need to handle vertices of degree , , or . The following lemma gives us a little more to work with in these cases. For brevity, we denote a vertex of degree as a -vertex, and one with degree at most as a -vertex. Likewise, we denote a face with boundary edges as a -face and one with at most edges as a -face.

###### Lemma 1 (Lebesgue ).

In each plane graph with minimum degree there exists either a -vertex incident to a -face, or a -vertex incident to a -face, or a -vertex incident to four -faces.

###### Theorem 2.

Every plane graph with vertices can be guarded by at most edges.

###### Proof.

We use the iterative method with and, as argued above, can assume that our graph has minimum degree at least .

First consider the case where has a vertex of degree . Any two neighbors of together are incident to all faces incident to . If any two neighbors and of are connected by an edge, we let and (see Figure 1(a)). Otherwise, let and be any two neighbors of , and let be a neighbor of and a neighbor of (see Figure 1(b)). We set and .

Now suppose that has minimum degree at least . Then Lemma 1 tells us that there must be a -vertex incident to a triangle. Let and be the other vertices of this triangle. Edge guards three of the four or five faces incident to . Let be a neighbor of incident to the faces not guarded by , and let be a neighbor of (see Figure 1(c)). We set and (see Figure 1(b)).

Thus, in each case we can find and such that the edges of guard all faces incident to vertices in and . ∎

To improve this bound further to , we need an even stronger version of Lemma 1, inspired by Borodin . Following his terminology, an edge is incident on a face if one of its endpoints is on the face. An edge is weak if it is incident to two triangles, semiweak if it is incident to exactly one triangle, and strong otherwise.

###### Lemma 2.

Every plane graph with minimum degree contains one of the following:
a weak edge joining a -vertex to a -vertex;
a weak edge joining a -vertex to a -vertex;
a weak edge joining a -vertex to a -vertex such that at least one edge adjacent to around is weak;
a weak edge joining a -vertex incident to at least four -faces to a -vertex;
a semiweak edge joining a -vertex to an -vertex;
a semiweak edge joining a -vertex to a -vertex;
an edge incident to a -face and joining a -vertex to a -vertex;
a -face incident to at least four -vertices.

###### Proof.

Borodin  proved this lemma, except with configurations and replaced by : a weak edge joining a 4-vertex to a -vertex. We describe how to adapt Borodin’s discharging argument to prove our stronger version. For full details, see the original paper .

Initially, we assign a charge of to each -vertex and each -face. By Euler’s formula, this results in a total charge of . Then, following Borodin, we redistribute the charge as follows:

• Every face with more than sides transfers to every 3-vertex on its boundary.

• Every vertex transfers to each incident triangle.

• Each vertex transfers the following to the other endpoint of each incident edge:

• if has degree and is weak;

• if has degree and is semiweak;

• if has degree and is strong and has degree at least ;

• if has degree and is weak;

• if has degree and is semiweak;

• if has degree and is weak and is incident to four triangles.

We now assume that does not contain any of the configurations through , and show that this implies that every vertex and face has non-negative charge — a contradiction. The only change from the original proof is that we cannot assume that weak edges between -vertices and -vertices do not exist. This only affects the part of the proof dealing with -vertices, so if we can show that -vertices still have non-negative charge, we are done.

Consider any -vertex . Initially, has charge . If there is no weak edge connecting to a -vertex, the original proof still applies, so suppose that is a neighboring -vertex and is weak. Then transfers of its charge to and each of the two triangles incident to , leaving it with charge. Let and be the neighbors of preceding and following in clockwise order around , respectively. Since does not contain configuration , neither nor is weak, so does not transfer any charge to the other faces incident to these edges. Furthermore, and must have degree at least , otherwise their edge to would create configuration or . Therefore they receive no charge from either.

Even if the remaining faces all receive charge and the remaining vertices , this would still leave with positive charge. By and , no neighbor of can receive more than charge. If has another -vertex as neighbor with weak, this results in even less charge distribution, since the neighbors before and after do not receive any charge and they cannot overlap with or , since and are not weak. Finally, a -vertex connected to by a strong edge would receive charge, but would prevent the adjacent faces from receiving charge. Thus, will have non-negative charge after redistribution, which completes the proof. ∎

With Lemma 2 in hand, we can improve our bound to .

###### Theorem 3.

Every plane graph with vertices can be guarded by at most edges.

###### Proof.

As before, we use the iterative method and assume that the minimum degree of our plane graph is 3. We describe how to find and for each configuration of Lemma 2 (see Figure 3).

If contains or , we consider a triangle incident to the (semi) weak edge and let be the edge of the triangle that is not incident to the -vertex. Then consists of the -vertex and both endpoints of the edge in . Thus, for the remainder of the proof, we can assume that any vertex incident to a triangle has degree at least .

If contains , let be its -vertex, be its -vertex, and and be the other vertices of the triangles incident to (we leave these definitions implicit for the remaining cases; refer to Figure 3). We consider a neighbor of . If has an edge to , we let and , so suppose that . Since has degree at least 4, it has a neighbor . We add and to . If this guards all faces incident to , we simply set . Otherwise, let be a neighbor of incident to all unguarded faces (there can be at most two, since is a -vertex). Let be the other neighbor of along the boundary of one of the unguarded faces incident to . We know that , otherwise the face would already have been guarded. Thus, we can add to and set .

If contains , we again set with if edge exists. Otherwise, let be the other neighbor of adjacent around . Since has degree at least 4, it has a neighbor . We add and to . If all faces incident to are guarded, we set . Otherwise, we use the same reasoning as in the previous case to find an extra edge that guards the remaining faces around .

If contains , let be the other neighbor of adjacent around . Since has degree at least , it either has a neighbor , or it is connected to both and . In the first case, we add and to and again find a third edge to cover the remaining faces around . In the second case, must have a neighbor otherwise these five vertices would form a . Then we let and , since guards all faces incident to both and except for the triangle .

If contains , let be the other neighbor of adjacent to around . If and are connected by an edge, let and . Otherwise, let be a neighbor of and let be a neighbor of . These neighbors exist since and have minimum degree and , respectively. We add and to and, if necessary, find a third edge to cover the remaining faces around as before. Thus, we get and .

If contains , either is connected to or it has a neighbor . In the first case, we let and . In the second case, if is connected to any vertex then that edge would cover all faces around and give us and . Otherwise, let be another neighbor of . We add and to and again find another edge to cover the remaining faces around .

Finally, if contains , let be the 5-face and let be a vertex of maximum degree on . Let be one of ’s neighbors around the face and let be the vertex on not adjacent to or around . If has an edge to or , then that edge covers all faces around , , and and we are done. Otherwise, let be a neighbor of not on . We set and .

Thus, in each case we can find a set and such that . ∎

## 3 Guarding by Coloring

Historically, many questions about guard placement have been resolved by finding an appropriate vertex or edge coloring. Bose et al.  defined a face-respecting -coloring of a plane graph as a -coloring of the vertices of such that no face is monochromatic. They were particularly interested in face-respecting 2-colorings with the additional property that every face has a monochromatic edge. For brevity, we call such colorings guard colorings. They proved the following result, which we include here as a good introduction to the general technique.

###### Lemma 3 (Bose et al. ).

If a plane graph with vertices has a guard coloring, it can be guarded by edges.

###### Proof.

Consider two subgraphs and of , induced by the two color classes of the guard coloring. Let be a maximal matching in and in . Now consider a face that has a boundary edge with both endpoints in . Since is maximal, if it does not contain , it must contain one of its endpoints. Otherwise, we would obtain a larger matching by adding . Thus, in each case, guards . Recall that one of the properties of a guard coloring is that every face has a monochromatic edge. This implies that is a guard set for .

We now have one guard set for , but we do not have a good bound on the size of this guard set. Indeed, there are examples where contains many more than edges. To prove the lemma, we find two more guard sets for such that the total size of all three guard sets is . Then the smallest of these three sets must have size at most .

Our second guard set starts with all edges of , and then adds one edge incident to each vertex of that is not in . Since our guard coloring has no monochromatic faces, each face has a vertex in . Thus, this set is also a guard set for . We obtain our third guard set by repeating this construction for .

The size of the first guard set is . The other guard sets have size , and , respectively. Thus, in the total size the size of the matchings cancels and we are left with . ∎

Bose et al. also showed that every plane graph without quadrilateral faces has a guard coloring. Thus, a natural question is whether all plane graphs — even those with quadrilateral faces — have a guard coloring? In the following theorem we show that this is not the case. Figure 4: A plane graph without a guard coloring. The illustrated 2-coloring is forced under the assumption that a and b have the same color, but leaves quadrilateral bv5v6c without a monochromatic edge.
###### Theorem 4.

There are plane graphs that have no guard coloring.

###### Proof.

Consider the graph in Figure 4. We need to color its vertices with two colors, say white and blue, such that every face contains (i) vertices of both colors and (ii) an edge whose endpoints have the same color. We show that such a coloring does not exist.

Suppose, for a contradiction, that it does. Since the outer face is a triangle, two of its vertices must have the same color, say white. Suppose that the two vertices are and ; the other cases are symmetric. This forces to be blue, since otherwise triangle would be monochromatic. Now either or needs to be white, otherwise triangle is monochromatic. Since the graph is symmetric, we suppose without loss of generality that is white. This forces to be white as well, otherwise quadrilateral would not have a monochromatic edge. This, in turn, forces and to be blue, since they are part of triangles with two white vertices. Now a sequence of such triangles forces to be white, blue, and white. But this leaves quadrilateral without a monochromatic edge. Since the entire coloring was forced, this graph has no guard coloring. ∎

Note that this counter-example does not require a large guard set: edges suffice. Thus, it only shows that the technique of guard colorings does not extend to all plane graphs.

Everett and Rivera-Campo  used a different vertex coloring to find small guard sets. We modify their approach here to give an upper bound that improves on the bound by Bose et al. .

###### Theorem 5.

Every plane graph with vertices and quadrilateral faces can be guarded by at most edges.

###### Proof.

We first construct a triangulation by inserting extra diagonals in every non-triangular face of , with two restrictions. First, we do not insert edges that are already in . Second, for every -face with and boundary , we first add the three edges , , and (see Figure 4(a)). By the four-color theorem , we can find a proper coloring of with a set of four colors . Consider one such coloring, and note that it is also a proper coloring of .

Since each face of was triangulated in , its vertices have at least three distinct colors. Thus, if we consider any two colors, say and , each face has a vertex with at least one of these two colors. In other words, each face of contains a vertex of , the subgraph of induced by the vertices with color or . This means we can create a guard set for by finding a set of edges whose endpoints include all vertices of . We do this by finding a maximal matching of , then adding one extra edge incident to each vertex of not in . We call the resulting guard set , and note that it contains edges, since each edge of covers two vertices in . We can do this for each combination of two colors, giving us six different guard sets.

Now consider the set . We show that this is a guard set for all non-quadrilateral faces of . First, suppose that some face has an edge whose endpoints have colors and . If neither endpoint of is in , we can add to to obtain a larger matching. But is maximal, so it must already contain some edge incident to an endpoint of . Thus, guards all faces with a -edge. We claim that every non-quadrilateral face of has either a -edge, or a -edge and is therefore guarded by . To show this, we group colors and into one color class and and into

. Our claim is equivalent to saying that every non-quadrilateral face has a monochromatic edge in this two-coloring. This is clear for faces of odd length, since they cannot be properly two-colored.

Let be a -face with and with boundary (see Figure 4(a)). To avoid a monochromatic edge, the colors and must alternate along the boundary. This means that , , and get the same color. But these form a triangle in , since we started triangulating this face by inserting the edges , , and . Thus, they must have three distinct colors in the four-coloring, which means they cannot have the same color in the two-coloring. Therefore guards all non-quadrilateral faces. An analogous argument shows that the same holds for and .

What about quadrilateral faces? Let be a quadrilateral face with boundary and suppose that it was triangulated by adding (see Figure 4(b)). We show that at least two of , , and guard . Suppose that is not guarded by , which means that it does not have -edges, or -edges. Without loss of generality, assume that has color . Then the two-coloring argument and the presence of edge force to have color , while and have color or . Either way, there is both a - or -edge and a - or -edge. By symmetry, this means that if one of the three does not guard , the other two do. We complete to a guard set by adding, for each quadrilateral not guarded by , one edge incident to , and likewise for and . The total size of these three guard sets is .

We now have nine guard sets for . The total number of edges in these sets is , since each vertex occurs in three of the , and the size of the matchings cancels. Thus, the smallest of these sets has size at most . ∎

In this section, we combine both methods used previously to prove a better upper bound for plane graphs in which every pair of quadrilaterals is far apart. To make this more precise, we say that two faces and are -hop apart if every path from a vertex on the boundary of to a vertex on the boundary of contains at least edges.

###### Theorem 6.

Every plane graph with vertices in which every two quadrilateral faces are -hop apart can be guarded by at most edges.

###### Proof.

We first use the iterative algorithm as described in the proof of Theorem 1 to remove any vertices of degree less than . We have to be a little careful here, since removing these vertices could introduce a new quadrilateral face that is not 3-hop apart from existing quadrilaterals. To remedy this, we first mark all quadrilateral faces in the original graph. Now, if removing a vertex of degree 1 would introduce a new quadrilateral face, we instead consider its neighbor and another of ’s neighbors (these vertices must exist if removing would introduce a new quadrilateral). We then add to our partial guard set and remove all three vertices. This guarantees that all newly introduced quadrilaterals are guarded by , since we already do the same for vertices of degree 2.

If the graph was 2-degenerate, we are now done. Otherwise, this results in a graph with minimum degree at least and a partial guard set of size at most , where is the number of vertices removed. We proceed to find a guard set for of size at most , where is the number of vertices in . The final guard set is and has size at most . Since removing vertices cannot decrease the hop distance between two faces, all marked quadrilaterals in are still 3-hop apart.

We now turn to the coloring method from Theorem 5 to find a guard set for . However, we take greater care with quadrilateral faces in triangulating and constructing the matchings and , to ensure that actually guards every face of instead of just the non-quadrilateral faces. Together with and , this then gives us three guard sets of total size , which means the smallest of the three has size at most .

We construct a triangulation from as in the proof of Theorem 5, with one exception. If a quadrilateral does not share a boundary edge with a triangle, we merge it with one of its neighboring faces by removing the edge separating them (see Figure 6). The result is a face with at least sides, since was not a triangle and all quadrilaterals are further apart. Let be the other neighbor of along the boundary of , and the other neighbor of along the boundary of . We insert edges , , and , then triangulate the rest of the face as usual.

Next, we four-color and consider the resulting coloring of . Note that the edges we removed could be monochromatic, but this is not a problem. Let and be the subgraphs of induced by all vertices with colors in and , respectively. First, suppose is an arbitrary maximal matching in and in . Since each face of contained a triangle in , it has vertices of at least three different colors. Therefore we still obtain guard sets and by taking the matchings and adding an edge incident to every vertex of the right colors not in the corresponding matching. Similarly, as argued in the proof of Theorem 5, guards all non-quadrilateral faces of . We now show how to pick initial edges for and such that also guards the marked quadrilateral faces of . Recall that the unmarked quadrilateral faces of are already guarded by .

Initially, and are empty. If a marked quadrilateral shares a boundary edge with a triangle , then the vertices of have three distinct colors. Therefore one of the edges of must belong to or , and we add this edge to the corresponding matching. If does not share an edge with a triangle, we merged it with a neighboring face by removing edge . Suppose that has a color in . Since three of its neighbors in , , and — formed a triangle in , one of them must also have a color in , and we add this edge to . If has a color in , we add the corresponding edge to .

Thus, we seed and with edges that together guard all marked quadrilateral faces of . We then complete these sets to maximal matchings by greedily adding edges of and , respectively. This makes a third guard set. The only thing left to argue is that none of the seed edges share an endpoint. This is guaranteed by the 3-hop distance between marked quadrilaterals in ; since each seed edge is incident to a marked quadrilateral, two seed edges sharing an endpoint would give a 2-hop path between two marked quadrilateral faces. ∎

## 5 Conclusion

Our main contribution lies in the development of techniques that allowed us to improve the upper bound on the number of edge guards that suffice to guard a plane graph. The role of quadrilateral faces in the size of these guard sets is intriguing. Of our bounds, one depends on the number of quadrilateral faces, while the other does not. The first bound () almost matches the lower bound for graphs with few quadrilateral faces, while the second bound () is stronger for graphs with many quadrilaterals – the two bounds balance at since . It is interesting that quadrilateral faces are the limiting factor in all techniques based on graph colorings. In contrast, our iterative technique appears to be limited by the local nature of the operation. Thus, the solution may lie in a more global approach that does not stumble over quadrilateral faces.

We leave as an open question to close the gap between the upper and lower bounds, both for maximal planar graphs and general planar graphs.

## References

•  K. Appel and W. Haken. Every planar map is four colorable, volume 98 of Contemporary Mathematics. American Mathematical Society, Providence, RI, 1989. With the collaboration of J. Koch.
•  O. V. Borodin. Structure of neighborhoods of an edge in planar graphs and the simultaneous coloring of vertices, edges, and faces. Matematicheskie Zametki, 53(5):35–47, 1993.
•  P. Bose, D. G. Kirkpatrick, and Z. Li. Worst-case-optimal algorithms for guarding planar graphs and polyhedral surfaces. Computational Geometry: Theory and Applications, 26(3):209–219, 2003.
•  P. Bose, T. C. Shermer, G. T. Toussaint, and B. Zhu. Guarding polyhedral terrains. Computational Geometry: Theory and Applications, 7:173–185, 1997.
•  V. Chvátal. A combinatorial theorem in plane geometry. Journal of Combinatorial Theory, Series B, 18:39–41, 1975.
•  H. Everett and E. Rivera-Campo. Edge guarding polyhedral terrains. Computational Geometry: Theory and Applications, 7:201–203, 1997.
•  S. Fisk. A short proof of chvatal’s watchman theorem. Journal of Combinatorial Theory, Series B, 24(3):374, 1978.
•  H. Lebesgue. Quelques conséquences simple de la formula d’Euler. Journal de Mathématiques Pures et Appliquées, 19:27–43, 1940.
•  J. O’Rourke. Galleries need fewer mobile guards: a variation on chvatal’s theorem. Geometriae Dedicata, 14:273–283, 1983.
•  J. O’Rourke. Art Gallery Theorems and Algorithms. Oxford University Press, 1987.
•  J. Sack and J. Urrutia, editors. Handbook of Computational Geometry. North-Holland, 2000.
•  T. C. Shermer. Recent results in art galleries. Proceedings of IEEE, 80:1384–1399, 1992.
•  C. D. Toth, J. O’Rourke, and J. E. Goodman, editors. Handbook of Discrete and Computational Geometry. CRC Press, 2017.