Algorithms for art gallery illumination
Abstract
The art gallery problem (AGP) is one of the classical problems in computational geometry. It asks for the minimum number of guards required to achieve visibility coverage of a given polygon. The AGP is wellknown to be NPhard even in restricted cases. In this paper, we consider the AGP with fading (AGPF): A polygonal region is to be illuminated with light sources such that every point is illuminated with at least a global threshold, light intensity decreases over distance, and we seek to minimize the total energy consumption. Choosing fading exponents of zero, one, and two are equivalent to the AGP, laser scanner applications, and natural light, respectively. We present complexity results as well as a negative solvability result. Still, we propose two practical algorithms for AGPF with fixed light positions (e.g. vertex guards) independent of the fading exponent, which we demonstrate to work well in practice. One is based on a discrete approximation, the other on nonlinear programming by means of simplexpartitioning strategies. The former approach yields a fully polynomialtime approximation scheme for the AGPF with fixed light positions. The latter approach obtains better results in our experimental evaluation.
Keywords
Art gallery problem Fading Computational geometry Linear program Nonlinear program Lipschitz function Algorithm engineeringMathematics Subject Classification
65D18 68W25 68W40 68U05 90C05 90C30 90C901 Introduction
The classical art gallery problem (AGP) asks for the minimum number of guards required to cover boundary and interior of a polygon. This is one of the bestknown problems in computational geometry; see the excellent book by O’Rourke [23] for an introduction to the subject. In the classical AGP guards have an infinite range of visibility. We consider a problem variant where light fades over distance. The main applications are discussed below.
1.1 Laser scanning
Consider obtaining an exact, twodimensional laser scan of some indoor environment. A typical \(360^\circ \) laser scanner can be placed at any point. It operates by taking a sample in one direction then turning by a configurable angle \(\theta \) and repeating the process. The time t to obtain a scan is roughly \(t\sim \theta ^{1}\) and can range anywhere between seconds and several hours in realworld applications. The quality of the result depends on the samplepoint density q on the walls. For an object at distance d this is about \(q\sim d^{1}\). Together, we get \(q\sim td^{1}\). The actual fading of the laserlight intensity is irrelevant in practice. The problem of minimizing the time spent scanning (with one scanner) while maintaining sufficient scanning quality is an AGP generalization with linear fading.
1.2 Realistic light
Light suffers from quadratic fading over distance. From a dimmable light bulb at brightness b an object at distance d receives light in an amount of \(q \sim bd^{2}\). We assume a linear correspondence between energy consumption and brightness. The AGP generalization of illuminating a polygonal area with the minimum total energy was introduced by O’Rourke in 2005 [12]. Since then only a restricted case of this problem has been addressed by Eisenbrand et al. [14].
1.3 Our contribution
We study two versions of the art gallery problem with fading (AGPF). One is the discrete version where guards can only be placed on finitely many apriori known locations (e.g. vertex guards). The other version allows guards that can be positioned anywhere in the input polygon (point guards). We address the question of computational complexity as well as solvability of AGPF (both the discrete and the general variant).
Two algorithms for the AGPF with fixed guard positions constitute the core of our contribution. That is, for the case that the selected guard locations have to be chosen from a given, finite candidatelocation set. Our algorithms are based on infinite LP formulations of the problem. Both solve the problem of finding the darkest point in an intermediate solution, referred to as the primal separation problem (PSP), in different ways. Our algorithms work for arbitrary fading exponents; they can be applied to the laser scanning as well as to the natural light scenario.
The first algorithm approximates the PSP by replacing continuous fading with an appropriate step function. For a finite guard candidate set, such as vertex guards, we illustrate that it yields a fully polynomialtime approximation scheme (FPTAS).
Our second algorithm solves the PSP by means of a derivativefree approach based on triangulation of the polygon’s visibility coverage, followed by optimizing nonlinear programs by using a simplexpartitioning procedure [24].
1.4 Overview
Related work is presented in Sect. 2. Sections 3 and 4 formally introduce the problem, and discuss fading functions and complexity results. In Sect. 5, we turn our attention to the case of fixed, finite sets of guard positions (e.g. vertex guards) and propose two algorithms, one of which yields an FPTAS. We evaluate our algorithms experimentally in Sect. 6. Section 7 gives a brief introduction to the general (point guard) case where guards can be placed anywhere in the polygon. We conclude this paper in Sect. 8.
2 Related work
Guarding problems have been studied for several decades. Chvátal [3] was the first to answer Victor Klee’s question on the number of guards that are always sufficient and sometimes necessary to monitor a polygon P with n vertices; \(\left\lfloor \frac{n}{3}\right\rfloor \) is the tight bound for general polygons which was soon afterwards shown by a beautiful proof of Fisk [16]. Many other polygon classes have been considered w.r.t. this kind of Art Gallery Theorems. For example, Kahn et al. [19] obtained a tight bound of \(\left\lfloor \frac{n}{4}\right\rfloor \) for orthogonal polygons. Generally, the guards are allowed to be located anywhere in the polygon (point guards). Sometimes, less powerful guards have been considered, such as guards that must be placed on vertices of P (vertex guards), or guards that only have a certain illumination angle \(\gamma \). For the latter problem, Tóth [25] showed an art gallery theorem with tight bound \(\left\lfloor \frac{n}{3}\right\rfloor \) for \(\gamma =180^\circ \). While the above results give bounds on the number of guards in certain classes of polygons, the AGP asks for the minimum number of guards that cover a given polygon P. Several versions of this problem were shown to be NPhard, for example the problem restricted to guards placed on vertices of simple polygons, as shown by Lee and Lin [22]. See [11, 23] for surveys on the AGP.
The AGPF has only been considered for the case of fixed lightsource positions in the plane and the illumination of a line (the stage). Eisenbrand et al. [14] aim at minimizing the total amount of power assigned to the given light sources such that the entire stage is lit. The authors give a convex programming formulation of the problem that leads to a polynomialtime solution. They present a constantfactor approximation and a PTAS.
Over the last few years, efficient implementations for the classical AGP emerged [6, 8, 15, 20, 21, 26]. Currently, the state of the art is that optimal solutions for polygons with several thousand of vertices can be found efficiently. See [11] for a survey on that matter.
3 Notation and preliminaries
We consider a given polygon P, possibly with holes. P has vertices V, with \(V = n\). The diameter of P is denoted \(D := {\text {diam}}P\). For a point \(p\in P\) the visibility region \({\mathcal {V}}(p)\) is the (starshaped) set of all points of P visible from p. In the original AGP, we say a guard set \(G \subseteq P\) covers P if and only if \(\bigcup _{g\in G} {\mathcal {V}}(g) = P\). The goal is to find a covering G of minimum cardinality.
In this paper, we consider a variant of this problem: We assume the guards \(g\in G\) to be light sources whose intensity (and therefore energy consumption) can be controlled. We denote the intensity of \(g\in G\) by \(0 \le x_g \in \mathbb {R}\). Furthermore, light suffers from fading over distance, modeled by a fading function \(\varrho \): While a point \(w \not \in {\mathcal {V}}(g)\) does not receive any light from g, \(w \in {\mathcal {V}}(g)\) receives \(\varrho (g,w)x_g\), i.e., \(\varrho \) accounts for the possible fading exponents motivated in Sect. 1.
4 Fading function and complexity
4.1 Fading function
Our motivation for capping \(\varrho \) at 1 is twofold: (1) Without this restriction, any nonzero guard provides an infinite amount of light to itself. This results in the “optimal solution” of \({\text {AGPF}}(P,P)\) to consist of every point in P glowing with an infinitesimally small brightness. This problem is not welldefined, see Lemma 1. (2) In an application, guards correspond physical objects like light bulbs or scanners. These objects are not pointshaped; they have a physical size. We are interested in obtaining coverage for the environment of the light source rather than for the light source itself. Hence, we assume that the input is scaled such that the radius 1 around a guard falls completely into the object size. That motivates capping \(\varrho \) at 1, even in the discrete version.
Lemma 1
Let \(\tilde{\varrho }(g,w) := \Vert gw\Vert ^{\alpha }\), \(\alpha >0\), be an alternate fading function to \(\varrho (g,w)\) in Eq. (5). Then \({\text {AGPF}}\tilde{\varrho }(P,P)\) has no optimal solution.
Proof
This shows that whenever G is finite, we can find an additional guard that improves the solution. Consequently, \({\text {AGPF}}\tilde{\varrho }(P,P)\) only possesses “optimal solutions” with infinitely many guards. In fact, it is easy to see that the “optimal” guard positions G are topologically dense in P, using the above \(\varepsilon \)neighborhood argument. Then, the solution values can be scaled down arbitrarily since \(\tilde{\varrho }(g,w)\) approaches \(\infty \) as \(w\rightarrow g\). This way, we can construct a series of solutions of strictly decreasing values, where G is infinite and the values of all guards converge to 0. Obviously, the limit of this process is \(x\equiv 0\) which is not feasible.
Note that while we cap \(\varrho \) at 1, Eisenbrand et al. do not employ capping in [14]: Given a finite set of guard candidates S, they illuminate a stage L. The guard candidates usually are not located on the stage. Therefore, no point infinitesimally close to a guard needs to be covered. In addition, even if guard candidates were located on L, the set S is not dense in L. Hence, they never experience the situation described by Lemma 1.
4.2 Complexity results
We draw two conclusions regarding the complexity of the AGPF:
Lemma 2
For a finite set \(G\subset P\), finding integer solutions to \({\text {AGPF}}(G,P)\) is NPhard. Finding integer solutions for \({\text {AGPF}}(P,P)\) is APXhard.
Proof
For \(\alpha =0\), finding integer solutions corresponds to solving the original AGP. The corresponding hardness results [13, 22] apply.\(\square \)
Lemma 3
The AGPF cannot be approximated by a better factor than \(2^\alpha \) by first solving AGP and computing intensities afterwards.
Proof
Note that this result holds for \({\text {AGPF}}(V,P)\), as we can simply integrate a small bend in the lower edge with a reflex vertex in the height of \(\bullet \). Again, the optimal solution to the AGP restricted to vertex guards would be \(\star \). Two lights at \(\star \) and the new reflex vertex at \(\bullet \) result in the same bound on the approximation factor from Lemma 3.
5 Algorithms for fixed (vertex) guards
 1.
