figure a

The five authors jointly guarding this polygon. The space of such optimal guard placements forms a topological 2-chain, i.e., two cycles connected by an edge

1 Introduction

The art gallery problem is a fundamental problem in computational geometry. In this work we study the topological spaces formed by the set of all optimal guard placements. We show that a large variety of spaces can be realized.

See Sect. 3 for a detailed definition of the art gallery problem, its solution space V(I), its topology, semi-algebraic sets, homeomorphism, homotopy equivalence, and the existential theory of the reals.

1.1 Homotopy-Universality

Given a set of points, the order type of this point set describes for each ordered triple whether they are oriented clockwise or counter-clockwise. Imagine we are given two point sets \(P_1\) and \(P_2\) with the same order type. Can we continuously move \(P_1\) to \(P_2\) without changing the order type? For most people, intuition says that the answer is always yes, as this seems to be the case for small examples. Let O be the order type of \(P_1,P_2\), we denote the realization space by V(O). The question above can be rephrased to whether V(O) is connected. Mnëv ’s seminal universality theorem states that for every semi-algebraic set S there exists an order type O such that S and V(O) are homotopy equivalent [10, 31, 33, 36, 41]. Specifically, if S is the set that consists of two isolated points, V(O) is also disconnected. Thus there are indeed two point sets in the plane with the same order type that cannot be transformed continuously into one another. Mnëv inspired a deep study of order types, which opened up a new research field. In particular, Mnëv ’s universality result is one of the most significant contributions to the existential theory of the reals. The existential theory of the reals is both an algorithmic problem (ETR) and an algorithmic complexity class (\(\exists \mathbb {R}\)). Based on Mnëv ’s original ideas it was shown that order-type realizability is complete for this class [33, 41]. Order-type realizability is central, as it captures the combinatorics of the simplest geometric objects: points in the plane. Furthermore, the \(\exists \mathbb {R}\)-hardness of many other algorithmic problems relies on it [9, 16, 29, 34].

1.2 Link to \(\exists \mathbb {R}\)-Completeness

Homotopy-universality and \(\exists \mathbb {R}\)-completeness are closely linked. In an \(\exists \mathbb {R}\)-hardness reduction we transform semi-algebraic sets S, given by polynomials, to instances I of some other problem. Again we denote by V(I) its solution space. In order to show \(\exists \mathbb {R}\)-hardness, the transformation has to be in polynomial time, and \(S=\emptyset \ \Leftrightarrow \ V(I)=\emptyset \). Note that the topology of V(I) may be widely different to the topology of S. Similarly, in order to show homotopy-universality, we need to transform a semi-algebraic set into some instance I. In this setting, we have no restriction on the running time of the transformation. The transformations do not even need to be computable to show homotopy-universality. Instead, we need to show that S and V(I) are homotopy equivalent. It may not be so surprising that a transformation of the first type may sometimes be massaged to a transformation of the second type and vice versa.

1.3 Art Gallery Problem

The art gallery problem is another central problem in computational geometry. The aim in the art gallery problem is to place as few points G (guards) as possible into a given polygon P such that every point \(q\in P\) is seen by a point \(g\in G\). The art gallery problem was invented by Viktor Klee [37] and is since then one of the central problems in computational geometry. Let us mention a few milestones. 1978, Steve Fisk wrote a beautiful one-page proof that \(\lfloor n/3\rfloor \) guards are always sufficient to guard a polygon on n vertices [17, 23]. 1986, Lee and Lin [32] first established NP-hardness, see also [20, 40]. 1987, Joseph O’Rourke wrote a beautiful book Art Gallery Theorems and Algorithms [37], summarizing the state of the art at the time. Surprisingly, the art gallery problem is probably not contained in NP, as it is \(\exists \mathbb {R}\)-complete [3]. In recent years, the art gallery problem has been studied also from various other theoretical perspectives: approximation [12, 19], smoothed analysis [18, 22], and parameterized complexity [6,7,8, 13]. From a practical perspective, various research groups developed, implemented, and tested algorithms that are exact, reliable, and relatively fast, but theoretically may run forever [14, 24, 27, 44].

For us the \(\exists \mathbb {R}\)-completeness of the art gallery problem is most relevant. Usually, \(\exists \mathbb {R}\)-hardness proofs imply homotopy-universality theorems as well. Although it is plausible that such a statement follows from the \(\exists \mathbb {R}\)-hardness reduction it is not formally stated in [3]. Instead, a slightly different statement about semi-algebraic sets in the plane is formulated [3]. Still, it leaves an inconvenient gap in our understanding of the art gallery problem.

2 Results

We fill this gap by providing a simple and short proof of homotopy-universality in the context of the art gallery problem. Our result even holds for a version of the art gallery problem where only the vertices of the polygon have to be guarded. Note that the guards can still be placed anywhere in the polygon. Following the language of Agrawal and Zehavi [7], we call this problem version the Point-Vertex Art Gallery. This problem is contained in NP, for a short proof see Appendix B. With this notation the ordinary art gallery problem is denoted as the Point-Point Art Gallery and vertex guarding is denoted as Vertex-Point Art Gallery.

Theorem 2.1

(homotopy-universality)   For every compact semi-algebraic set \(S\ne \emptyset \) there is an instance I of the art gallery problem such that V(I) is homotopy equivalent to S. Furthermore, this also holds when I is considered as an instance of Point-Vertex Art Gallery.

The proof can be found in Sect. 4. There are two observations that may also hold for other algorithmic problems. First, homotopy-universality may be generally easier to show than \(\exists \mathbb {R}\)-completeness. While a reduction often gives both \(\exists \mathbb {R}\)-hardness and homotopy-universality after sufficiently massaging it, it might be easier to just give two separate proofs that are each more accessible individually. Second, to show homotopy-universality, we only use that the vertices of the polygon must be seen. All other interior points are seen automatically in our construction. As mentioned above, this version of the art gallery problem lies in NP. Thus homotopy-universality is already achievable for NP-complete problems.

Based on a preliminary version of this paper, Stade and Tucker-Foltz [43] nicely extended our findings to homeomorphism-universality, that is, they showed that for any compact semi-algebraic set there exists an art gallery with a solution space homeomorphic to that set. However, their results use the fact that the walls of the polygon have to be guarded as well (but not the interior), and thus do not imply homeomorphism-universality of Point-Vertex Art Gallery. The homeomorphism-universality of this problem version remains an open problem.

Our construction for homotopy-universality does not yield homeomorphism-universality, as the dimension of the solution space gets blown up by the freedom of movement of guards we use to enforce homotopy equivalence. To add on to Theorem 2.1, we provide a sequence of tangible examples that have solution spaces homeomorphic to standard topological spaces, even in Point-Vertex Art Gallery. See Fig. 1 for an overview of these examples.

Theorem 2.2

(tangible & homeomorphic)   For the following topological spaces S there exists an instance I of the art gallery problem such that V(I) is homeomorphic to S. For any \(k\ge 1\),

1. k-clover;   2. k-chain;   3. 4k-necklace;   4. k-sphere;   5. torus and double torus.

Fig. 1
figure 1

Left to right: 4-clover, 4-chain, 4-necklace, 2-sphere, double torus

The proofs can be found in Sect. 5. To help the imagination with our more involved constructions, we created GeoGebra applications that show the correspondence between guard placements and points in the topological space. An accompanying video showcases the most interesting parts.

Our tangible examples nicely illustrate the topological complexity that can be achieved with very small polygons and very few guards. We believe that our results are suitable as classroom material both in Computational Geometry as well as in Algebraic Topology. Terms like homotopy equivalence and homeomorphism can be explained and their relevance can be illustrated. The explicit description of our examples, coupled with the fact that the spaces of optimal solutions are very different to typical benchmark instances, gives motivation to use our polygons as test cases for art gallery algorithms [2, 27]. Note that even simple to construct polygons easily lead to very complicated topological solution spaces. The selection we present here illustrates how we can realize nice and well-known topological spaces. We do not know whether we can find a tangible instance I of the art gallery problem such that V(I) is homeomorphic to the projective plane or the Klein Bottle. We find these spaces interesting as both are unorientable surfaces.

2.1 Proof Ideas

Our constructions are based on guard segments, which are also used in various other works [2, 3]. A guard segment is a segment inside the polygon that needs to contain at least one guard. For a simple construction of a guard segment, see Fig. 2.

Our homotopy-universality theorem crucially relies on guard segments to encode variables. In addition, we build gadgets that enforce that only certain combinations of intervals on each guard segment can be used. In this way, it is easy to construct arbitrary unions of hypercube faces. As we will see this is sufficient to show homotopy-universality. The technical challenge is to show that we can contract the additional dimensions our construction introduces to the desired solution space.

Fig. 2
figure 2

The pockets on the left and on the right enforce a guard to be placed on the dashed segment, if we want that one guard sees both pockets simultaneously