Although both, the AGP with point guards and the AGP with vertex guards, are NPhard [22], many papers identified the vertex guard variant of the AGP to be much easier solvable in terms of practical algorithms than the point guard variant [4, 7, 11, 20]. Since the AGPF is closely related to the AGP and our algorithms stem from our experience with the previous algorithms, see [11] for an overview, we start our investigation by tackling the discrete version.
 2.
The hardness in terms of tractability by practical algorithms of the AGPF lies in finding the darkest point in intermediate solutions (in this paper referred to as primal separation problem (PSP)). Generating good/optimal guard locations has emerged to be the hardest part of the AGP with point guards [11]. So we refrain from entwining the PSP and guard generation to obtain meaningful insights on the tractability of the (novel) PSP.
This section proposes two algorithms for \({\text {AGPF}}(G,P)\). One of them, see Sect. 5.1, replaces the continuous fading function \(\varrho \) by an appropriately chosen step function and yields an FPTAS for \({\text {AGPF}}(G,P)\). The other one, in Sect. 5.2, works directly on the continuous fading function \(\varrho \) and uses simplex partitioning to identify the darkest point for a given illumination scheme.
5.1 Discrete approximation algorithm and FPTAS
Lemma 4
A feasible solution for \({{\text {AGPF}}}\tau (G,W)\) is also feasible for \({{\text {AGPF}}\varrho }(G,W)\). An optimal solution for \({{\text {AGPF}}}\tau (G,W)\) is a \((1+\varepsilon )\)approximation for \({{\text {AGPF}}\varrho }(G,W)\).
Proof
 1.