In our constructions for Theorem 2.2, guard segments can be touching or crossing one another. Thus, it is possible to use fewer guards than guard segments, and we can get interesting solution spaces. Intersecting guard segments also pose some technical difficulties, which will force us to use a more complex construction with more pockets. We will deal with these technicalities in Sect. 5. We will examine the possible “extremal” configurations of guards on guard segments and the possibilities to move between them. In this way, we can determine the structure of the solution space explicitly. Often, very simple arrangements lead to horribly complicated topological solution spaces. Even small changes to the construction can lead to completely different spaces. The challenge is to be inventive to get exactly those topological spaces that we care about. Specifically, the double torus in Sect. 5.8 required a solid understanding of the correspondence of polygons and the solution space.

Fig. 3
figure 3

If we can force guards onto three specially arranged guard segments forming a triangle, then every solution needs two guards, and the resulting solution space is homeomorphic to the circle

2.2 Simplicity

We consider it a strength of our proofs that they are simple. There are different ways to quantify simplicity. When measured in length of the paper, we note that the paper establishing \(\exists \mathbb {R}\)-completeness [3] has 69 pages and does not contain the homotopy-universality; including it would have made that paper even longer. Our proof of the homotopy-universality is not even six pages long, with three pages merely being figures, running examples and additional explanations, leaving only three pages for the formal proof. Yet, we do not consider brevity the main criterion for simplicity.

Rather, we think that ease of understanding is the more relevant measure of simplicity. In order to maximize it we provide running examples, we modularize our proofs, and we provide elaborated illustrations, whenever this seems to be helpful. Furthermore, we add exhaustive details and meticulously give references and additional explanations whenever it might be helpful. Each of our tangible examples is just a few pages long. We can directly draw the topological space and the configurations that interest us in a single figure. We believe that this type of integrated representation makes it particularly easy to understand, see Fig. 3 for an example of the circle. In particular, apart from a few technical explanations the proof of correctness boils down to inspecting some figure.

3 Preliminaries

3.1 Art Gallery Problem

Two points pq inside a polygon \(P\subset {\mathbb {R}} ^2\), can see each other if the line segment \({\text {seg}} (p,q)\) is inside P. In the art gallery problem, we are given a polygon P and an integer k. We are asked if there is a set \(G\subset P\) of size k such that every point in P is seen by a point in G. We call the points in G guards. Note we consider polygons as closed and guards as indistinguishable.

3.2 Existential Theory of the Reals

The complexity class \(\exists \mathbb {R}\) can be defined as the set of algorithmic problems that is polynomial time equivalent to finding real roots of polynomials \(p\in {\mathbb {Z}}\hspace{0.44434pt}[X_1,\dots ,X_n]\). As we will not use \(\exists \mathbb {R}\)-completeness, except for pointing out its link to homotopy-universality, we merely refer to some surveys and recent developments [4, 5, 15, 22, 33, 35, 38, 39].

3.3 Hausdorff Distance

Given two points pq in the plane \({\mathbb {R}} ^2\), we define the Euclidean distance

$$\begin{aligned} d(p,q)=\Vert p-q\Vert _2=\sqrt{(p_1-q_1)^2+(p_2-q_2)^2}. \end{aligned}$$

Consequently, given two closed sets \(F,G\subset {\mathbb {R}} ^2\), we define the directed Hausdorff distance as

$$\begin{aligned} \overrightarrow{d_H }(F,G)=\max _{x\in F}\min _{y\in G}d(x,y). \end{aligned}$$

The ordinary Hausdorff distance is defined by

$$\begin{aligned} d_H (F,G)=\max {\bigl (\overrightarrow{d_H }(F,G),\overrightarrow{d_H }(G,F)\bigr )}. \end{aligned}$$

3.4 Solution Space

We describe an instance of the art gallery problem by \(I=(P,k)\). We denote by V(I) the set of all possible solutions, i.e., the set of all possible placements of k guards such that P is completely guarded. When we write V(P), omitting k, we implicitly assume that k is the smallest possible value that admits at least one solution. Note our guards are in general not distinguishable, and thus V(I) is not readily embeddable into \({\mathbb {R}} ^{2k}\) as each solution is a set and not a vector. However, the Hausdorff distance still defines a topology on V(I), as every metric defines a topological space. Note that although one could choose a different metric to the Hausdorff metric, we are not aware of any natural metric that would lead to a different topology.

In some cases, we construct instances I with disjoint guard segments such that every guard must be on its private guard segment. In this case, we can interpret each guard set as a vector in \({\mathbb {R}} ^k\) and the usual topology in \({\mathbb {R}} ^k\) coincides with the topology given by the Hausdorff distance. To see this simply observe that small neighborhoods are identical and these are sufficient to define a topological space.

3.5 Semi-Algebraic Sets

A basic semi-algebraic set S is defined by polynomials with integer coefficients \((p_i)_{i=1,\dots ,k}\) and \((q_i)_{i=1,\dots ,m}\), as follows:

$$\begin{aligned}S=\{x\in {\mathbb {R}} ^n:p_i(x)\ge 0\wedge q_i(x)>0\}.\end{aligned}$$

Semi-algebraic sets are finite unions of basic semi-algebraic sets.

3.6 Cubical Complexes

A cubical complex is a set C of hypercubes that satisfy the following conditions:

  • every face of a hypercube of C is also in C;

  • any non-empty intersection of two hypercubes \(c_1\) and \(c_2\) is a face of both of them.

One example of cubical complexes that is particularly important to us are unions of (closed) faces of some hypercube.

3.7 Topology Terms

We say that two topological spaces AB are homeomorphic if there is a homeomorphism \(\varphi :A\rightarrow B\). A homeomorphism is a bijective, continuous function, whose inverse is continuous as well. Two maps, \(f_0,f_1:A\rightarrow B\), are homotopic, if there is a continuous map \(H:[0,1]\times A\rightarrow B\) such that \(H(0,x)=f_0(x)\) and \(H(1,x)=f_1(x)\). We call H a homotopy, and write \(f_t\) for the function \(H(t,\,{\cdot }\,)\). Given two topological spaces A and B, a homotopy equivalence between A and B is a continuous map \(f:A\rightarrow B\) for which there exists another continuous map \(g:B\rightarrow A\), such that \(g\circ f\) is homotopic to the identity map \(id _A\) and \(f\circ g\) is homotopic to \(id _B\). If such a map exists, then A and B are said to be homotopy equivalent, and we write \(A{\simeq } B\).

4 Realization of Unions of Hypercube Faces

In this section, we aim to prove Theorem 2.1.

Theorem 4.1

(homotopy-universality)  For every compact semi-algebraic set \(S\ne \emptyset \) there is an instance I of the art gallery problem such that V(I) is homotopy equivalent to S. Furthermore, this also holds when I is considered as an instance of Point-Vertex Art Gallery.

To this end, we first show that for every semi-algebraic set S, there is a homeomorphic union of hypercube faces (Lemma 4.2). Then, we show that for each union of hypercube faces U, we can build an instance of the art gallery problem, such that its solution space can be projected to a space homeomorphic to U (Lemma 4.3). This projection is the reason for our construction only yielding homotopy equivalence and not homeomorphism. In our constructed polygons, every guard set guarding all vertices automatically guards the whole polygon, thus the solution space is the same when considering the two versions of the problem.

For the proofs we will need some formal definitions. A hypercube in dimension n is the set of points \(\{X\in {\mathbb {R}}^n:X\in [0,1]^n\}\). A face of the hypercube is a closed subset of the hypercube given by some number of additional constraints of the form \(X_i=0\) or \(X_i=1\). A union of hypercube faces U in dimension n is the union of faces of the hypercube in dimension n. We call a face F maximal in U if \(F\not \subset F'\) for every other face \(F'\subseteq U\).

Fig. 4
figure 4

An example of a union of hypercube faces in dimension 3 consisting of three maximal faces. The blue edge is a non-maximal face, as it is a subset of the green face

Lemma 4.2

For every compact semi-algebraic set S, there is a union of hypercube faces U, such that U is homeomorphic to S.


It was shown by Hironaka that all compact semi-algebraic sets can be triangulated [28], that is, for every such semi-algebraic set S there exists a simplicial complex T which is homeomorphic to S. While the proof of Hironaka is phrased only for algebraic sets, it goes through for semi-algebraic sets, see e.g. [30]. Furthermore, each simplicial complex can be refined into a cubical complex which can be embedded into a hypercube as the union of some of its faces [11, Thm. 1.1]. So in particular, there exists a union of hypercube faces U which is homeomorphic to T and thus also to S\(\square \)

Note that computing this union of hypercube faces U implicitly determines whether the semi-algebraic set S is empty or non-empty. This is the underlying reason why our reduction does not yield \(\exists \mathbb {R}\)-hardness. Furthermore, note that the description complexity of U is not necessarily polynomial in the description complexity of S. The previous lemma shows that we can focus on unions of hypercube faces.

Lemma 4.3

Let U be a non-empty union of hypercube faces in dimension n. Then there exists an instance of the art gallery problem I such that V(I) is homotopy equivalent to U. Furthermore, V(I) can be projected to a set that is homeomorphic to U.

The mentioned projection will become apparent in the proof.