Since \(\varrho \ge \tau \), a solution fulfilling inequalities of type (3) with \(\tau \), does so too using \(\varrho \). Hence every \({{\text {AGPF}}}\tau (G,W)\) solution also solves \({{\text {AGPF}}\varrho }(G,W)\).
 2.
Consider an optimal solution \(x^*\) of \({{\text {AGPF}}\varrho }(G,W)\) with objective value \({\text {OPT}}\). It follows from (10) that \(x_\tau :=(1+\varepsilon )x^*\), i.e., scaling every guard with a factor \(1+\varepsilon \), is a feasible solution to \({{\text {AGPF}}}\tau (G,W)\). \(x_\tau \) has objective value \((1+\varepsilon ){\text {OPT}}\), yielding the claimed approximation factor.
5.1.1 An algorithm for \(\hbox {AGPF}_\tau \)
Now consider the arrangement \(\mathcal {A}(G)\) defined by overlaying the individual arrangements for all \(g\in G\). Then, \(T_{G,x}\) is constant over each face, edge, and vertex of this arrangement. This arrangement has a bounded complexity:
Lemma 5
The complexity of \(\mathcal {A}(G)\) is \({\text {O}}((n+\log _{1+\varepsilon }D)^2G^2)\).
Proof

n straight line segments defining P,

\({\text {O}}(n)\) straight line segments defining \({\mathcal {V}}(g)\) per \(g\in G\), and

\({\text {O}}(\log _{1+\varepsilon }D)\) circles per \(g\in G\),

Step 0 (Visibility Arrangement). First compute the overlay of all guards’ visibility stepfunctions, \(\mathcal {A}(G)\). It has polynomial complexity by Lemma 5.

Step 1 (Witness Points). Place one witness w in each feature (vertex, edge, and face interior of \(\mathcal {A}(G)\)). Let W denote the set of these witnesses, which is polynomial in cardinality.