To prove this lemma, we first find a formula that encodes U. We define a variable constraint on a real variable \(X_i\) as either the formula \(X_i=0\) or \(X_i=1\). We define a facial conjunction as the conjunction of variable constraints for distinct variables, i.e.,

$$\begin{aligned}C=((X'_1=v_1)\wedge \ldots \wedge (X'_k=v_k))\end{aligned}$$

for some distinct \(X'_1,\dots ,X'_k\in \{X_1,\dots ,X_n\}\) and for \(v_1,\dots ,v_k\in \{0,1\}\). We define a facial disjunctive formula \(\varphi \) as a disjunction of finitely many facial conjunctions, i.e.,

$$\begin{aligned} \varphi =C_1\vee C_2\vee \ldots \vee C_m. \end{aligned}$$

Observation 4.4

For every non-empty union of hypercube faces U there exists a facial disjunctive formula \(\varphi \) such that \(U=\{x\in [0,1]^n:\varphi (x)\}\). Similarly, every facial disjunctive formula \(\varphi \) defines a union of hypercube faces \(\{x\in [0,1]^n:\varphi (x)\}\).

For example, the union of hypercube faces in Fig. 4 is encoded by the formula

$$\begin{aligned}\varphi =(X_1=0)\vee (X_2=1\wedge X_3=0)\vee (X_1=1\wedge X_2=1\wedge X_3=1).\end{aligned}$$

Note that the encoding uses one facial conjunction for each maximal face, the non-maximal blue face does not have to be encoded as it is a subset of the green face.

We can now prove Lemma 4.3. Let \(\varphi \) be some facial disjunctive formula that encodes U and contains m facial conjunctions, one for each maximal face in U, i.e., \(\varphi =C_1\vee \ldots \vee C_m\). The proof goes in several steps. First, we show that \(\varphi \) can be rewritten as a conjunction of disjunctions, using m additional binary satisfier variables \(S_i\), of which at least one has to be false. Then, we show how the real variables \(X_i\) and binary satisfier variables \(S_i\) can be encoded using guard segments, and how the encoding ensures at least one satisfier variable to be false. Then, we show how to encode a single disjunction as a pocket in the polygon. The conjunction of these disjunctions is naturally encoded by the art gallery problem requiring the whole polygon to be guarded at the same time. At last it remains to show the desired topological relationships between V(P) and the original union of hypercube faces U.

4.1 Rewriting Conjunctions

Let \(C_i=((X'_1=v_1)\wedge \ldots \wedge (X'_k=v_k))\) be a conjunction of \(\varphi \). We introduce the boolean variable \(S_i\) as a satisfier variable. Intuitively, \(S_i\) being true means that \(C_i\) is not the conjunction that satisfies the whole formula \(\varphi \). We now rewrite \(C_i\) as

$$\begin{aligned} E_i=(X'_1=v_1)\vee S_i)\wedge \ldots \wedge ((X'_k=v_k)\vee S_i). \end{aligned}$$

It can now be seen that \(\varphi =C_1\vee \ldots \vee C_m\) is equivalent to \({\bar{\varphi }}:=E_1\wedge \ldots \wedge E_m\wedge (\lnot S_1\vee \ldots \vee \lnot S_m)\), as each \(E_i\) is equivalent to \(C_i\vee S_i\). Note that \({\bar{\varphi }}\) is in conjunctive normal form, and all clauses except the last contain exactly two constraints. In the following construction, this last clause will be handled separately from the others.

As an example we apply this rewriting to the example union of hypercube faces from Fig. 4.

$$\begin{aligned} \varphi =(X_1=0)\vee (X_2=1\wedge X_3=0)\vee (X_1=1\wedge X_2=1\wedge X_3=1) \end{aligned}$$

is rewritten to

$$\begin{aligned} {\bar{\varphi }}&=(X_1=0\vee S_1)\wedge (X_2=1\vee S_2)\wedge (X_3=0\vee S_2)\wedge (X_1=1\vee S_3)\\&\qquad \wedge (X_2=1\vee S_3)\wedge (X_3=1\vee S_3)\wedge (\lnot S_1\vee \lnot S_2\vee \lnot S_3). \end{aligned}$$

4.2 Placing Variable/Dummy Guard Segments

Fig. 5
figure 5

We define for every variable \(X_i\) one variable guard segment to the left. Furthermore, we define \(m-1\) dummy guard segments \(D_i\), whose guards can satisfy at most one of two adjacent satisfier variables \(S_i\) and \(S_{i+1}\) by standing at either the left-most or the right-most point of the segment

The construction of variables can be seen in Fig. 5. Variables \(X_i\) are realized by horizontal variable guard segments (called \(X_i\), interchangeably) at the top of the art gallery polygon, which are enforced to contain at least one guard in any optimal solution, as otherwise two guards are needed to see both pockets. The value \(x_i\) of the variable \(X_i\) in any optimal guard assignment is the location \(x_i\) of the single variable guard on this segment, where 0 corresponds to the left endpoint of the segment, and 1 to the right.

For the binary satisfier variables \(S_i\), \(m-1\) additional pockets with dummy guard segments \(D_1,\dots ,D_{m-1}\) are added. In any optimal guard placement, the satisfier variable \(S_i\) is considered true (\(S_i=\top )\) if the location \(d_i\) of the dummy guard on segment \(D_i\) is equal to the left-most point \(l(D_i)\) of the segment, or if the dummy guard on segment \(D_{i-1}\) is at the right-most point \(r(D_{i-1})\) of its segment. If neither is the case, the satisfier variable is considered false.

This means that the guard on segment \(D_i\) can only make either variable \(S_i\) or \(S_{i+1}\) true, but not both at the same time. Clearly, with only \(m-1\) dummy guard segments and thus only \(m-1\) dummy guards, at most \(m-1\) satisfier variables are considered to be true in any optimal guard placement. This encodes the last clause of \({\bar{\varphi }}\).

Fig. 6
figure 6

Here, we show how to encode the constraint that there is at least one guard on one of the two green intervals. This corresponds to a disjunction of two constraints. The helper guard that is enforced to be on the dashed segment can see into at most one of the two corridors

4.3 Encoding Disjunctions

The construction of disjunction gadgets can be seen in Fig. 6. Each disjunction of \({\bar{\varphi }}\), except the already handled last clause, is encoded as a pocket on the bottom side of the polygon. The entrance of the pocket functions like the pinhole on a pinhole camera, and should be sufficiently small.

Each disjunction contains one constraint of the form \(X_i=v_i\) and one constraint of the form \({S_j=\top }\). The constraint \(X_i=v_i\) means that the variable guard for \(X_i\) is standing at the endpoint \(v_i\) of its guard segment, which can be viewed as a degenerate interval \(I_1:=[v_i,v_i]\). The constraint \(S_j=\top \) means that at least one of the dummy guards on \(D_{j-1}\) or on \(D_j\) is at the correct position, which is equivalent to saying that some guard is standing on the interval \(I_2:=[r(D_{j-1}),l(D_{j})]\) (for satisfier variables \(S_1\) and \(S_m\), this interval also degenerates to a point).

Now, for both constraints in our disjunction, we build one pocket which can only be seen through the pinhole by a guard standing anywhere on the satisfying interval. To achieve this, the left (right) point of the satisfying interval is connected with the left (right) end of the pinhole, and a sufficiently deep corridor is drawn.

To ensure that the disjunction gadget is guarded exactly if the disjunction is satisfied by any of the two constraints, one horizontal helper guard segment \(H_i\) is added above the corridors, which needs to contain at least one helper guard. This segment is placed in such a way that the helper guard can see into at most one corridor at once from any position. We denote the position of the helper guard on segment \(H_i\) by \(h_i\).

Observation 4.5

The disjunction gadget can be completely guarded with exactly one guard inside of the disjunction pocket if and only if there is at least one guard on one of the two satisfying intervals \(I_1,I_2\), assuming that all guards stand on guard segments.

4.4 Completing the Art Gallery

We have defined the upper and the lower boundary of our polygon P. We want to ensure that the parts of these boundaries between the variable/disjunction gadgets as well as the left and right boundary can be guarded in a controlled fashion. To this end, we add one more auxiliary guard segment. This guard segment is actually only a single point a from where all of the non-interesting parts of the polygon, but no corridor of a disjunction gadget can be guarded. In any optimal solution, there will be one auxiliary guard standing at this point. The complete art gallery polygon corresponding to the example in Fig. 4 can be found in Fig. 7.

Fig. 7
figure 7

The complete polygon encoding the union of hypercube faces from Fig. 4

4.5 Solution Space

We will now analyze the solution space V(P). First, we derive a lower bound on the number of required guards, and then an upper bound, which holds assuming U is non-empty. In the following, let g denote the number of disjunction gadgets, and recall n being the dimension of U and m being the number of conjunctions in \(\varphi \).

Lemma 4.6

At least \(n+m+g\) guards are required to guard the polygon P.