Step 2 (Solve LP). Solve \({{\text {AGPF}}}\tau (G,W)\), which is possible in polynomial time. The solution x is feasible and optimal for \({{\text {AGPF}}}\tau (G,P)\).
Putting everything together, we get
Theorem 1
\({\text {AGPF}}(G,P)\) admits a fully polynomialtime approximation scheme.
Proof
Given an \(\varepsilon >0\), the arrangement \(\mathcal {A}(G)\) has polynomial complexity due to Lemma 5 and the fact that \(\log _{1+\varepsilon }D\) is polynomially bounded in the encoding size of \(\varepsilon \) and P. Hence the LP \({{\text {AGPF}}}\tau (G,W)\) in the discrete algorithm can be solved in polynomial time. According to Lemma 4, the result is a \((1+\varepsilon )\)approximation to \({\text {AGPF}}(G,P)\). \(\square \)
5.1.2 Implementation issues and approximation of circular arcs
Although \(\mathcal {A}(G)\) and W are polynomial in size, they become very large from a practical point of view. Therefore, it is more efficient to solve this with the technique of iterative primal separation (compare [9, 11, 20] for the classical AGP), i.e., to leave out some constraints of the LP and start with a small set W, then solve \({{\text {AGPF}}}\tau (G,W)\), and then check the \(\mathcal {A}(G)\) for insufficiently lit points. If no such points exist, the solution is feasible. Otherwise, we add representative witness points for insufficiently lit features to W and reiterate the process until the solution is feasible. We know this approach terminates because in each iteration at least one new feature of \(\mathcal {A}(G)\) is covered.
It should be noted that by introducing circular arcs in the arrangement \(\mathcal {A}(G)\), we have to deal with irrational numbers—to be precise, with algebraic numbers of degree 2. This is known to result in computationally expensive operations. Hence, we can replace the circular arcs by regular octagons. They still have irrational coordinates: For example, consider a regular octagon centered at the origin with its vertices on a circle of radius r. It has a vertex at \(r (\cos \frac{\pi }{4}, \sin \frac{\pi }{4}) = r(1 / \sqrt{2}, 1 / \sqrt{2})\). However, intersection tests in the arrangement only use linear functions, which are expected to be less expensive. The octagonbased approach somewhat reduces the approximation guarantees—octagons only approximate circles—but still yields an FPTAS. However, our experimental evaluation shows that using the exact support for circular arcs of CGAL [2, 10] outperforms the octagonbased approach.
5.2 Continuous optimization approach
In this section, we introduce Continuous, an alternative algorithm for \({\text {AGPF}}(G,P)\). Continuous directly uses the continuous fading function \(\varrho \) instead of an approximate step function. It iteratively solves \({{\text {AGPF}}\varrho }(G,W)\), starting with \(W = \emptyset \) and checks if its solution is feasible for \({\text {AGPF}}(G,P)\). If a point \(w \in P \setminus W\) that currently does not receive sufficient light can be found, it is added to W; the process is repeated until P is sufficiently lit.
We solve the PSP in two steps. First, we triangulate the overlay of all visibility polygons \({\mathcal {V}}(g)\) for all \(g\in G\) which yields a collection of triangles, each of which seen by a fixed subset of guards. In Sect. 5.2.1, we present an algorithm to solve (12) in such a triangle \(\mathcal {S}\subseteq P\). The algorithm requires a function \(\ell \) that provides a lower bound on the minimum brightness of \(T_{G,x}\) in \(\mathcal {S}\), i.e., \(\ell (\mathcal {S}) \le T(p)\;\forall p\in \mathcal {S}\). We discuss two such functions in Sects. 5.2.2 and 5.2.3.
5.2.1 Simplex partitioning algorithm

\(\mathcal {S}_0\), the triangle to be searched for a darkest spot (the input),

\(k = 1, 2, 3, \ldots \), the iteration counter,

\(\mathcal {U}_{k}\), a set of triangles with \(\bigcup _{\mathcal {S} \in \mathcal {U}_{k}} \mathcal {S} \subseteq \mathcal {S}_0\) (the remaining search region),

\(\mathcal {S}_k\), the next triangle to be partitioned,

\(x_{k}^{*}\), the darkest point found so far (the incumbent solution), and

\(\beta _k\), the current lower bound on the minimum brightness in \(\mathcal {S}_0\).

Step 0 (Initialization). Set \(\mathcal {U}_0 = \{\mathcal {S}_0\}\) as the current set of triangles. Set the current best solution to \(x_{0}^{*} = \arg \min _{v\in V(\mathcal {S}_0)} T(v)\) (the darkest vertex of \(\mathcal {S}_0\)). Compute a lower bound \(\beta _{0} = \ell (\mathcal {S}_{0})\) for the minimum brightness in \(\mathcal {S}_0\).

Step 1 (Eliminating bright triangles). Let \(\mathcal {R}_{k}\) be the collection of triangle candidates remaining after discarding all triangles with \(\ell (\mathcal {S}) > T(x_{k1}^{*})\) from \(\mathcal {U}_{k1}\), i.e., after removing the triangles that cannot contain a darkest point due to their lower bound.
 Step 2 (Selecting a triangle). Consider the current collection of triangles \(\mathcal {R}_{k}\) and selectthe triangle with the smallest lower bound, to be partitioned.$$\begin{aligned} \mathcal {S}_k = \underset{\mathcal {S} \in \mathcal {R}_{k}}{\arg \min }\; \ell (\mathcal {S})\,, \end{aligned}$$(13)
 Step 3 (Refining the search region). Divide \(\mathcal {S}_{k}\) into two smaller triangles by applying a bisection on its longest edge such that$$\begin{aligned} \mathcal {S}_{k} = \mathcal {S}_{k_1} \cup \mathcal {S}_{k_2}. \end{aligned}$$(14)
 Step 4 (Updating the incumbent). At this point, we obtain the search regionEvaluate T at the common new vertex \(v_k\) of the triangles \(\mathcal {S}_{k_1}\) and \(\mathcal {S}_{k_2}\). Update$$\begin{aligned} \mathcal {U}_{k} = (\mathcal {R}_{k} \setminus \{\mathcal {S}_{k}\}) \cup \{\mathcal {S}_{k_1}, \mathcal {S}_{k_2}\}. \end{aligned}$$(15)$$\begin{aligned} x_{k}^{*}&= \underset{v \in \{v_k, x_{k1}^{*}\}}{\arg \min }\; T(v)\,, \end{aligned}$$(16)Then increase k and continue at Step 1.$$\begin{aligned} \beta _k&= \min _{\mathcal {S} \in \mathcal {U}_{k}} \ell (\mathcal {S})\,. \end{aligned}$$(17)

Stopping criterion. Stop when there is no triangle to be partitioned. Alternatively, stop after a certain number of iterations or when a \(\delta \)estimation of the optimal solution is found, i.e., when \(T(x_{k}^{*}) \le \beta _k + \delta \).
5.2.2 Geometric lower bound
5.2.3 Lipschitz lower bound
As an alternative approach to the geometric estimation of the lower bound, one may use the analytical properties of T. For example, if T is a Lipschitzian with a known Lipschitz constant L, then one can use the following result (see [24]):
Lemma 6
Proof
Fortunately, this bound can be used in the PSP:
Lemma 7
T is Lipschitzian.
Proof

\(\varrho _{i}(w):=\varrho (g_{i},w)\).

\((x_{0},y_{0}):=(x^{i},y^{i})\) as the coordinates of the point \(g_{i}\).

(x, y) as the coordinates of the witness point w and \((x_{1},y_{1})\) as the coordinates of the witness point \(w_{x}\) and \((x_{2},y_{2})\) as the coordinates of the witness point \(w_{y}\) (where (through the primaldual procedure) \(w_{x}\) and \(w_{y}\) are the potential points that will be chosen to be added into the set of the witness points).
 (i)
\(\Vert w_{x}  g_{i} \Vert \ge 1\) and \(\Vert w_{y}  g_{i} \Vert \ge 1\),
 (ii)
\(\Vert w_{x}  g_{i} \Vert < 1\) and \(\Vert w_{y}  g_{i} \Vert < 1\), and
 (iii)
\(\Vert w_{x}  g_{i} \Vert \ge 1\) and \(\Vert w_{y}  g_{i} \Vert < 1\).
Case (ii): In this case, the function \(\varrho _{i}(w)\) is a constant function; consequently, it is a Lipschitzian.
6 Experiments
We evaluate the Discrete and the Continuous algorithms from Sects. 5.1 and 5.2 experimentally. The Discrete algorithm comes in two variants: DiscreteCircle and DiscreteOctagon, the former uses circular arcs and the latter uses octagons to approximate the fading function, compare Sect. 5.1.2. Regarding the Continuous algorithm, we focus on the geometric bound from Sect. 5.2.2. The reason is that computing the geometric bound is simple and efficient, whereas for the Lipschitz bound (Sect. 5.2.3), we cannot achieve comparable guarantees since we do not know a tight value for the Lipschitz constant L in Eq. (20).
6.1 Experimental setup
6.1.1 Instances
Furthermore, we present a Continuous solution for a 94vertex office environment (Fig. 6b), and a DiscreteCircle solution for a 1185vertex cathedral (Fig. 7). These instances, however, are a demonstration and as such not included in the regular test set.
6.1.2 Polygon scaling
Solutions for the classical AGP are invariant under scaling of the input; as a result, the input complexity of algorithms solving the AGP is the number of vertices in the polygon. In the presence of fading, this is no longer the case. Especially the cutoff of \(\varrho \) at distance 1, see Eq. (5), becomes an issue: If every mutually visible pair of points in a polygon is at distance at most 1, the problem becomes equivalent to the AGP without fading. As an example, consider a convex polygon P: If P is small enough, one guard placed anywhere in P suffices, but if P is scaled up the structure of an optimal solution becomes nonobvious. The polygons in the art gallery problem instance library [5] have no natural or even consistent spatial size.
The impact of the input polygons’ number of vertices on the solution time in the classical AGP, in the form of visibility calculations and arrangement complexity, has been studied extensively [1, 4, 6, 7, 8, 9, 11, 15, 20, 26]. Given that fading introduces spatial size as a new source of complexity, we confine our experiments to polygons with up to 700 vertices and focus on the impact of spatial extent.
We scale the input polygons P as follows: First, we compute an estimate for the spatial complexity of P. Here, different measures could be used, for example the diameter of P, the area of P, or local feature size. Preexperiments have shown that the average edge length of P, denoted by \(\mu (P)\), provides an intuitively consistent measure for our test set. Hence, we scale P by a factor \((\Lambda \mu (P))^{1}\), for a parameter \(\Lambda \). Therefore, \(\Lambda = 2\) corresponds to having the cutoff in \(\varrho \) at twice the average edge length of P. We scaled our 50 input polygons using 0.2, 0.5, 1, and 2 as possible values for \(\Lambda \), yielding 200 scaled instances.
6.1.3 Parameterization
The algorithms are parameterized. Both algorithms account for the fading exponent \(\alpha \); we selected the two practically relevant values of 1 (laser scanner) and 2 (light).
The Discrete algorithm takes the desired approximation factor \(1 + \varepsilon \) as an input, we selected 1.2, 1.6, and 2. Furthermore, we test the Discrete algorithm using circles as well as octagons, DiscreteCircle and DiscreteOctagon, to approximate the fading function; this is discussed in Sect. 5.1.2.
The Continuous algorithm is parameterized in its stopping criterion: A triangle with a difference of \(\delta \) between lower and upper bound is no longer partitioned. We pick 0.01, 0.001, and 0.0001 as values for \(\delta \).
In total, this yields nine configurations, six Discrete and three Continuous, each with two choices for \(\alpha \). Together with the 200 scaled inputs, we run 3600 configurationinstance pairs.
6.1.4 Hardware and implementation
Our implementation of the algorithms from Sects. 5.1 and 5.2 is based on our implementation for solving the classical AGP [15, 20]. We used CPLEX12.6 [18] to solve LPs and CGAL4.4 [2, 10, 17] for geometric subroutines. All experiments were carried out on a Linux3.18.27 server with two Intel Xeon E52680 CPUs, i.e., 16 cores and 32 threads, and 258 GiB of RAM. We ran 15 instances in parallel, each limited to 20 minutes of CPU time and 16 GB of RAM, aborting every run which did not finish within these limits. Our implementation is not parallelized.
6.2 Results
Success rates in percent
Falloff \(\alpha \)  1  2  