There are \(n+m+g\) pairwise disjoint guard segments, namely the n variable guard segments, the \(m-1\) dummy guard segments, the g helper guard segments, and the auxiliary guard segment. Because they are disjoint, at least one guard is needed for each such guard segment. \(\square \)

Lemma 4.7

For any point \(p\in U\), a placement of the variable guards such that \(x_i=p_i\) can be extended to a solution using \(n+m+g\) guards.


Because \(p\in U\), this assignment of variables must satisfy at least one conjunction \(C_j\) of \(\varphi \). Therefore the formula \(E_j\) is satisfied even if \(S_j\) is false. If we place the dummy guards such that all other \(S_k\) for \(k\ne j\) are true, every disjunction is satisfied and thus every disjunction gadget has at least one of the two corridors being guarded. The helper guards can now be placed such that every corridor is guarded, and the auxiliary guard stands at its fixed point a, leading to a solution using \(n+(m-1)+g+1\) guards. \(\square \)

As a corollary, we get the following observation.

Observation 4.8

If U is non-empty, exactly \(n+m+g\) guards are required to guard P. Furthermore, in every optimal solution there is exactly one guard on each guard segment, and every guard must stand on a guard segment.

Now we will show the opposite direction of Lemma 4.7.

Lemma 4.9

Let S be a placement of \(n+m+g\) guards in V(P). Then the point p with \(p_i=x_i\) is contained in U.


As every disjunction gadget is completely guarded in S, by Observation 4.5 there must be a guard on at least one of the two intervals corresponding to assignments of variables satisfying the disjunction. This means that the corresponding assignment of variables and satisfier variables must satisfy \({\bar{\varphi }}\). Therefore the assignment of variables \(X_i\) must satisfy \(\varphi \), and the point p such that \(p_i=x_i\) must be in U. \(\square \)

We have therefore established a relationship between optimal guard placements and points in U.

4.6 Projection and Homotopy Equivalence

We can now show the existence of the projection claimed in Lemma 4.3. Consider any guard placement of one guard per variable, dummy, and helper guard segment, and the auxiliary guard at a and consider the function \(\pi \),

$$\begin{aligned} \pi :[0,1]^{n+(m-1)+g}\times \{a\}{} & {} \longrightarrow [0,1]^{n+(m-1)+g}\times \{a\},\\ (x_1,\dots ,x_n,d_1,\dots ,d_{m-1},h_1,\dots ,h_g,a){} & {} \longmapsto (x_1,\dots ,x_n,0,\dots ,0,0,\dots ,0,a),\nonumber \end{aligned}$$

which maps such a placement by moving all dummy and helper guards to the left-most point of their guard segment. By definition, \(\pi \) is equal to its square, therefore \(\pi \) is a projection. By Lemmas 4.7 and 4.9, the image \(\pi (V(P))\) of the solution space under this projection is exactly the embedding of U into the movement of the variable guards. In particular, \(\pi \) restricted to V(P) is surjective onto U. Recall that a map between topological spaces is called proper if inverse images of compact subsets are compact. For the map \(\pi \) for any open or compact set of U, its pre-image is open or compact. Thus, the projection \(\pi \) is continuous and proper.

To finalize the proof of Lemma 4.3, it remains to show homotopy equivalence between V(P) and U. To this end, we first show the following claim.

Claim 4.10

For each fixed assignment of variable guards that corresponds to a point in U, the set of optimal guard placements extending this assignment with helper and dummy guards is contractible.


First, we show how to contract the degrees of freedom in the helper guards. For each fixed assignment of variable guards and dummy guards, each helper guard is either completely free to move on its whole helper guard segment (if both conditions for its disjunction gadget are met by the variable and dummy guards already), or it is only free to move within the interval where it can observe the corridor that is not yet guarded by variable and dummy guards. In either situation, the space each helper guard can move on is an interval, and all helper guards are independent from each other. Therefore the space spanned by the helper guards for a fixed assignment of variable and dummy guards forms a g-dimensional cube, which is contractible. In particular, moving each helper guard to its leftmost possible position contracts this g-dimensional cube.

For any given placement of the variable guards corresponding to a point \(p\in U\), p can be part of one or more maximal faces. If the point is part of a single maximal face, there is a one-to-one correspondence of the point to a dummy guard assignment. If the point is part of multiple maximal faces, there is some freedom in the placement of dummy guards.

Fig. 8
figure 8

How dummy guards can be moved when multiple dummy variables do not need to be guarded (green ellipses). Between two adjacent such variables, guards can switch between two extremal positions: all guards to the left, or all guards to the right

With the point being a part of v maximal faces, v satisfier variables \(S'_1,\dots ,S'_v\in \{S_1,\dots ,S_m\}\) (in order) do not need to be true. In this case, between every consecutive pair \(S'_i,S'_{i+1}\), the dummy guards have some freedom to move around. As all satisfier variables between \(S'_i\) and \(S'_{i+1}\) still need to be true, the possible movement of the dummy guards on the dummy guard segments between \(S'_i\) and \(S'_{i+1}\) equates to a path/interval between the two extreme solutions—all guards to the left of their intervals, and all guard to the right of their intervals (see Fig. 8). The dummy guard movements between each such consecutive pair are independent, therefore the solution space spanned by the dummy guards for a fixed assignment of variable guards forms a \((v-1)\)-dimensional cube, which is also contractible. Similar to the helper guards, we can thus also move all dummy guards one-by-one to their leftmost possible position to contract this \((v-1)\)-dimensional cube.

To summarize, moving the helper guards and the dummy guards to their leftmost possible positions define two contractions. We have therefore shown in two steps that for fixed variable guards, the solution space spanned by the dummy and helper guards is contractible. \(\square \)

Intuitively, we would now like to contract the solution space spanned by the dummy and helper guards to a point for each configuration of variable guards. However, the above lemma only shows that this is locally possible, and it is not clear that these local contractions can be chosen in a way that they fit together globally. The intuition can however be formalized using the following lemma.

Lemma 4.11

[42] Let X and Y be connected cubical complexes. Assume that there exists a continuous proper surjective map \(f:X\rightarrow Y\) such that for each point \(y\in Y\), its pre-image \(f^{-1}(y)\) is contractible. Then X and Y are homotopy equivalent.

Lemma 4.11 follows easily from a more general result by Smale [42]. In order to apply Smale’s result we merely need to review a handful of technical topological conditions on the involved spaces. As this is a standard step we defer the checks to Appendix A.

It remains to apply Lemma 4.11 to \(X=V(P)\), \(Y=U\), and \(f=\pi \). First, being a union of faces of a hypercube, U is naturally a cubical complex. In the proof of Claim 4.10 we have shown that V(P) consists of cubes. These cubes can be subdivided such that they fulfill the conditions of a cubical complex, therefore V(P) is a cubical complex too.

By Claim 4.10, it also follows that the pre-image under \(\pi \) of every point of U is contractible. Further, as noted above, \(\pi :V(P)\rightarrow U\) is indeed continuous, proper and surjective. Finally, if U is not connected, we can just consider each connected component separately, as the parts are then also disconnected in V(P). Thus Lemma 4.11 shows that U and V(P) are indeed homotopy equivalent.

5 Tangible Examples

In this section we show that some simple art gallery problem instances have solution spaces homeomorphic to nice topological spaces, in particular, we prove Theorem 2.2.

Theorem 5.1

(tangible & homeomorphic)  For the following topological spaces S there exists an instance I of the art gallery problem such that V(I) is homeomorphic to S. For any \(k\ge 1\),

1. k-clover;   2. k-chain;   3. 4k-necklace;   4. k-sphere;   5. torus and double torus.

Our examples also work for the Point-Vertex Art Gallery version. Thus, the existence of such examples is not implied by the work of Stade and Tucker-Foltz [43]. Furthermore, our examples are very easy to understand, while the approach of [43] leads to galleries with lots of vertices even for simple spaces like the torus.

Beginning with 1-dimensional solution spaces will give us insights into the concepts used and starting with Sect. 5.6 we show how to get higher-dimensional, yet still recognizable solution spaces homeomorphic to commonly known topological spaces.

5.1 Guard Segments

Already in Sect. 4 we used pockets in the polygon to ensure that guards stand on certain guard segments. There, each guard had its own private segment, and these segments did not interact at all. In particular, the extensions of these segments in both directions (until hitting the border of the polygon) did not intersect. This allowed us to use a very simple construction of two pockets to enforce such a guard segment, see for example Fig. 5.

For the following constructions of our example spaces we need guard segments that may intersect. Sadly, our previous construction using two pockets per segment does not enforce guard segments properly in this setting. To see this, note that once a guard gets close to a guard segment from one side, both pockets of the guard segment are guarded if there is another guard close to the segment on the other side. Thus, there are possible solutions in which the polygon is guarded but no guard stands on the segment exactly.

We thus search for a new construction of guard segments which properly enforces the property that in each possible solution, each guard segment needs to contain a guard. We suggest the construction shown in Fig. 9.

Fig. 9
figure 9

Extending the idea of using pockets to enforce a guard segment. Instead of only using one pocket on each side, we use three on one side and one on the other