Scaling \(\Lambda \)  2  1  0.5  0.2  2  1  0.5  0.2  
Continuous  0.01  98  98  94  92  98  98  90  88 
Continuous  0.001  98  96  88  86  96  88  84  66 
Continuous  0.0001  98  88  84  68  96  86  72  42 
DiscreteCircle  2  100  100  98  94  100  98  88  80 
DiscreteCircle  1.6  100  100  98  84  100  98  84  60 
DiscreteCircle  1.2  100  98  88  60  98  92  58  40 
DiscreteOctagon  2  100  100  96  82  100  98  90  72 
DiscreteOctagon  1.6  100  100  96  76  100  98  84  60 
DiscreteOctagon  1.2  98  96  78  48  84  32  10  4 
6.2.1 Success rate
We report the success rate of each algorithm configuration in Table 1 w.r.t. the imposed CPU time and memory limits described in Sect. 6.1.4. Out of the 3600 test runs, 84.9 % succeeded, 12.3 % did not meet the CPUtime limit of 20 minutes, and only 2.9 % exceeded the 16 GB memory limit (compare Sect. 6.1.4).
Median of relative objective values
Falloff \(\alpha \)  1  2  

Scaling \(\Lambda \)  2  1  0.5  0.2  2  1  0.5  0.2  
Lower bound  0.85  0.88  0.90  0.93  0.85  0.88  0.91  0.87  
Continuous  0.01  1.00  1.00  1.00  1.00  1.00  1.00  1.00  1.00 
Continuous  0.001  1.00  1.00  1.00  1.00  1.00  1.00  1.00  1.00 
Continuous  0.0001  1.00  1.00  1.00  1.00  1.00  1.00  1.00  \(\infty \) 
DiscreteCircle  2  1.10  1.22  1.37  1.52  1.10  1.31  1.52  1.59 
DiscreteCircle  1.6  1.07  1.14  1.24  1.34  1.06  1.19  1.33  1.41 
DiscreteCircle  1.2  1.02  1.05  1.09  1.13  1.02  1.06  1.14  \(\infty \) 
DiscreteOctagon  2  1.11  1.23  1.38  1.53  1.09  1.30  1.49  1.60 
DiscreteOctagon  1.6  1.07  1.15  1.25  1.35  1.07  1.17  1.32  1.40 
DiscreteOctagon  1.2  1.02  1.06  1.09  \(\infty \)  1.02  \(\infty \)  \(\infty \)  \(\infty \) 
6.2.2 Objective value
Table 2 compares the objective values determined by the different algorithm configurations. Per instance, we consider the objective value relative to the best known solution (w.r.t. the same choice for \(\alpha \) and \(\Lambda \)) and report, per cell, their median. For example, the 1.02 in the lower left corner encodes that, with \(\alpha = 1\) and \(\Lambda = 2\), the DiscreteOctagon algorithm with \(1 + \varepsilon = 1.2\) produced solutions at 1.02 times the objective value of the best algorithm (Continuous with \(\delta = 0.01\)).
Table 2 indicates that, where applicable, the median solution quality of the Continuous algorithm does not vary w.r.t. the choice of \(\delta \). Observe, however, that this does not mean that the solutions are optimal: The Continuous algorithm does not guarantee an approximation ratio.
For guaranteed bounds we include the row “Lower Bound.” Each Discrete algorithm, configured as \((1+\varepsilon )\)approximation, terminating with an objective value of z yields a lower bound of \((1+\varepsilon )^{1} z\). We present the median of the largest lower bound per instance (if applicable). Even with these conservative bounds, it is clear that the Continuous algorithm consistently produces good solutions.
Median of relative CPU times
Falloff \(\alpha \)  1  2  

Scaling \(\Lambda \)  2  1  0.5  0.2  2  1  0.5  0.2  
Continuous  0.01  1.89  2.45  4.53  8.87  2.45  3.36  8.55  19.49 
Continuous  0.001  1.98  3.20  7.91  19.16  2.37  5.17  18.10  173.97 
Continuous  0.0001  1.94  4.63  14.02  110.47  2.68  7.90  74.81  \(\infty \) 
DiscreteCircle  2  1.00  1.91  3.70  6.97  1.15  2.82  7.58  17.48 
DiscreteCircle  1.6  1.05  2.07  4.62  9.88  1.23  3.44  11.23  36.96 
DiscreteCircle  1.2  1.22  3.12  9.70  39.80  1.67  7.33  72.96  \(\infty \) 
DiscreteOctagon  2  1.13  1.91  3.45  6.59  1.38  3.08  8.26  22.27 
DiscreteOctagon  1.6  1.14  2.19  4.36  11.59  1.62  4.70  16.62  65.52 
DiscreteOctagon  1.2  1.80  4.76  20.69  \(\infty \)  13.62  \(\infty \)  \(\infty \)  \(\infty \) 
6.2.3 Efficiency
We compare the CPU time of the different algorithm configurations in Table 3. Per instance, we normalize the run time to that of DiscreteCircle with \(1+\varepsilon = 2\) for \(\alpha = 1\) and \(\Lambda = 2\), the fastest configuration. In each cell we report the median relative run time over all instances. For example, the 1.80 in the lower left corner encodes that, with \(\alpha = 1\) and \(\Lambda = 2\), the DiscreteOctagon algorithm with \(1 + \varepsilon = 1.2\) took 1.8 times as long as the DiscreteCircle configuration specified above.
For small \(\Lambda \), i.e., scaledup polygons, it can be seen that the choice of \(\delta \) has a substantial impact on the CPU time of Continuous. It has, however, no measurable impact on the solution quality as discussed in Sect. 6.2.2.
Increasing \(\Lambda \) narrows the speed gap between Discrete and Continuous, as the former profits from a large \(\Lambda \) by using fewer steps in \(\tau \)—and hence fewer arcs in the arrangements—whereas it makes little difference to Continuous.
Furthermore, in most configurations, DiscreteCircle is faster than DiscreteOctagon, especially for \(\alpha = 2\). This means that the issue discussed in Sect. 5.1.2 is settled: Using octagons instead of circles in order to exclude circular arcs from the arrangements does not pay off, especially since it takes more octagons than circles to achieve the same approximation factor w.r.t. the continuous fading function \(\varrho \).
6.3 Choosing an algorithm
Clearly, DiscreteCircle should be preferred over DiscreteOctagon as it has higher success rates, smaller objective values, and, in most configurations, lower run times.
As for Continuous, observe that in our experiments the choice of \(\delta \) does not influence the objective value. Hence, we compare DiscreteCircle to Continuous with \(\delta = 0.01\). The only configuration of DiscreteCircle yielding comparable objective values uses \(1 + \varepsilon = 1.2\), but even in that case Continuous usually produces better solutions and has higher success rates.
However, Continuous does not guarantee any bounds on the approximation quality. Hence, if an approximation guarantee is required, DiscreteCircle must be preferred. Furthermore, DiscreteCircle is faster for large \(\Lambda \), i.e., on polygons with a small spatial extent.
7 Future work: AGPF with point guards
Sections 5 and 6 demonstrate that \({\text {AGPF}}(G,P)\) can be solved efficiently with the proposed algorithms. Hence, solving \({\text {AGPF}}(P,P)\) is a natural candidate for future work.
If those two problems can be solved efficiently, a possible strategy is to switch between primal and dual separation. This strategy is not guaranteed to converge, but if it does it converges to an optimal solution—and it has been shown to perform well in practice [20]. Thus, the interesting question is whether this holds true for \({\text {AGPF}}(P,P)\). Both approaches from this paper allow for such a strategy.
Another possibility is to use the approach by Tozoni et al. [26] for the AGP with point guards, which uses inclusionmaximal features of a witness visibilityarrangement for guard placement. This generalizes to \({\text {AGPF}}_\tau \): A feature of the witness overlay dominates another if it is seen by at least the same set of guards and their coefficients \(\varrho (g,w)\) are not smaller.
8 Conclusions
We introduce the art gallery problem with fading (AGPF), which is a generalization of both, the wellestablished art gallery problem [11, 23] and the Stage Illumination Problem by Eisenbrand et al. [14]. For the AGPF, we present two efficient algorithms for the case with fixed guard positions stemming from an infinite LP formulation. While one of them is faster in practice and generally provides a good solution quality, the other provides a fully polynomialtime approximation scheme, i.e., guaranteed bounds on the solution quality. We evaluate both approaches experimentally.
Notes
Acknowledgments
Open access funding provided by Max Planck Society. We would like to thank the anonymous reviewers for their suggestions that helped improve our presentation. This work was partially supported by the Deutsche Forschungsgemeinschaft (DFG) under contract number KR 3133/11 (Kunst!). Stephan Friedrichs, Mahdi Moeini (through Kunst!), and Christiane Schmidt were affiliated with the Technical University of Braunschweig during part of the research. Mahdi Moeini was supported by both CNRS and OSEO within the ISI project “Pajero” (France). Currently, Mahdi Moeini is affiliated to the Technical University of Kaiserslautern (Germany). Christiane Schmidt is supported by Grant 201403476 from Sweden’s innovation agency VINNOVA, and was supported by the Israeli Centers of Research Excellence (ICORE) program (Center No. 4/11) during the development of the paper.
References
 1.Bungiu, F., Hemmer, M., Hershberger, J., Huang, K., Kröller, A.: Efficient computation of visibility polygons. CoRR, arXiv:1403.3905 (2014)
 2.CGAL (Computational Geometry Algorithms Library). http://www.cgal.org/
 3.Chvátal, V.: A combinatorial theorem in plane geometry. J. Comb. Theory Ser. B 18(1), 39–41 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
 4.Couto, M.C., de Rezende, P.J., de Souza, C.C.: An exact algorithm for an art gallery problem. Technical Report IC0946, Institute of Computing, University of Campinas (2009)Google Scholar
 5.Couto, M.C., de Rezende, P.J., de Souza, C.C.: Instances for the art gallery problem. http://www.ic.unicamp.br/~cid/Probleminstances/ArtGallery (2009)
 6.Couto, M.C., de Rezende, P.J., de Souza, C.C.: An IP solution to the art gallery problem. In: Proceedings of the 25th ACM Symposium on Computational Geometry (SoCG), pp. 88–89 (2009)Google Scholar
 7.Couto, M.C., de Rezende, P.J., de Souza, C.C.: An exact algorithm for minimizing vertex guards on art galleries. Int. Trans. Oper. Res. 18, 425–448 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
 8.Couto, M.C., de Souza, C.C., de Rezende, P.J. (2007) An exact and efficient algorithm for the orthogonal art gallery problem. In: Proceedings of the XX Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI), pp. 87–94Google Scholar
 9.Couto, M.C., de Souza, C.C., de Rezende, P.J.: Experimental evaluation of an exact algorithm for the orthogonal art gallery problem. In: Proceedings of the 7th International Workshop on Experimental Algorithms (WEA), pp. 101–113 (2008)Google Scholar
 10.de Castro, P.M.M., Pion, S., Teillaud, M.: 2D circular geometry kernel. In: CGAL User and Reference Manual. CGAL Editorial Board, 4.5.2 edition (2015)Google Scholar
 11.de Rezende, P.J., de Souza, C.C., Friedrichs, S., Hemmer, M., Kröller, A., Tozoni, D.C.: Engineering art galleries. CoRR, abs/1410.8720, 2014. To appearGoogle Scholar
 12.Demaine, E.D., O’Rourke, J.: Open problems: open problems from CCCG 2005. In: Proceedings of the Canadian Conference on Computational Geometry, (CCCG) (2006)Google Scholar
 13.Eidenbenz, S., Stamm, C., Widmayer, P.: Inapproximability results for guarding polygons and terrains. Algorithmica 31(1), 79–113 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
 14.Eisenbrand, F., Funke, S., Karrenbauer, A., Matijevic, D.: Energyaware stage illumination. Int. J. Comput. Geom. Appl. 18(1/2), 107–129 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
 15.Fekete, S.P., Friedrichs, S., Kröller, A., Schmidt, C.: Facets for art gallery problems. Algorithmica 73(2), 411–440 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
 16.Fisk, S.: A short proof of Chvátal’s watchman theorem. J. Comb. Theory Ser. B 24(3), 374 (1978)MathSciNetCrossRefzbMATHGoogle Scholar
 17.Hemmer, M., Huang, K., Bungiu, F., Xu, N.: 2D visibility computation. In: CGAL User and Reference Manual. CGAL Editorial Board, 4.7 edition (2015)Google Scholar
 18.IBM ILOG CPLEX Optimization Studio. http://www.ibm.com/software/integration/optimization/cplexoptimizer/
 19.Kahn, J., Klawe, M., Kleitman, D.: Traditional art galleries require fewer watchmen. SIAM J. Algebr. Discrete Methods 4(2), 194–206 (1983)CrossRefzbMATHGoogle Scholar
 20.Kröller, A., Baumgartner, T., Fekete, S.P., Schmidt, C.: Exact solutions and bounds for general art gallery problems. ACM J. Exp. Algorithmics 17(1), 2.3:2.1–2.3:2.23 (2012)Google Scholar
 21.Kröller, A., Moeini, M., Schmidt, C.: A novel efficient approach for solving the art gallery problem. In: 7th International Workshop on Algorithms and Computation (WALCOM), pp. 5–16 (2013)Google Scholar
 22.Lee, D., Lin, A.K.: Computational complexity of art gallery problems. IEEE Trans. Inf. Theory 32(2), 276–282 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
 23.O’Rourke, J.: Art Gallery Theorems and Algorithms. International Series of Monographs on Computer Science. Oxford University Press, New York (1987)Google Scholar
 24.Pinter, J.D.: Global Optimization in Action. Kluwer, Dordrecht (1996)CrossRefzbMATHGoogle Scholar
 25.Tóth, C.D.: Art gallery problem with guards whose range of vision is 180\(^\circ \). Comput. Geom. 17(3–4), 121–134 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
 26.Tozoni, D.C., de Rezende, P.J., de Souza, C.C.: A practical iterative algorithm for the art gallery problem using integer linear programming. Optimization Online (2013). http://www.optimizationonline.org/DB_HTML/2013/11/4106.html
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.