The idea is that the cones from which these four pockets are visible intersect in exactly the guard segment. Thus, hopefully in an optimal solution any guard would rather be on this line segment and so we indeed get our guard segment. In the remainder of this subsection we will be dealing with the technicalities of these four pockets and prove that they really enforce guard segments.

Without additional arguments, the now four pockets per guard segment only guarantee that at least one guard stands in the union of the four visibility areas of each of the pockets. This union is some thin area around the extension of the guard segment in both directions. By moving the pockets closer to each other, this area can be made arbitrarily thin. Let us denote this area as the sausage around the guard segment.

Our goal is to prove that under certain conditions, the set of solutions using k guards such that each sausage contains at least one guard is the same as the set of solutions using k guards such that each guard segment contains at least one guard. First, note that each guard segment is contained within its sausage. Thus, it trivially follows that the second set is always a subset of the first. For the other direction, we phrase the following lemma.

Lemma 5.2

In any solution S, a guard g standing in the sausage of guard segment L is forced by pockets as shown in Fig. 9 to stand on L itself, if S fulfills either of the following conditions:

  1. (a)

    There is no guard except g standing in the sausage of L.

  2. (b)

    There is one other guard \(g'\in S\) also in the sausage of L, but not exactly on the line extending L. There is another guard segment \(L'\), such that \(L\cap L'\ne \emptyset \), and \(L'\) completely lies on the same side of L as \(g'\). Furthermore, g is enforced to stand on \(L'\) exactly.

  3. (c)

    There is one other guard \(g'\in S\) also in the sausage of L, but not exactly on L. There are two other guard segments \(L_1,L_2\), such that \(L_1\cap L\) and \(L_2\cap L\) are exactly the two endpoints of L. Furthermore, g is enforced to stand on \(L_1\), and \(g'\) is enforced to stand on \(L_2\).

These three cases correspond to the three arrangements shown in Fig. 10.

Fig. 10
figure 10

The three situations describing the fundamental ways how other guards (square) are allowed to enter the sausage such that the guard is still forced to be on the guard segment exactly


We prove this separately for each condition, and always assume that the respective condition holds.

  1. (a)

    g must be on L, as no other guard can see any pocket realizing L, and the four pockets can only be seen simultaneously from L.

  2. (b)

    Without loss of generality, assume guard \(g'\) is above L. \(g'\) can at most see pockets \(P_left \) and \(P_lower \) of L. By the condition (b), g must be on guard segment \(L'\), but there must also be a guard seeing pockets \(P_upper \) and \(P_middle \) of L. There exists only a single point on \(L'\) which can see both of these, which is the intersection point of L and \(L'\), and g must therefore stand at this point.

  3. (c)

    Assume \(g'\) is below L, and \(L\cap L_2\) is the right endpoint of L. We can furthermore assume that the angle between L and \(L_2\) is large enough that any point on \(L_2\) except \(L_2\cap L\) can only see either \(P_upper \) or \(P_lower \) of L, but not both. If this assumption would be wrong, we could further move the pockets of L closer together until it holds. We thus know that \(g'\) (which is on \(L_2\)) can at most see \(P_middle \) and \(P_lower \). By the condition, g must be on \(L_1\), and we know that there must be some guard seeing pockets \(P_upper \) and \(P_left \). Again, assuming the angle between L and \(L_1\) not being too small, the only point on \(L_1\) which can see all of these is the intersection point of L and \(L_1\), and g must therefore stand at this point.

The proof for (c) works similarly for \(L_1\) being at the other endpoint of L, or \(g'\) being above L. \(\square \)

Of course, our pocket construction may also properly enforce guard segments for some cases not covered by Lemma 5.2, but the three cases (a)–(c) are enough to prove correctness of all of our constructions for the proof of Theorem 2.2.

Lemma 5.2 will allow us to analyze the solution space of our polygons in terms of guard segments instead of sausages.

5.2 The Circle

As a first application of our new construction of guard segments, we show how we can get the simplest yet non-trivial topological space, namely the circle. Recall that each guard segment requires at least one guard to be placed on that segment.

Fig. 11
figure 11

If we can force guards onto three specially arranged guard segments forming a triangle (a), then every solution needs two guards. The resulting solution space is homeomorphic to the circle (b)

Consider the arrangement of three guard segments given in Fig. 11(a). Note that in this case we need at least two guards to guard everything, as a single guard can guard at most two of the segments simultaneously. Possible solutions are drawn in Fig. 11(b), indicated by black dots. Furthermore, it can be seen that the solution space of a polygon inducing these guard segments is homeomorphic to the circle. Whenever one of the guards is placed at the intersection of two different guard segments, the other guard is free to walk along the remaining unoccupied guard segment. In this way we can start in some configuration, move the first guard, move the second guard, and move the first guard once again and we are back in the configuration we started with. It is important to note that we work with unlabelled guards and thus we really start and end in the exact same configuration. Since there are no solutions with guards not on the triangular set of guard segments one can see that the solution space is indeed homeomorphic to a circle.

Fig. 12
figure 12

The second attempt to get guard segments forming a triangle (a). For each guard segment we use four pockets as described in Fig. 9. In b the sausages of the guard segments are indicated in blue

We now show that this triangular arrangement of guard segments is enforced properly by our pockets (shown in Fig.12(a)). Recalling Lemma 5.2, we only need to prove for each optimal guard placement of guards on the sausages (Fig.12(b)), at least one of the three conditions of Lemma 5.2 applies. We only show this for the top left solution in Fig. 11(b), for the other solutions the statement follows from symmetry.

For the left and bottom guard segment, there is only one guard on the sausage of the segment, therefore case (a) applies and the guards are enforced to stand on these segments exactly. Now, for the right segment, for both guards, case (b) (as well as case (c)) applies, so at least one of the guards needs to be at an intersection point of segments exactly.

We will refrain from proving the conditions of Lemma 5.2 for the more complex constructions, as it is merely tedious but not insightful. Note that one can always find a sausage containing only a single guard to bootstrap the proof using case (a), as if every sausage would contain two or more guards, a guard could be removed and every sausage would still be guarded, therefore such a guard placement could not be optimal.

5.3 Clovers

We now begin proving Theorem 2.2 by showing how to achieve solution spaces homeomorphic to k-clovers. The k-clover is also called wedge (sum) of circles or bouquet of circles in the literature. A k-clover consists of k circles glued together at a single point. Note that in the previous section we have shown that we can build a polygon with solution space homeomorphic to the circle, which can also be seen as a 1-clover.

5.3.1 2-Clover

Fig. 13
figure 13

a The polygon gives us as a solution space the 2-clover (i.e., the symbol \(\infty \)). b Guards are forced to live on six specific guard segments (dashed). c One of the visibility regions (i.e., sausages) is shown on the right, they can be made arbitrarily thin

We first consider the polygon from Fig. 13(a). The idea is to force an arrangement of six guard segments (cf. Fig.13(b)) that each need to have one guard on them. Note that we cannot guard this arrangement with two guards and so any optimal solution needs three guards. As can be seen in Fig. 13(c), the pockets can be moved together close enough such that the nerve of the sausages of the guard segments is the same as the nerve of the guard segments themselves.

Note that there are multiple solutions with three guards on intersections of guard segments, and for all of these solutions, only one guard can move away from its intersection at a time. Figure 14 shows a solution with three guards and the movement of one of the guards.

Fig. 14
figure 14

The six guard segments from the polygon above. The figure shows how moving guards around is possible, and it shows that there is at least one cycle in the solution space

By using movements similar to the ones described in Sect. 5.2 we can discover the whole solution space, and we arrive at the graph in Fig. 15, where edges mean movement of a single guard along one single guard segment.

Fig. 15
figure 15

The complete solution space of the polygon. The situations in boxes are connected by single guard movements indicated next to the edges

Finally, using Lemma 5.2, we can conclude that in each solution all guards need to stand on their respective segments, and thus the solution space of this art gallery problem instance is homeomorphic to the symbol \(\infty \) or the 2-clover.

5.3.2 k-Covers

For showing that we can have any k-clover as a solution space we describe the following arrangement of guard segments. Let \(k\ge 3\) and create guard segments on the sides of a regular k-gon. Additionally, consider the set M of middle points of the already present guard segments and let us add a complete graph onto these (middle) points. In other words, we add a guard segment connecting any two points in M. Let us denote the resulting set of lines as the k-clover art gallery guard segments. Examples of the resulting arrangement can be found in Fig. 16.

Fig. 16
figure 16

Examples of the k-clover art gallery guard segments for small values of k. The red circles indicate the set M with the blue lines describing the inner complete graph \(K_k\). The black guard segments are the ones we start our construction with, the regular k-gon

For clarity, let us denote the inner part as the inner \(K_k\) (blue in Fig. 16) and the set of intersection points of guard segments as the set of vertices.

Lemma 5.3

The minimum number of guards to guard every guard segment in the k-clover art gallery guard segments is k.


Note that if there is a guard placement guarding everything, then there is a guard placement with the same number of guards, with guards only on vertices. This is because moving a guard from a single guard segment to a vertex only increases the set of segments covered by this guard.

Assume for the sake of contradiction, that we can guard the inner \(K_k\) with at most \(k-2\) guards. If all \(k-2\) guards are on points in M, then there are two unoccupied points in M and the edge connecting them cannot be covered by any guard. Hence, let us assume that \(i\ge 1\) of the guards are in the interior of the polygon spanned by the vertices of the inner \(K_k\). Consider the induced graph G formed by unoccupied points \(M'\subseteq M\). By the construction of the k-clover art gallery guard segments, we know that \(G=K_{i+2}\) and recall that there is no guard on any point in \(M'\). Since every point in \(M'\) has \(i+1\) adjacent edges in G that do not intersect in the interior of the polygon spanned by the vertices of inner \(K_k\), we cannot guard everything with only i guards. Overall this shows that there are at least \(k-1\) guards needed in the inner \(K_k\).

Suppose now that we have \(k-1\) guards in the inner \(K_k\). Then there is at least one unoccupied point of M and with it the corresponding guard segment of the regular k-gon is uncovered. Thus any solution to the k-clover art gallery guard segments needs at least k guards. Finally, note that putting a guard on every point of M gives a valid assignment. \(\square \)

Lemma 5.4

The solution space of the k-clover art gallery guard segments is the k-clover.


The concepts used to analyze the solution space of the 2-clover polygon apply here as well. The common “point” (i.e., center of the clover) is the canonical configuration already described above, where the k guards are all placed on the points of M (see Fig. 17, leftmost). Note that in this specific configuration every single guard can be moved along its corresponding outer guard segment. However; we can only move one of the guards at a time, as moving two of them simultaneously would leave the edge between their original locations unguarded. Note also that moving a guard into the inside of the \(K_k\) would leave the outer guard segment (the one from the k-gon) unguarded.

Whenever we move a guard far enough, until it reaches a corner of the regular k-gon, this frees exactly one other guard (namely the one on the side of the k-gon which is newly covered by the moved guard). This freed guard can now only walk on one particular inner edge to the old position of the first guard, ending back at the canonical solution. The described movements can be seen in Fig. 17 for the case of the 4-clover.

Fig. 17
figure 17

Moving guards along the edges of the k-clover art gallery guard segments

As already mentioned, whenever a guard is on a single edge, no other guard is free to move. Hence, by the structure of the graph, we get exactly k circles attached to a common point and thus the k-clover as claimed. \(\square \)

Lemma 5.5

We can realize the k-clover art gallery guard segments as an art gallery problem of a simple polygon.


We again use small pockets to force guard segments. One example of a possible resulting polygon for \(k=4\) can be found in Fig. 18. Similarly to the cases before, one can check that every optimal guard placement in this polygon is a solution with guards only on the guard segments, using Lemma 5.2. Thus the polygons describe the k-clover art gallery guard segments. \(\square \)

Fig. 18
figure 18

The polygon on the left gives the 4-clover art gallery guard segments as possible locations for guards. Thus the solution space of this instance of the art gallery problem is homeomorphic to the 4-clover

5.4 Chains

We continue proving Theorem 2.2, namely in this section we show that there are instances of the art gallery problem with solution spaces homeomorphic to k-chains. The main idea used in this section is to have different sets of guards for the different things we want to chain up. We need to restrict the valid placement of guards with guard segments such that at each moment in time only one set of guards can move freely.

For simplicity we will restrict ourselves to chaining up circles; however, we believe that the idea can be used to chain up different, more complex spaces as well. Let \(k\ge 1\) and consider a path of k vertices. Instead of using vertices we use circles. We denote the resulting set as a k-chain, some examples for small k can be found in Fig. 19.

Fig. 19
figure 19

k-chains for small values of k

Consider the arrangement of guard segments in Fig. 20. Note that any guard can only cover two guard segments simultaneously and since there are nine different segments we need at least five guards. We have already seen in Sect. 5.2 that if guard segments form a triangle, we always need two guards on the triangle. Therefore in any optimal guard placement there is a guard on the horizontal guard segment in the middle, we call it the link guard on the link segment.

Fig. 20
figure 20

Guard segments forming two triangles that are connected by a link consisting of three individual guard segments

The left and right guard segments of the link ensure that whenever they are not guarded by the link guard, the guards on the corresponding triangle need to maintain one particular position. This means that the link guard can move from one end of its segment to the other in order to lock one circle and unlock the other. In the solution space, this results in a segment linking the two circles, see Fig. 21.

Fig. 21
figure 21

The solution space of the guard segments given in Fig. 20 is a 2-chain

Fig. 22
figure 22

An example of the full polygon forcing guard segments; with solution space homeomorphic to a 2-chain. Marked is the possible spurious solution that arises from analyzing sausages of guard segments. Note that this placement does not guard the left bottom pocket of the unoccupied guard segment, emphasized in red. This is therefore not actually a spurious solution

Figure 22 shows one possible instance of the art gallery problem that aims to achieve these desired guard segments. Note that no matter how thin the sausages are made, the sausages of the left and right guard segments of the link actually intersect with the sausages of the bottom triangle segments. We have to argue that this additional intersection does not create spurious solutions that would not assign all guard segments at least one guard.

Recall that on each sausage there must be one guard. We first observe that the link segment, and each of the triangle segments must contain a guard (by the same arguments as in Sect. 5.2). There is a single type of possible spurious pseudo-solution under these conditions, where all sausages contain a guard, but one of the guard segments of the link does not. This solution is noted in Fig. 22, and one can verify that this pseudo-solution can not satisfy the left bottom pocket of the right segment of the link (emphasized in red). We can therefore conclude that in each optimal guard placement, all guard segments must contain a guard.

Note that by repeatedly linking triangles together, we can realize a chain of any length, and the argument above generalizes.

5.5 Necklaces

We have just described how one can chain up different spaces. In particular we have given art gallery problem instances with solution spaces homeomorphic to chains of circles. Here we want to investigate whether it is possible to close the chain (of circles), that is, we want to construct a necklace of topological spaces, in particular circles. Let us denote a closed k-chain as a k-necklace, see Fig. 23 for some small examples.

Fig. 23
figure 23

k-Necklaces for small values of k

The two topological spaces, chains and necklaces are very similar, the only difference being at the ends of the chain. When we move in the chain, say from the left-most circle to the right-most circle, we want to have some way of going back to the first circle without going through all other circles in-between. This would then close the chain and we would end up with some necklace.

A first attempt is to link the first and last circle of the chain in a similar way as we linked circles in-between. Then there are as many links as circles. Recall that the link guards cannot guard the whole link, therefore the guards on the circles are forced to guard one of the link segments. Thus, we can never get a solution space homeomorphic to a necklace. So, the construction we present here uses another idea: we duplicate the chain using small guard segment squares and link up the ends of the different copies.

Fig. 24
figure 24

a A polygon and b its induced guard segments. They form a simple triangle with two attached flags. The solution space is homeomorphic to the 4-necklace

Consider the polygon given in Fig. 24(a). The induced guard segments are drawn in Fig. 24(b), where we omitted the polygon for clarity. The guard segments form a 1-chain (the triangle in the middle) with two small squares attached. Let us denote the small squares, as the flags. They are attached at different points of the triangle. Note that if the guards are forced to live on the indicated guard segments, then we need at least six guards in any optimal solution. This is because there are eleven segments and each guard can occupy at most two simultaneously. Furthermore, two guards need to be on the triangle as well as on each of the flags.

Note that the squares have exactly two discrete solutions and thus by adding the flags to both ends of the triangle will not only duplicate the chain but multiply it by four. In other words, any solution on the triangle can be completed to four different solutions on all guard segments. Note that the flags can only change their state if the guards on the adjacent triangle are already guarding the guard segment that connects the flags to the triangle. This is only possible in exactly one placement of guards. Further the guards in the flags can only move horizontally. Analyzing the possible movements of guards allows us to discover the solution space, Fig. 25 shows that we arrive at a 4-necklace.

Fig. 25
figure 25

The different guard placements and their connections for guards standing on guard segments as given in Fig. 24(b). The solution space is homeomorphic to a 4-necklace

It remains to show that we can indeed force guards onto the guard segments given in Fig. 24(b). By the exact same reasons as presented in Sect. 5.4, it follows that the polygon given in Fig. 24(a) does the job.

All the ideas and arguments presented here generalize to any chain. By attaching flags at opposite ends of the chain, we multiply the solution space. Since flags only change their state in one guard placement on the chain, the copies of the chain are linked together nicely. We can therefore get an instance of the art gallery problem with solution space homeomorphic to any 4k-necklace. We believe that by a slight modification we could also get 2k-necklaces; however, it remains an open question whether there are simple instances of the art gallery problem with solution spaces homeomorphic to necklaces of odd length.

5.6 Balls and Spheres

For the remaining parts of the proof of Theorem 2.2, we consider multidimensional topological spaces. For simplicity, let us once more study how to get a simple polygon with a solution space homeomorphic to the circle, or sphere \(S^1\). This time, the construction will generalize to higher dimensions and allow us to show that there are instances of the art gallery that have solution spaces homeomorphic to balls and spheres. Let us define an (hv)-art gallery grid, that is a (graph-theoretical) grid, with h horizontal guard segments and v vertical guard segments. Again, let us denote the intersection points of guard segments as vertices. Since the vertical and horizontal segments are disjoint, we exactly know how many guards are needed in any optimal solution of an art gallery grid.

Observation 5.6

On any (hv)-art gallery grid, the minimum number of guards required is \(\max \hspace{0.83328pt}(h,v)\). If \(h\ge v\), then in any optimal solution there is no guard solely on a vertical segment (and vice versa).

Claim 5.7

The (3, 2)-art gallery grid has a solution space homeomorphic to \(S^1\).


By Observation 5.6, the three guards are always on horizontal guard segments. Note that whenever one of the guards is not on a vertex, then the other two guards are fixed in one of two (antipodal) states. Similarly, when all three guards are on vertices, we can move two of them, but only one simultaneously. There is a way to go through all the states with guards only on vertices using all the different states and taking no detours, i.e., a Hamiltonian cycle. Therefore the solution space of the (3, 2)-art gallery grid is homeomorphic to \(S^1\). For some intuition, consider Fig. 26. \(\square \)

Fig. 26
figure 26

The solution space of the (3, 2)-art gallery grid drawn in two different ways. On the left one can see what happens in the grid. On the right we embedded the grid into the cube, one dimension for each guard. The solution space is homeomorphic to the circle \(S^1\)

More generally, we can state the following result, namely the part of Theorem 2.2 about spheres.

Lemma 5.8

For any \(k\ge 1\), the solution space of the \((k+2,2)\)-art gallery grid is homeomorphic to \(S^k\).

Before we are able to prove this statement we take a closer look at the \((k+1,1)\)-art gallery grids that arise if we ignore one of the vertical lines in the \((k+1,2)\)-art gallery grids, see Fig. 27 for an example. On the one hand they give interesting solution spaces and on the other hand these grids are an essential part in proving Lemma 5.8.

Fig. 27
figure 27

Some \((k+1,1)\)-art gallery grids for small values of k

Lemma 5.9

For any \(k\ge 2\), if the \((k+1,2)\)-art gallery grid has a solution space homeomorphic to \(S^{k-1}\), then the \((k+1,1)\)-art gallery grid has a solution space homeomorphic to the ball \(B^k\).


Let us consider the solution space of the \((k+1,1)\)-art gallery grid. Among all solutions, there is one special one, that is the guard placement with all \(k+1\) guards on the vertical line. Let us denote this placement as the 1-placement. This solution will be the center of our ball. We can now embed the solutions of the \((k+1,2)\)- and \((k+1,1)\)-art gallery grids into the \((k+1)\)-dimensional hypercube (one dimension for each guard along its horizontal guard segment).

Look at all the solutions of the \((k+1,1)\)-art gallery grid that have at least one guard on the missing left vertical guard segment, and at least one guard on the remaining right vertical segment. These boundary solutions are also solutions of the \((k+1,2)\)-art gallery grid, and form an \(S^{k-1}\) by assumption. Every solution s of the \((k+1,1)\)-art gallery grid lies on a straight line between such a boundary solution and the 1-placement—the boundary solution can be found by continuing the ray from the 1-placement through s until the first guard reaches the left endpoint of its segment. Furthermore, every placement p on such a line between a boundary solution and the 1-placement must be a valid solution of the \((k+1,1)\)-art gallery grid, as some guard is always on the vertical segment for all placements on this line. We conclude that the solution space of the \((k+1,1)\)-art gallery grid is homeomorphic to the filled \(S^{k-1}\), i.e., the ball \(B^k\). \(\square \)

Now we are able to prove Lemma 5.8.

Proof of Lemma 5.8

In any optimal solution there are exactly \(k+2\) guards, one on each horizontal guard segment (cf. Observation 5.6). We give a proof by induction over k, where the base case \(k=1\) is proven already in Claim 5.7. Therefore let us assume that \(k\ge 2\).

Fix any of the guards, and let us denote it as guard a. If a has to be free to move around, then the remaining \(k+1\) guards need to cover both vertical guard segments. They are arranged in a grid-structure; thus, we are in the situation of the \((k+1,2)\)-art gallery grid. By the induction hypothesis we already know that the corresponding solution space is homeomorphic to \(S^{k-1}\). Note that moving a along its guard segment multiplies the \(S^{k-1}\) by an interval.

On the other hand, if a lies on one of the vertical lines, then the remaining guards only need to cover the other vertical guard segment. Hence, we are in the situation of the \((k+1,1)\)-art gallery grid. By the induction hypothesis, and by Lemma 5.9, we know that its solution space is homeomorphic to \(B^k\).

For both the middle hypercylinder (for a free), and the two balls (for a on a vertical guard segment), the boundary is exactly the set of those solutions in which a is free to move, but on one of the vertical guard segments. These are also exactly the solutions through which one can move from a ball to the hypercylinder and vice-versa, and we can conclude that the parts therefore fit together. We see that the solution space is homeomorphic to two balls \(B^k\) joined by a hypercylinder \(S^{k-1}\times [0,1]\), which is homeomorphic to \(S^k\) as claimed. \(\square \)

Fig. 28
figure 28

Polygons realizing the (3, 2)-art gallery grid and the (4, 1)-art gallery grid, respectively

Showing the realizability of any grid is not hard using Lemma 5.2. Figure 28 gives polygons for the (3, 2)-art gallery grid and for the (4, 1)-art gallery grid. As a final observation in this section, we shortly take a closer look at one of the smallest interesting grids and analyze the (2, 2)-art gallery grid, see Fig. 29. The following observation can be seen as an extension of Lemma 5.8.

Observation 5.10

The (2, 2)-art gallery grid has a solution space with two disjoint points, that is, homeomorphic to \(S^0\).

Fig. 29
figure 29

Solution space of the (2,2)-art gallery grid

5.7 Torus

We start this section with the following observation about independent guard segments in a polygon. If a polygon can be split into two parts, such that the guards guarding each part can move around independently from each other (i.e., the possible positions of the guards guarding one part do not depend on the positions of the guards guarding the other part), then the solution space of the whole polygon is homeomorphic to the Cartesian product of the two solution spaces given by the possible positions of the guards guarding each part on its own.

With this in mind, we can now construct an art gallery problem instance with a solution space homeomorphic to a torus. Note that the torus is homeomorphic to the Cartesian product of two circles, so we will use the circle construction from Sect. 5.2. Now all we need to do is to fit two copies of this construction into the same polygon, with guards from each circle construction not influencing the others. The key idea is to separate the two circle constructions in the polygon such that a guard from one side cannot see any of the pockets of a guard segment from the other set. This can be achieved by the construction in Fig. 30. The middle separator guarantees that the sausages of any guard segment on the left and any guard segment on the right do not intersect.

Fig. 30
figure 30

The polygon with solution space homeomorphic to the torus. Guards are forced onto guard segments forming two independent triangles

5.8 Double Torus

Fig. 31
figure 31

The polygon with solution space homeomorphic to the double torus. Guards are forced to live on guard segments, forming two guard triangles and an open triangle (dashed). An optimal solution needs only six guards. There are additional restrictions on the exact placements of the guards by circle pockets (visibility areas in green and red) and a hole pocket (visibility area in gray). We split the analysis of this whole polygon into three different components

As a last tangible example we give a polygon with solution space homeomorphic to a double torus. The polygon has many spikes and pockets (see Fig. 31) but the key idea is once more to force guards onto guard segments. In particular the guard segments form two triangles and a path of three segments that nearly forms a triangle. Note that this nearly-triangle is not a triangle as it is not closed at its left. There are additional pockets on the left hand side and on the top part of the polygon that restrict the possibilities to place guards further. Let us denote the four pockets on the left circle pockets, whose visibility areas are indicated in green and red. Let us call the additional pocket on the top part of the polygon the hole pocket. The visibility area of the hole pocket is indicated in gray. Note that all other pockets serve the purpose of forcing guards onto the segments, as in previous sections.

It is worth mentioning two features of the polygon. First, we consider the intersections of the visibility areas of the hole pocket and each circle pocket. These intersections all contain only a single point lying on guard segments. Second, from both endpoints of the guard segment path on the right side, all circle pockets can be seen.

To simplify the analysis, we mainly consider the following three components: (1) the guard segment triangle on the top left, (2) the guard segment triangle on the bottom left, and (3) the three guard segments on the right, later referred to as the top, bottom, and vertical segment of the third component. We will prove that each of these components will need to be guarded independently, in other words no guard from one component can see the pockets of the guard segments from another component. Apart from these components the circle pockets and the hole pocket put additional constraints on the possible guard placements and create dependencies across components. In the following we will focus on the different components of the construction and show how they interact. Our goal is proving the following lemma.

Lemma 5.11

The solution space of the polygon given in Fig. 31 is homeomorphic to a double torus.

We start by proving the following lemma. It shows that in optimal solutions, guards are indeed forced to live on guard segments. In particular the guards behave as expected and there have to be two guards in each component. The proof only relies on the way the polygon is drawn and does not give additional insights.

Lemma 5.12

The polygon in Fig. 31 needs six guards to be guarded. In an optimal solution with six guards, the guards fulfill the following conditions:

  1. (a)

    there are two guards on segments of component (1), and two on segments of component (2);

  2. (b)

    there is one guard on the top segment and one on the bottom segment of component (3).


To see that six guards are sufficient, it suffices to give one configuration with six guards seeing the entire polygon. Observe that the guard placement in Fig. 31 is a valid solution. Next we prove that six guards are necessary.

Note that component (3) is completely isolated from the others. Furthermore, there is no common intersection of the visibility areas of all pockets of component (3), and thus two guards are required to guard the component. Where can those guards be? Observe that there must be a guard in the sausage of the vertical segment, denote it as guard g and let us denote the other guard as h. Suppose that g is not in the sausage of any of the other segments of the component. In this case h must guard all the pockets of both the top and bottom guard segments, which is not possible, as the segments do not intersect. We conclude that guard g must be in one other sausage as well and guard h must guard the third sausage. Using Lemma 5.2, we can show that the guards must stand on guard segments exactly, proving property (b).

It remains to show that in any optimal solution, four more guards are required; two on each of the triangles. In Sect. 5.7 we have shown that two separate triangular arrangements of guard segments require four guards exactly on the guard segments. The only difference of that construction to the polygon here is that we could potentially have guards guarding pockets from both triangles simultaneously. The only possibility for that to happen is if at least one guard stands in the intersection of the sausages of the two offending segments of the triangles: those which point to the middle of the polygon. Let us denote this intersection of sausages as the middle. Note that no guard in the middle can see pockets of any non-offending guard segment, thus we need at least one guard per triangle that can only see pockets of the corresponding component. Consequently there are at most two guards in the middle in any optimal solution.

Any guard in the middle can see at most two pockets of each guard triangle, see Fig. 32. Therefore if there is only one guard in the middle we require at least two additional guards in components (1) and (2) each, leading to a total of seven guards. Thus, having only one guard in the middle is not optimal.

Fig. 32
figure 32

a The polygon and b the middle with the offending guard segments (dashed), the extension lines of the guard segments (gray lines) and the visibility areas of their respective guard segment pockets (gray). There is only a single point seeing four of the involved pockets, the intersection of the gray lines

If there are two guards in the middle, one can verify that these two guards cannot guard the two offending segments completely, see Fig. 32. In particular, there is only a single point that can see four of the eight pockets of the offending segments (the intersection of the extensions of the guard segments). Consequently any two guards in the middle together can see at most six pockets. Hence, in one of the components (1) or (2) more than eight unguarded pockets remain and two guards are needed, leading to at least seven guards again.

We conclude that there is no optimal solution in which a guard sees a pocket of component (1) and one of component (2) simultaneously. Therefore the two components are independent and as in Sect. 5.7, there can only be guards on the guard segments, proving property (a). \(\square \)

Recall that the red and green areas (e.g. in Fig. 31) show the visibility areas of the circle pockets on the left side of the polygon. If one of the guards of component (3) is at the left endpoint of its segment, it guards all four circle pockets. The left and right parts of Fig. 33 show the two configurations of the guards in component (3) for which this holds. We refer to them as unlocking configurations, and the rest of the configurations of the guards in component (3) are referred to as locking configurations. In the following, we will analyze the solution spaces of the first two components, when knowing that the third one is in either the unlocking or the locking configuration. In the end it only remains to show that all parts of the solution space come together nicely and form a double torus.

Fig. 33
figure 33

The solution space restricted to the guards of component (3) is homeomorphic to an interval. The left and right figures are the unlocking configurations, i.e., all circle pockets are already guarded. All configurations in between are locking

Lemma 5.13

The solution space, restricted to solutions in which the guards of component (3) are in one of the unlocking configurations, is homeomorphic to a torus with a hole.


Since a guard from component (3) can see the circle pockets, they do not affect the position of the rest of the guards, so we can ignore these pockets. Additionally, we can also completely ignore the placement of guards in component (3) since its guards cannot see any pockets from the other components (cf. Lemma 5.12), nor can they see the hole pocket. This leaves us with components (1) and (2), which on their own would have a solution space homeomorphic to a torus, ignoring the hole pocket. To prove the lemma, we need to argue that the hole pocket eliminates a part of the solution space (we call it the forbidden region) that is homeomorphic to a disk, resulting in a torus with a hole.

Observe that the forbidden region is made of all placements of the guards in components (1) and (2), for which the hole pocket is not guarded. The guard placements in the two components are independent, since the hole pocket constraint applies to both. Following the reasoning in Sect. 5.7 it suffices to prove that the forbidden region of the guards of each component is homeomorphic to a line segment.

In each component we have guard segments forming a triangle, and some area around one of the vertices from which the hole pocket can be seen. Figure 34 shows the guard placements that do not guard the hole pocket. As this is homeomorphic to a line segment, the forbidden region is homeomorphic to a \(B^2\), and the lemma follows.

Fig. 34
figure 34

The forbidden region in the solution space of one of the components (1) or (2). The hole pocket is only visible from the gray area; therefore, if either of the guards is in the gray area, then the hole pocket is visible and the solution is not forbidden

\(\square \)

Lemma 5.14

The solution space, restricted to solutions in which the guards of component (3) are in some locking configuration, is homeomorphic to a circle \(S^1\).


Recall that by Lemma 5.12 no guard can be in the interior of the vertical guard segment. Therefore in any locking configuration, the guards of component (3) do not see the circle pockets, the hole pocket or the pockets of components (1) and (2). This also means that the placement of guards in component (3) is independent from the rest of the polygon; the solution space for this component is homeomorphic to a line segment, with the unlocking configurations at the ends as boundary (see Fig. 33).

Considering components (1) and (2), we note that each guard can only see one of the circle pockets at any time, so the four guards each need to be guarding one circle pocket. Note that there is also the hole pocket. Let I be the set of points on a guard segment triangle from which a guard is able to see both an circle pocket and the hole pocket. Observe that there are only four points in I and that at least one of the guards needs to be on such a point.

Furthermore, as we have seen before, in each component (1) and (2) at least one guard needs to be on a vertex of the triangle. Knowing this, we can see that each guard can only move between a fixed vertex and a point in I, when another guard satisfies the corresponding requirement. Figure 35 shows these possible movements. One can see that the solution space is homeomorphic to a circle and the desired statement follows. \(\square \)

Fig. 35
figure 35

Solution space formed by the guards of components (1) and (2) when the guards of component (3) are in some fixed locking configuration. One of the guards has to see the hole pocket, its visibility area is indicated in gray. There have to be guards in the visibility areas of the circle pockets as well

We are finally ready to prove Lemma 5.11, that indeed this art gallery problem instance has a solution space homeomorphic to the double torus.

Proof of Lemma 5.11

We know that in any optimal solution there are exactly six guards, two in each component. Let us assume that the two guards in component (3) are in a locking configuration. Then by Lemma 5.14 we know that that the solution space of the remaining guards is homeomorphic to a circle \(S^1\). Since all locking configurations are homeomorphic to an interval, the solution space over all locking configurations is a cylinder (i.e., \(S^1\times [0,1]\)). On the other hand, if the guards in component (3) are in either unlocking configuration, then the solution space is homeomorphic to a torus with a hole, cf. Lemma 5.13.

For both the middle cylinder (component (3) locking) and the two tori with holes (component (3) in either unlocking configuration) the boundary is exactly the set of solutions with guards of components (1) and (2) guarding one of the circle pockets each and guards of component (3) in unlocking configuration. These are also exactly the solutions through which one can move from a torus to the cylinder and vice-versa, and we can conclude that the parts fit together. We see that the solution space is homeomorphic to two tori joined by a cylinder \(S^1\times [0,1]\), which is homeomorphic to the double torus as claimed. \(\square \)

6 Conclusion

We showed that up to homotopy equivalence, any compact semi-algebraic set can be achieved as a solution space of an art gallery problem instance, even when considering the NP-contained version Point-Vertex Art Gallery. By doing this, we not only expand on a result by Abrahamsen et al. [3], but also highly improve the simplicity of the arguments required. We are now left to wonder whether even homeomorphism-universality holds for this simpler version of the art gallery problem.

Furthermore, we have given example instances of the art gallery problem, that are not only homotopy equivalent, but even homeomorphic to well-known topological spaces. In particular, we have shown that we can get 1-dimensional topological spaces with any number of circles (clovers and chains), and that we can get simple higher-dimensional spaces (spheres). On the one hand, a natural open question asks whether it is possible to extend our ideas and find nice examples leading to orientable surfaces of higher genus. On the other hand, it also remains open whether there are simple art galleries leading to unorientable surfaces like the Möbius strip, Klein bottle, or the projective plane. To answer this, it could very well be that completely new ideas are needed.