On Efficient Deployment of Wireless Sensors for Coverage and Connectivity in Constrained 3D Space

Sensor networks have been used in a rapidly increasing number of applications in many fields. This work generalizes a sensor deployment problem to place a minimum set of wireless sensors at candidate locations in constrained 3D space to k-cover a given set of target objects. By exhausting the combinations of discreteness/continuousness constraints on either sensor locations or target objects, we formulate four classes of sensor deployment problems in 3D space: deploy sensors at Discrete/Continuous Locations (D/CL) to cover Discrete/Continuous Targets (D/CT). We begin with the design of an approximate algorithm for DLDT and then reduce DLCT, CLDT, and CLCT to DLDT by discretizing continuous sensor locations or target objects into a set of divisions without sacrificing sensing precision. Furthermore, we consider a connected version of each problem where the deployed sensors must form a connected network, and design an approximation algorithm to minimize the number of deployed sensors with connectivity guarantee. For performance comparison, we design and implement an optimal solution and a genetic algorithm (GA)-based approach. Extensive simulation results show that the proposed deployment algorithms consistently outperform the GA-based heuristic and achieve a close-to-optimal performance in small-scale problem instances and a significantly superior overall performance than the theoretical upper bound.


Introduction
Sensor networks have been widely used in many agricultural, military, and industrial applications. The technological advances in both sensing and communication have significantly improved the quality of sensors at a reduced cost, making it possible to deploy more sensors than before to achieve quality through quantity. The redundancy in the deployment of sensors is often explored to cover targets of interest with multiple sensors for fault tolerance and sustained operation.
Depending on the nature of the environment and the type of the application, sensors could be deployed in either a deterministic or a stochastic manner. In the former, sensors are typically mounted manually at some predetermined locations to meet a certain deployment objective; while in the latter, sensors are not bound to any specific location and are oftentimes dropped randomly by vehicles or airplanes to cover a large geographical region. In the past decade, a significant number of research efforts have been made in both of the deployment scenarios for various purposes, e.g., to localize potential targets in the former [1] and maximize sensing coverage with network connectivity in the latter [2].
In this paper, we consider a specific type of wireless sensor networks (WSNs) that are deployed in challenged environments for microclimate monitoring, such as cultural heritage sites with historical frescos, sculpture paintings, or religionary statues, which are typically located on the 3D surface of constrained space [3,4]. One important requirement on sensor deployment in such environments is to provide a full coverage of target objects with a high level of sensing reliability for the purpose of assuring their long-term conservation. Similar sensor network applications could be also found in structured indoor environments such as a display cabinet or exhibition hall in a museum. This requirement is commonly defined as the k-coverage problem, where the degree of coverage is k such that every point in a target region is covered with at least k sensors. This paper generalizes and investigates a sensor deployment problem in constrained 3D space to achieve k-coverage for a given set of target objects with a minimal number of sensors whose deployments are limited to some specific (candidate) locations. Note that the coverage problem on a 2D plane is a special case of constrained 3D space. By exhausting the combinations of discreteness/continuousness constraints on either candidate sensor locations or target objects in 3D space, we formulate four classes of problems on sensor deployment: (i) discrete candidate sensor locations to cover discrete target objects (DLDT); (ii) discrete candidate sensor locations to cover continuous target objects (DLCT); (iii) continuous candidate sensor locations to cover discrete target objects (CLDT); and (iv) continuous candidate sensor locations to cover continuous target objects (CLCT). We conduct an in-depth investigation into the computational complexity of these problems and prove all of them to be NP-complete. We first design a greedy strategy-based approach to DLDT and provide its approximation ratio of (ln n + 1), where n is the number of target points, and then convert the other three problems to DLDT through discretization. For DLCT, we first discretize the continuous target objects into a set of divisions, which are treated as discrete points without sacrificing sensing precision, and then adapt the approximation algorithm for DLDT to DLCT. We provide a rigorous proof that the number of divisions intersected by m circles in a 2D plane is tightly upper bounded by (m 2 − m + 1), and then prove that the algorithm for DLCT has an approximation ratio of (ln(k · n · m) + 1), where m denotes the number of candidate locations for possible sensor deployment. For CLDT, we discretize the continuous candidate sensor locations and design an approximate algorithm in a similar way with the same approximation ratio as DLDT. Finally, for CLCT, we take a hexagon-based discretization approach to discretize the continuous candidate sensor locations or target objects into a number of hexagons, and then covert this problem to either DLCT or CLDT.
For each of these four problems, we further consider a connected version where all sensors in the deployment region must be connected for communication, referred to as C-DLDT, C-DLCT, C-CLDT, and C-CLCT. We first study a subproblem, i.e., Steiner Tree Problem with Minimum number of Steiner Points on Constrained Locations (STP-MSPCL), and design an approximate algorithm based on minimum spanning tree with an approximation ratio of 5 in a 2D plane and 12 in 3D space. We solve C-DLDT using an approximate algorithm with an approximation ratio of (ln n + 13), which integrates the greedy approach for DLDT and the approximate algorithm for STP-MSPCL. We design algorithms for C-DLCT and C-CLDT, and derive their approximation ratios in a similar way.
We implement the proposed deployment algorithms and evaluate their performance in a simulated setting. For performance comparison, we also design and implement an optimal solution based on an integer linear programming (ILP) formulation, which is only meant for small-scale problem instances, and a genetic algorithm (GA)-based approach. Extensive simulations show that these algorithms consistently outperform the GA-based heuristic and achieve a close-to-optimal performance in small-scale problem instances and a significantly superior overall performance than the theoretical upper bound. These results shed light on the efficiency of the proposed deployment schemes and their great potential for practical sensor network applications. For example, many cultural relics in the world such as the ancient Great Wall and Terracotta Army in China are suffering from serious environmental pollution and degradation. Deploying a network of sensors in the constrained surroundings to measure environmental parameters such as humidity, temperature, and lighting is a key component of a viable solution for protection from environment-related threats.
The proposed algorithms could be used to produce cost-effective sensor deployment schemes in such real-life scenarios.
Compared to the conference version [5], we have made substantial improvements to our work and new contributions to the field as follows: • We developed a method based on integer linear programming (ILP) to find the lower bound of the optimal solution to the DLDT problem by formulating it as an ILP task.

•
We derived a tighter approximation ratio of Algorithm 1 for DLDT based on the lower bound OPT LP of OPT by solving the LP problem in advance.

•
We provided a detailed rigorous proof on the upper bound on the number of divisions intersected by m circles in a 2D plane.

•
We derived a more accurate approximation ratio of the algorithm designed for DLCT with target object discretization.

•
We designed a completely new approach to CLCT, which first divides the CLCT problem into two subproblems, and then converts the two subproblems to CLDT and DLCT, respectively.

•
We implemented the proposed algorithms and evaluated the performance against the optimal solution and a genetic algorithm-based approach through extensive simulations.
The rest of the paper is organized as follows. Section 2 describes related work. Section 3 defines the problems on constrained sensor deployment in 3D space. The approximate algorithms with and without the connectivity requirement are proposed in Sections 4 and 5, respectively. We evaluate the performance of the proposed algorithms in Section 6 and conclude our work in Section 7.

Related Work
Sensor deployment for coverage and connectivity in 2D space has been investigated in-depth in the literature. Many efficient techniques have been proposed, including several recent efforts based on integer linear programming (ILP) models and artificial intelligence such as randomization-based genetic algorithm [6,7] as well as bee colony algorithm and particle swarm optimization [8]. We focus our survey on the techniques that are directly related to our work, specifically targeting 3D space and considering both coverage and connectivity.
The traditional 3D k-coverage problem is tackled by filling up the space with multiple non-overlapping copies of an already k-covered 3D shape or model. Along this line of research, Ammari proposed the Reuleaux tetrahedron model to characterize the 3D k-coverage problem and a sensor deployment strategy to achieve full k-coverage of a 3D field [9]. These results were also published in [10] where network connectivity is considered. More recently, Pal and Medhi designed a new shape termed as Sixsoid to tessellate a 3D field of interest [11]. Our work is somewhat opposite to theirs in that we attempt to k-cover the 3D surfaces of target objects in constrained space. Unaldi et al. proposed a deployment strategy for 3D terrains based on wavelet transformation, where sensors are relocated by the mutation operator of the genetic algorithms (GAs) [12]. Similar to many other heuristics, such as artificial intelligence techniques do not ensure a performance bound.
There also exist a number of efforts on sensor deployment for k-coverage in 3D space where the deployment of sensors is limited to some specific candidate locations or the entire region of interest. In [13], Wang et al. conducted a study on cost minimization of sensor placement in a bounded 3D region R comprised of discrete points. They consider several sensor types with different sensing ranges and costs, and attempt to find a subset of points to place a selection of sensors to cover every point in region R with at least k sensors with a minimal total cost. In [14], Andersen et al. studied the problem of deploying identical sensors in a region R that constitutes continuous 3D space. Their approach is to discretized R into grid points that are covered by sensors to be placed. Apparently, such a discretization process would result in the loss of precision for continuous region coverage, which does not guarantee k-coverage of the entire region R. In [15], Huang et al. proposed an algorithm to determine whether every point in the target area is covered by at least k sensors under the assumption that sensors are already deployed. In [16], Zhao et al. proposed a surface coverage model where the target region is a complex 3D surface and sensors can be only deployed at some discrete points on the surface.
In [17], Funke et al. proposed to select a set of deployed sensors of minimum cardinality to achieve sensing coverage and maintain network connectivity. They designed a greedy approach, which has an approximation ratio no better than O(logn), where n is the number of sensors. They also proposed a solution to provide an approximate coverage in a specific case where the number of selected sensors is limited by a constant factor far from the optimal value. Steiner tree algorithm has been used in various contexts to connect deployed sensors that have already achieved the required coverage of the region. Gupta et al. investigated the minimal connected cover set (MCCS) problem [18], which has been shown to be NP-complete, where a minimal subset of connected nodes fully cover the entire region. The time complexity of their solution is resolution dependent as they approximated the sensor coverage area with a set of square units. Zhou et al. investigated the connected k-coverage problem in [19] and designed a distributed greedy approach. Note that they treated the target object or query region in the same manner as in [18], and did not discuss the computational complexity.
The problems we study in this paper differ from the aforementioned research efforts in several aspects: (i) We consider a set of constrained sensor deployment problems in 3D space; (ii) We exhaust the combinations of various deployment constraints posed on candidate sensor locations and target objects, which can be either discrete points or continuous areas; (iii) We require the deployed sensors to k-cover a given set of target objects and also maintain communication connectivity. We design a set of efficient algorithms to discretize continuous candidate sensor locations or target objects without loss of sensing precision. More importantly, we propose an approximation algorithm with a bounded performance ratio for each of these problems, which have been proved to be NP-complete.

Problem Formulation
Our network model considers sensors with a certain sensing radius r s and communication radius r c . The following definitions are provided on sensor coverage. Definition 1. cover: a sensor s (or a sensor located at point l) covers a target object t if and only if the Euclidean distance between s (or l) and any point on t is less than or equal to r s . Definition 2. k-cover: A set S of sensors (or a set L of sensor locations) k-cover a target object t if there are at least k sensors in S (or at least k sensor locations in L) that cover t.
We study the constrained sensor deployment problem in 3D space, which is formulated as an optimization problem: Given a 3D convex region R (e.g., a cave on a historical relic site or an exhibition room in a museum) with certain spatial constraints for sensor deployment and a set T of n separated target objects within region R, our goal is to deploy a minimum number of sensors at the candidate locations on the inner surface of R to achieve k-coverage for each target object. Due to the spatial constraints, sensors can be only placed at a finite set L of m separated locations. According to the type of location L and target T, we define four constrained sensor deployment problems in 3D space as follows: • Discrete L with Discrete T (DLDT), i.e., both the feasible sensor locations and the present target objects are discrete points.

•
Discrete L with Continuous T (DLCT), i.e., the feasible sensor locations are discrete points and the 3D surfaces of the present target objects are composited by a finite set of continuous convex 2D areas.

•
Continuous L with Discrete T (CLDT), i.e., the feasible sensor locations fall on a finite set of continuous convex 2D areas in 3D space and the target objects are discrete points.
• Continuous L with Continuous T (CLCT), i.e., both the feasible sensor locations and the surfaces of the present target objects are a finite set of continuous convex 2D areas in 3D space.
Note that in the above problems, the convex 2D areas for continuous target objects and feasible sensor locations could be positioned anywhere in 3D space (i.e., they may not be located on the same plane). At each discrete point for sensor deployment, we can deploy at most one sensor. When a feasible sensor location is a continuous 2D area, we can deploy a sensor at any position within that area. Furthermore, we consider a connected version of each of the four sensor deployment problems where all deployed sensors must be connected, referred to as C-DLDT, C-DLCT, C-CLDT, and C-CLCT.

Algorithm Design without Connectivity Requirement
We first prove the NP-completeness of DLDT and propose an approximate algorithm with an approximation ratio of (ln n + 1) as a base solution. We use a discretization approach to covert DLCT, CLDT, and CLCT to DLDT.

Algorithm Design for DLDT
We show that the known NP-complete Discrete Unit Disk Cover (DUDC) problem [20] is a special case of DLDT. DUDC is a well-studied problem and is defined as follows: Given a set P of points in a 2D plane, and a set D of unit disks at some fixed locations, the goal is to find a minimum-cardinality subset D ⊆ D to cover all points of P. Note that DUDC is essentially a geometric version of the set cover problem, where the sets are defined as a collection of unit disks.

Theorem 1. The DLDT problem is NP-complete.
Proof. We can restrict DLDT to DUDC by allowing only those instances where k = 1, r s = 1, and L and T are in the same 2D plane. The proof by restriction for NP-completeness is established in [21], where the "restriction" should be imposed on the inputs (i.e., problem space), not the question. Since a special case (DUDC) of DLDT is NP-complete, so is DLDT.
We develop a method based on integer linear programming (ILP) to find the lower bound of the optimal solution to the DLDT problem by formulating it as an ILP task. Let variable x l represent the decision of whether or not to deploy a sensor at a feasible sensor location l ∈ L: x l = 1 if a sensor is deployed at location l; x l = 0, otherwise. For each target point t ∈ T, let S(t) denote the set of candidate sensor locations in L that can cover target point t. The ILP task for the DLDT problem is formulated as follows: subject to In the above ILP task, the objective is to minimize the total number of sensors to be deployed. The first constraint ensures that each target point is k-covered, and the second constraint requires that each x l variable to be either 0 or 1. Since the ILP problem is NP-hard, this formulation does not help solve the sensor deployment problem under study. However, the ILP formulation leads to a way of finding the lower bound of the optimal solution through the LP-relaxation technique. We relax the integer constraint of Equation (3) in the ILP formulation to obtain an LP formulation: Let OPT and OPT LP be the optimal objective values of the ILP and LP problems, respectively. We have OPT LP ≤ OPT, since the solution space for the LP problem is a superset of that for the ILP problem. Therefore, OPT LP provides a lower bound to the optimal solution to the DLDT problem. According to the k-coverage constraint in Equation (2), we have OPT ≥ k and OPT LP ≥ k.
Andersen et al. modified the greedy algorithm originally designed for the Set Cover problem [14] to solve the sensor deployment problem with multiplicity k, but no approximation ratio was provided. We adopt a similar greedy strategy to DLDT, referred to as GreedyDLDT, as shown in Algorithm 1, whose output is a set L 0 of candidate locations selected for sensor deployment. We use function U(l, T, L 0 ) to compute a set of target points in T, which are covered by l but not k-covered by L 0 . GreedyDLDT follows an iterative procedure to select a candidate sensor location covering the largest possible number of target points that are not k-covered at each stage, until all target points in T are k-covered. GreedyDLDT has a time complexity of O(m 2 · n) in the worst case. When k = 1, it is the same as the approximate algorithm designed for the Set Cover problem, and Johnson already proved that the approximation ratio of this algorithm is upper bounded by (ln n + 1) [22]. When k ≥ 1, we shall prove that the approximation ratio of GreedyDLDT is also upper bounded by (ln n + 1), as stated in Theorem 2. Proof. Considering that each of n target points is covered by at least k sensors, there should be in total k · n target points returned by U(l * , T, L 0 ) in GreedyDLDT in Algorithm 1, where each target point has a multiplicity of k. We use T = {t 1 , t 2 , . . . , t k·n } to denote the set of target points that are numbered in the order they are covered, and use T i = T − CAT j=i j=1 U(l * j , T, L 0 ), where CAT is defined as an operation to concatenate multiple sets into a single one without removing duplicate elements, to denote the set of target points that have not yet been covered after the i-th iteration, with T 0 = T .
We use OPT to denote the minimum number of sensor locations selected to k-cover all target points. When OPT = 1, it is obvious that k must be equal to 1 because there is only one selected location for sensor deployment. There must exist a sensor location l * that can cover all n target points, and hence this greedy procedure identifies l * in the first iteration and achieves the optimality in this case. We consider OPT ≥ 2 in the rest of our proof.
After the i-th iteration, we know that the remaining target points T i can be covered by at most OPT sensor locations, and each location should cover OPT target points on average. The principle of Pigeon Hole indicates that there must exist one sensor location l ∈ (L − L 0 ), which can cover at least |T i | OPT target points; otherwise, the OPT sensor locations cannot k-cover T i . In this greedy method, we always select the sensor location l * i+1 that covers the largest number of target points in T i . Therefore, Starting from |T 0 | = k · n, an inductive procedure leads to |T i | as follows: We use q to denote the number of iterations this approach takes to satisfy the following equation: By rearranging (1 − 1 OPT ) q and OPT, and taking natural logarithm on both sides of Equation (6), we obtain: We consider a function f (x) = ln(1 + 1 Therefore, based on Equation (7), we obtain q ≤ OPT · ln(k · n/OPT).
In Algorithm 1, after q iterations, |T q | ≤ (1 − 1 OPT ) q · k · n = OPT, which means that only OPT target points in T have not yet been covered. Since each iteration covers at least one target point in T , we can fully cover T after q + OPT iterations, i.e., all n target points are k-covered. Algorithm 1 terminates after q + OPT iterations, and produce the number |L 0 | of selected sensor locations as: ≤OPT · (ln n + 1).
The inequality in Equation (8) holds because OPT ≥ k, as shown by the constraint in Equation (2) in the LP problem. Hence, the approximation ratio of GreedyDLDT in Algorithm 1 is upper bounded by (ln n + 1).
We would like to point out that DLDT with k = 1 is exactly the Set Cover problem, which has been proven to be inapproximable in polynomial time within a factor of O(ln n), unless P = NP [23]. Accordingly, O(ln n) is the best approximation ratio achievable for DLDT when k ≥ 1. However, we are able to produce a tighter approximation ratio in Theorem 3 if we compute the lower bound OPT LP of OPT by solving the LP problem in advance. Theorem 3. Algorithm 1 has an approximation ratio of (ln k·n OPT LP + 1), if the lower bound OPT LP of OPT is pre-computed.
Hence, the approximation ratio of GreedyDLDT is upper bounded by (ln k·n OPT LP + 1).
According to the constraint defined in Equation (2) for the LP problem, we have OPT LP ≥ k, and ln k·n OPT LP + 1 ≤ ln n + 1. Therefore, Theorem 3 provides a tighter upper bound than the one in Theorem 2.

Algorithm Design for DLCT
In DLCT, the candidate sensor locations are given as a set of discrete points, and the surfaces of the target objects are composited by a finite set of continuous 2D areas, in which, any point must be k-covered. Obviously, a continuous area contains an infinite number of points, which makes it infeasible to provide a direct formulation of this problem as an ILP task. In addition, there lack efficient tools to tackle such complex geometric objects. In this section, we propose a discretization approach to discretize a continuous target area into divisions in order to convert DLCT to DLDT without the loss of precision such that every point in each continuous target area is k-covered. The discretization process takes three steps: (i) intersected circle calculation; (ii) division calculation; and (iii) covering set calculation.

Intersected Circle Calculation
The first step for intersected circle calculation is to compute the sensing region within a continuous target area t ∈ T of a sensor placed at a discrete sensor location l ∈ L. We first draw a 3D sphere of radius r s centered at the sensor location l, and then compute the circle (or arc) intersected between the sphere and the plane where the continuous target area t resides. This step is of time complexity O(m · n). All points inside the intersected circle in the target area t must be covered by the sensor location l. Note that a sphere may intersect with one or more target areas, while a target area may also be intersected by multiple spheres. Therefore, there may be multiple intersected circles or arcs of different radiuses that divide the continuous target area A into a number of subareas, referred to as divisions. Note that a division contains at least two intersection points and is enclosed by at least two arcs.

Definition 3.
An intersection point is either an internal point (inside area A) intersected by two or more circles, or a border point intersected by the border of area A and one or more circles.

Definition 4.
A point of tangency is either an internal point (inside area A), at which two or more circles are tangent, or a border point, at which the border of area A is tangent to one or more circles. Here, we do not consider a point of tangency as an intersection point.

Definition 5.
An arc is a minimum segment bounded by two intersection points (endpoints) on the rim of a circle. Here, "minimum" means that there does not exist any intersection point between two endpoints.

Definition 6.
A division is a minimum enclosed area bounded by a set of arcs or the segments of the boundary of a continuous target area. Here, "minimum" means that there does not exist any arc inside a division, or a division cannot be divided by any arc into smaller divisions.

Division Calculation
The second step for division calculation is to determine all divisions formed by the intersected circles calculated at the previous step. This problem appears to be computationally challenging in geometry, but it turns out that tracing all possible divisions can be done in polynomial time. In fact, Huang et al. pointed out that the total number of intersected divisions could be as many as O(m 2 ), where m denotes the number of circles, but they did not provide a proof [15]. Here , we provide a rigorous derivation for a tight upper bound on the total number of divisions intersected by m circles in an infinite 2D plane. We shall start from the following lemmas. Proof. We prove this lemma by reduction to absurdity. Assume that a newly added circle passes an intersection point p, which is created by the intersection of some existing circles, and produces the maximum number of divisions. We use o to denote the center of the newly added circle. If we move this circle towards the direction po or op for a small distance of ε (ε > 0 is an arbitrarily small value) without passing any other intersection points, we are able to increase the number of divisions at least by 1, which is in conflict with the assumption. Hence, the newly added circle should not pass any existing intersection point.

Lemma 2. The number of divisions intersected by m circles in an infinite 2D plane is upper bounded by
Proof. We prove this theorem using mathematical induction. Let P(m) = (m 2 − m + 1). In the base case where m = 2, we have P(2) = 3 and there are at most 3 divisions created by 2 circles. Obviously, the theorem holds in this base case.
Suppose that P(m) holds. Now we show that P(m + 1) also holds. We first prove that adding a new circle c to the existing m circles {c 1 , c 2 , ..., c m } would increase the number of divisions by at most 2m, assuming that c intersects with all existing circle c i , i ∈ [1, m]. Obviously, the number of new intersection points on any existing circle c i is at most 2, and the increment of arcs on c i is also at most 2.
Since an arc is shared by at most two divisions (on both sides), the increment of divisions consisting of 2 new arcs on c i is at most 4. Therefore, the total increment of divisions is at most 4m. Since each new division contains at least one arc from c i , all new divisions have been counted in the division increment of 4m including those covered by c only. However, the above calculation still contains some duplicated divisions, which are addressed as follows.
According to Lemma 1, c only intersects the arcs on c i , and c does not go through any existing intersection points on c i . The intersection between c and c i falls into one of the following two cases: Case 1 where c intersects only one arc of c i , and Case 2 where c intersects two arcs of c i .

Case 1: c intersects only one arc of c i
In this case, an arc of c i is divided into three arcs by c . An example is shown in Figure 1a, where a boldly marked arc of c 1 , c 2 , or c 3 is divided into three new arcs by c (marked by dashed lines). We refer to the original arc as arc 0 (c i ), and the three new arcs as arc 1 (c i ), arc 2 (c i ), and arc 3 (c i ) in the clockwise direction, respectively. We consider the following two intersection conditions: (i) c does or does not intersect an arc of c j 1 (j 1 ∈ [1, m], j 1 = i) inside c i ; (ii) c does or does not intersect an arc of c j 2 (j 2 ∈ [1, m], j 2 = i) outside c i . By combining the above two intersection conditions, we have the following 4 subcases of intersection.

•
Subcase (1): c intersects an arc of c j 1 (j 1 ∈ [1, m], j 1 = i) inside c i and also intersects an arc of c j 2 (j 2 ∈ [1, m], j 2 = i) outside c i . This is the case for arc 0 (c 2 ) in Figure 1a. Before adding c , there are 2 divisions sharing arc 0 (c i ): one division div 1 (c i ) inside c i , and the other division div 2 (c i ) outside c i . After adding c , arc 0 (c i ) is divided into 3 new arcs, and both div 1 (c i ) and div 2 (c i ) are divided into 3 new divisions by c , resulting in total 6 new divisions, each of which contains one of these 3 new arcs. Therefore, the increment of divisions that share the new arcs of c i is 6 − 2 = 4. For each of these 6 new divisions, it consists of at least two new arcs: one new arc from c i and the other new arc from c j 1 or c j 2 . Obviously, each of these 6 new divisions is duplicately counted by c i and c j 1 or c j 2 . Therefore, the average increment of divisions sharing the new arcs of c i is 4/2 = 2. Figure 1a. Before adding c , there is   In sum, the average increment of divisions for any existing circle c i is 2. Since there are total m existing circles, the total increment of divisions is 2m. It follows that P(m + 1) = P(m) + 2m = (m + 1) 2 − (m + 1) + 1. Therefore, P(m + 1) holds. Since both the base and inductive steps are validated, we conclude that Lemma 2 holds for all natural number m according to the theory of mathematical induction.
According to Lemma 1, m circles should be placed in such a way that every intersection point is created by only two circles in order to maximize the number of divisions. We show one tight example of Lemma 2 in Figure 1, where the centers of all these circles of an identical radius are aligned along a line, and every newly added circle intersects all existing circles.
We can represent a division using a sequence of component intersection points and arcs. To facilitate division calculation, we provide below several definitions. Definition 7. end 1 (arc) and end 2 (arc) are the endpoints of an arc in the clockwise direction, and mid(arc) is the middle point of an arc. Definition 8. The tangent of an arc at one endpoint p is defined as a tangent radial that is tangent to the arc at p, and the angle between the tangent radial and the chord −−−−−−→ p, mid(arc) is less than 90 degrees.

Definition 9.
Suppose that arc arc 1 and arc arc 2 share one endpoint p. The angle from arc arc 2 to arc arc 1 is defined as the angle from the tangent of arc 2 at its endpoint p to the tangent of arc 1 at its endpoint p in the clockwise direction.
We design an algorithm in Algorithm 2 to determine all divisions in a continuous area A intersected by m circles and the boundaryĀ of A. In lines 5-6, it adds a new circle, which intersects with neither any other circles nor the boundaryĀ, or is only tangent to one circle orĀ. In lines 10-18, it traces a division outside the circle or A, to which arc src belongs. In lines 19-27, it traces a division that is inside the circle or A, to which arc src belongs. It returns all possible divisions inside the continuous area A. The computational complexity of Algorithm 2 is O(m 3 ) in the worst case. An example of Algorithm 2 is illustrated in Figure 2, where arc src is represented by a boldly marked arc, and the divisions on both sides of arc src are denoted by div 1 and div 2 . The curved arrows show the tracing directions we follow to identify these two divisions. if c i has no intersection point and is inside A then 6: Add c i to DivCmps and then to Divs; Add all arcs on c i and inside A to Arcs; 9: for all arc src ∈ Arcs −Ā do 10: arc cur = arc src ; 11: repeat 12: Select arc next ∈ Arcs such that arc next share the endpoint end 1 (arc cur ) and the angle from arc next to arc cur is minimized; 13: arc cur = arc next ; 14: until (arc cur == arc src ) 15: if the chain d 1 of arcs form the profile of multiple circles then 16: Add d 1 to DivCmps if d 1 / ∈ DivCmps;

Algorithm 2 Division Calculation
17: else 18: Add d 1 to Divs if d 1 / ∈ Divs; 19: arc cur = arc src ; 20: repeat 21: Select arc next ∈ Arcs such that arc next share the endpoint end 2 (arc cur ) and the angle from arc next to arc cur is minimized; 22: arc cur = arc next ; 23: until (arc cur == arc src ) 24: if the chain d 2 of arcs form the profile of multiple circles then 25: Add  We use Algorithm 2 to determine all divisions in each continuous target area t ∈ T divided by the intersected circles resulted from the first step and the boundaries of t. With n continuous targets, division calculation is of time complexity O(m 3 · n).

Covering Set Calculation
The third step for covering set calculation is to determine the set of divisions a discrete sensor location l ∈ L can cover. A discrete sensor location may cover the divisions from multiple continuous targets, and may only cover a subset or the entire set of divisions from one target. Note that a continuous target is k-covered if and only if every division within the target area is k-covered. The following lemma is used to check if a sensor location can cover a division, and compute the covering set of each sensor location l ∈ L. This step is of time complexity O(m 3 · n).

Lemma 3.
A discrete sensor location covers an arc if and only if the distance from each endpoint of the arc to the sensor location is less than or equal to r s and the distance from the middle point of the arc to the sensor location is also less than or equal to r s . A discrete sensor location covers a division if and only if it covers all the component arcs of the division.
If a division contains a non-arc boundary segment of a target area, then the segment is covered by a sensor if and only if the distance from each endpoint of the segment to the sensor location is less than or equal to r s and the segment does not intersect with the covering circle of the sensor. If a division is constituted by a single circle, we evenly divide the circle into two arcs and apply the above lemma to check if a sensor covers a circular division.
The complexity of the entire discretization process is dominated by the complexity of the last two steps, i.e., O(m 3 · n). If we treat every target division as a discrete virtual target point, we are able to convert DLCT to DLDT without the loss of any precision. Therefore, we adapt GreedyDLDT for DLDT to DLCT, referred to as GreedyDLCT, after discretizing continuous target areas, and prove that the performance of this adapted approach to DLCT is upper bounded by (ln nm 2 + 1).

Theorem 4.
The approximation ratio of GreedyDLCT with target object discretization for DLCT is (ln nm 2 + 1).

Proof.
We compute the maximum total number of divisions in all continuous target areas. Since every continuous target object is a convex area, Lemma 2 shows that the maximum number of divisions in one continuous target area is (m 2 − m + 1). With n continuous target areas, the maximum total number of divisions in all these areas is n · (m 2 − m + 1). According to Equation (8), we have ≤OPT · (ln nm 2 + 1).

Algorithm Design for CLDT
In CLDT, the feasible sensor locations are given as a set of 2D continuous areas, and the target objects are given as a set of discrete points. We may place sensors at any point within these continuous areas for sensor deployment. The key idea for solving CLDT is to use a similar three-step discretization process to discretize a continuous sensor location into divisions in order to convert CLDT to DLDT without loss of precision, referred to as GreedyCLDT.
Similar to DLCT, during discretization in CLDT, the first step for intersected circle calculation is to compute the valid sensor region within each continuous feasible sensor location l ∈ L that covers a discrete target point t ∈ T. We first draw a 3D sphere of radius r s centered at a target point t, and then compute the circle or arc intersected by the sphere and the continuous sensor location l. If a sensor is placed within the intersected circle inside the sensor location l, it must cover t. In addition, a sphere may intersect one or more sensor locations, and a feasible sensor location may also be intersected by multiple spheres. Multiple intersected circles or arcs of different radiuses may exist at every feasible sensor location.
The second step for division calculation is to use Algorithm 2 to determine all possible divisions at every continuous sensor location l ∈ L divided by the intersected circles resulted from the first step and the boundaries of l. Note that a valid division must be inside an intersected circle such that a sensor deployed within this division can cover at least one discrete target point. However, not all the divisions returned by Algorithm 2 are valid. We show one division example in Figure 3, where the surrounding rectangle is a continuous sensor location, and it is divided into a number of divisions by the intersected circles or arcs. In Figure 3, divisions A and C are valid, while divisions B and D are invalid. We first compute all divisions at every sensor location l ∈ L, and then remove any invalid divisions. Every valid division can be treated as a discrete candidate sensor location because we can place a sensor at any point within the division while achieving the same coverage performance. Obviously, we can deploy at most k sensors within a valid division. The second step for division calculation is to use Algorithm 2 to determine all possible divisions at every continuous sensor location l ∈ L divided by the intersected circles resulted from the first step and the boundaries of l. Note that a valid division must be inside an intersected circle such that a sensor deployed within this division can cover at least one discrete target point. However, not all the divisions returned by Algorithm 2 are valid. We show one division example in Figure 3, where the surrounding rectangle is a continuous sensor location, and it is divided into a number of divisions by the intersected circles or arcs. In Figure 3, divisions A and C are valid, while divisions B and D are invalid. We first compute all divisions at every sensor location l ∈ L, and then remove any invalid divisions. Every valid division can be treated as a discrete candidate sensor location because we can place a sensor at any point within the division while achieving the same coverage performance. Obviously, we can deploy at most k sensors within a valid division.
We choose k discrete points within a division as follows. Let arc 1 and arc 2 be two arcs of a division that share an intersection point p. We compute the tangents of arcs arc 1 and arc 2 at point p, respectively, and the bisector of the angle formed by these two tangents. Suppose that the angle bisector intersects one of the arcs of the division at point q. We can evenly lay out k points along line segment pq, which are used to represent the division. All the sensors placed at these k points within the same division have an identical coverage performance. We provide an example of computing k points within a division in Figure 3, where we use k points on line segment p 1 p 3 to represent division A. We calculate k discrete points within every valid division at each sensor location l ∈ L.
The third step for covering set calculation is to compute the set of discrete target points that every discrete point resulted from the previous step can cover. The above three-step discretization process converts CLDT to DLDT, and the time complexity of this transformation is O(n 3 · m · k). We then apply GreedyDLDT to compute a solution to CLDT. As the number of target points remains the same, the approximation ratio of GreedyCLDT is (ln n + 1).

Algorithm Design for CLCT
In CLCT, both sensor locations and target objects are given as continuous 2D areas. This problem is more challenging to tackle because we can not directly convert it to DLDT using the same discretization method for DLCT and CLDT. We propose to first divide CLCT into two subproblems, and then convert the two subproblems to CLDT and DLCT, respectively. Based on this approach, we design an approximate algorithm for CLCT.

Problem Decomposition
Let S denote the enclosed 3D space that is collectively covered by all sensor locations with sensing radius r s andS denote the surface of S.
There are four cases in the CLCT problem.
• Case 1: At least a target point exists outside S. In this case, there is no feasible solution to the CLCT problem, and hence is ignored. • Case 2: No target point is outside S, butS and target areas have intersected points whose neighbourhoods within the target areas can not be covered by finite sensor location points. In this case, the minimal number of selected sensor location points to cover all the targets is infinitely large. Therefore, we do not need to consider this case. • Case 3: No target point is outside S, and the neighbourhood of any point intersected byS and a target area can be covered by finite sensor location points. In this case, for each sensor location l covering a target point inS, we draw a sphere of radius r s centered at l. A target area may be intersected by multiple spheres. In every target area, there may be multiple intersected arcs that divide the target area into several divisions. Then, temporarily remove all the divisions adjacent to a target point inS. The minimum distance betweenS and all the points in the rest target areas is denoted by d (d > 0).
• Case 4: All the target areas are in the inner side of S. In this case, there is no target point inS. The minimal distance betweenS and the points in the target areas is denoted by d (d > 0).
Let S 1 represent the enclosed 3D space that is collectively covered by all sensor locations with sensing radius (r s − d). Let S 2 = S − S 1 . Then, we divide the CLCT problem into two subproblems as follows: • Subproblem 1: Given m convex sensor location areas and convex target areas in S 1 , deploy a minimum number of sensors with sensing radius r s to k-cover all the target areas in S 1 , referred to as SubOPT 1 . • Subproblem 2: Given m convex sensor location areas and continuous target areas in S 2 , deploy a minimum number of sensors with sensing radius r s to k-cover all the target areas in S 2 , referred to as SubOPT 2 .
Note that in Case 4, the CLCT problem is the same as Subproblem 1.

Coverage over Internal Targets
We first tessellate 3D region R by cubes with edge of a = d/ √ 3. Each target area may cut some cubes. In each cut cube, we arbitrarily select a point in a target area in S 1 , and obtain n 1 discrete target points. Then, we construct two CLDT problems.

•
Problem 1: Given m convex sensor location areas and n 1 target points, deploy a minimum number of sensors with sensing radius r s to k-cover n 1 target points, referred to as CLDTOPT 1 . • Problem 2: Given m convex sensor location areas and n 1 target points, deploy a minimum number of sensors with sensing radius (r s − d) to k-cover n 1 target points, referred to as CLDTOPT 2 .
Problem 2 is a CLDT problem with an approximation algorithm, so that we can use the approximate solution CLDTAS 2 to Problem 2 as the approximate solution SubAS 1 to Subproblem 1.

Definition 10. Critical sensor location points:
All the sensor location points that can cover a target point inS are referred to as a set L c of critical sensor location points.
In Problem 2, if selected location divisions contain a point in L c , the location point will be selected to represent the location division.
Proof. Obviously, a set of sensors k-covering all the target areas in S 1 can k-cover n 1 target points. In addition, if a set of sensors with sensing radius (r s − d) that can k-cover n 1 target points have sensing radius r s , they can also k-cover all the target areas in S 1 . Hence, |CLDTOPT 1 | ≤ |SubOPT 1 | ≤ |CLDTOPT 2 |. Since the approximation ratio of GreedyCLDT is (ln n + 1), Since we can deploy |CLDTOPT 1 | sensors with sensing radius r s to k-cover all the discrete target points, we firstly deploy |CLDTOPT 1 | sensors with sensing radius (r s − d) in the same locations. For each sensor location, only target points between the two concentric spheres with radii r s and (r s − d) lose a coverage due to the decrease of the sensing radius. Fortunately, the number of target points in the region has an upper bound, denoted by l, in that there is at most one target point in a cube with edge a. In other words, each sensor causes no more than l target points to lose a coverage. Totally, l · |CLDTOPT 1 | coverage disappears. Then, additional l · CLDTOPT 1 sensors are sufficient to provide k-coverage over all the target points. Therefore, we can deploy no more than (l + 1) · |CLDTOPT 1 | sensors with sensing radius (r s − d) to k-cover all the target points, i.e., |CLDTOPT 2 | ≤ (l + 1) · |CLDTOPT 1 |.
We provide the upper bound l. On one hand, all the cubes that can be intersected by a full sphere with radius r s can be completely contained in a sphere with radius (r s + d), so there are at On the other hand, the 3D region composed of all the cubes that can necessarily be contained but not intersected by a sphere with radius (r s − d) regardless of their locations relative to the sphere can contain a sphere with radius (r s − 2d), so the number of cubes is at least 4 According to Equations (12) and (13), we have

Coverage over Targets on the Border
We construct a DLCT problem as follows: Given a set L c of sensor location points and target areas in S 2 , deploy a minimum number of sensors with sensing radius r s at location points in L c to k-cover all the target areas in S 2 , referred to as DLCTOPT.
Proof. Consider the DLCT problem. For each sensor location l in L c , draw a sphere with radius r s centered at l. All the spheres and all the target areas in S 2 may intersect at multiple arcs. The arcs divide the target areas in S 2 into some divisions, which are all adjacent to at least a target point inS. Assume that there exist a division that can be covered by a set L 1 of finite sensor locations in L − L c . The division is adjacent to the target point t inS. Let d be the minimum distance between t and all the sensor location points in L 1 . Since d > d, the target points less than (d − d) far from t in the division cannot be covered by any points in L 1 , which contradicts with the assumption that the division can be covered by L 1 . Hence, no division can be covered by finite sensor locations in L − L c .
Based on the definition of S 2 , all the location points in L c can collectively cover all the target areas in S 2 , so the DLCT problem has at least a feasible solution. Since L c ⊆ L, |DLCTOPT| ≥ |SubOPT 2 |. Assume that |DLCTOPT| > |SubOPT 2 |. Then, there exists at least one sensor in (DLCTOPT − SubOPT). If the sensors in (DLCTOPT − SubOPT) are all moved out of DLCTOPT, there must be a target division, in which no internal point is k-covered by SubOPT 2 ∩ L c , because (SubOPT 2 ∩ L c ) ⊆ L c and |SubOPT 2 ∩ L c | < |DLCTOPT|. Since SubOPT 2 is a feasible solution, the entire target division can be covered by no more than |SubOPT 2 | sensors located at L − L c , which contradicts with the fact that the finite sensor location points in L − L c cannot cover any target division in S 2 . It follows that |DLCTOPT| ≤ |SubOPT 2 |. Hence, |DLCTOPT| = |SubOPT 2 |.
By converting Subproblem 2 to DLCT that is solved by an approximation algorithm, we can obtain an approximation solution SubAS 2 to Subproblem 2. In Subproblem 2, if some divisions in the target areas have been completely covered by the set of sensors selected in Subproblem 1, the number of required covers over the divisions can be reduced correspondingly in order to decrease the number of deployed sensors.
There are only two existing forms for the points intersected byS and target areas: • Case 1: an isolated point inS. • Case 2: a set of concyclic points, all of which only one or two sensor location points can cover.
If all the target areas can be k-covered by finite sensors, the total number of isolated points and sets of concyclic points intersected byS and target areas must be a finite number, denoted by n 2 . Lemma 6. The approximation ratio of the greedy algorithm for Subproblem 2 is (ln mn 2 2 + 1), where m is the number of sensor location areas.
Proof. Assume that in a sensor location area, there exist two location points l 1 and l 2 covering the same target point t inS. Then, their distances to t are l 1 t = l 2 t = r s . Because the sensor location area is convex, any point l on the line segment l 1 l 2 is in the location area. Since l ∈ l 1 l 2 and l 1 t = l 2 t = r s , the distance lt is less than the sensing distance r s , which contradicts with the assumption of t ∈S.
Therefore, for each target point inS, there is at most one valid location point in a sensor location area. Since the total number of isolated target points and sets of concyclic target points inS is no more than n 2 , |L c | ≤ m · n 2 . According to Theorem 4, the approximation ratio of the greedy algorithm for Subproblem 2 is (ln mn 2 2 + 1).

Approximation Ratio
Theorem 5. The approximation ratio of the algorithm for CLCT is Proof. Let AS be the approximate solution to the original CLCT problem with optimal solution OPT.
We have Based on Equation (15) and Lemma 4 and 6, the approximation ratio of the algorithm for CLCT can be computed as follows:

Algorithm Design with Connectivity Requirement
We consider another set of four connected deployment problems by imposing a requirement on the sensor network connectivity: C-DLDT, C-DLCT, C-CLDT, and C-CLCT. Obviously, all these problems are still NP-complete since their corresponding version without the connectivity requirement is a special case where every sensor has a sufficiently large communication radius.
We design an approximate algorithm for each of these connected sensor deployment problems. We use C-DLDT as an example to explain the algorithm design, which is based on the result of DLDT returned by Algorithm 1. Suppose that the set of sensor locations from Algorithm 1 for DLDT is L 0 , L 0 ⊆ L. C-DLDT is to select a minimum number of candidate sensor locations from L − L 0 and add them to L 0 such that all the sensors in L 0 are connected, which is similar to the Steiner Tree Problem with Minimum number of Steiner Points and Bounded Edge-Length (STP-MSPBEL) in [24]. They differ in that the candidate Steiner points are limited to a set of given locations in C-DLDT. We define a subproblem, Steiner Tree Problem with Minimum number of Steiner Points at Constrained Locations (STP-MSPCL): given a set L of discrete points, a subset L 0 of L, and a communication radius r c , the problem is to add a minimum number of points from L − L 0 to L 0 such that all the points in L 0 are connected. Note that two sensors are connected by a wireless link if and only if the Euclidean distance between them is no more than communication radius r c . Here, we use L 0 to denote the set of terminal points and use L − L 0 to denote the set of Steiner points.
We propose an approximate algorithm for STP-MSPCL based on the minimum spanning tree algorithm in Algorithm 3, which solves the node-weighted Steiner tree problem by reducing it to the edge-weighted Steiner tree problem. In lines 1-9, it assigns a weight to every link. If both of the end points of a link belong to L 0 , then we the weight of this link to be 0; otherwise, we set the weight of this link to be 1. Hence, every connected subset of L 0 can be treated as a super point, because the length of the path between any two points in the connected subset of L 0 is 0. In lines 10-13, it computes the shortest path between any two points in L 0 , which is used to build the spanning tree in line 14. Those points that are in the spanning tree but do not belong to L 0 are Steiner points that have already been added to L 0 in order to make L 0 form a connected network. Algorithm 3 is of time complexity O(m 3 ) in the worst case. if distance(l i , l j ) ≤ r c then 3: if l i ∈ L 0 and l j ∈ L 0 then 4: w (l i ,l j ) = 0; 5: else 6: w (l i ,l j ) = 1; 7: for all l i , l j ∈ L 0 , i = j do 8: Compute the shortest path P between l i and l j ; 9: w (l i ,l j ) = length(P); 10: Compute a minimum spanning tree MST(L 0 ) on L 0 ; 11: Let C be the set of locations l ∈ L − L 0 on the shortest path between any two locations in MST(L 0 ); 12: return C.
For STP-MSPCL in 2D space where L are distributed in a 2D area, we prove that the number of Steiner points in C ⊆ L − L 0 returned by the approximate algorithm is at most 5 times the number of Steiner points in an optimal solution. In [24], Lin et al. showed that there exists a shortest-length optimal Steiner tree for SMT-MSPBEL such that every Steiner point has a degree of at most 5. Theorem 6. The approximation ratio of Algorithm 3 for STP-MSPCL in 2D space is 5.
Proof. We first show that the degree of a Steiner point is at most 5. Assume that a Steiner point l ∈ L has a degree of 6, connecting to 6 terminal points, and the distance between l and each of these 6 terminal points is less than or equal to r c . There must exist at least two terminal points, the distance between which is less than or equal to r c . If the terminal points at most r c away from each other are considered as one single virtual terminal point (since they are connected), a Steiner point can make at most five separated terminal points connected. In our approximate algorithm, every selected Steiner point is on the shortest path between two terminal points. Hence, the number of Steiner points returned by Algorithm 3 is at most five times the number of Steiner points in an optimal solution. We provide a tight example of Theorem 6 in Figure 4, where five terminal points are located at the corners of a pentagon (dashed lines) with an edge length greater than r c . One Steiner point is located at the center and five other Steiner points are located outside the pentagon. The distance between any two terminal points is greater than r c , and the distance from any terminal point to the central Steiner point is less than r c . An optimal solution should add the central Steiner point to the set L 0 of terminal points, but Algorithm 3 may add the other five Steiner points to L 0 . Before further analyzing STP-MSPCL in 3D space, we would like to describe a long-debated historical "thirteen spheres" problem, which asks if 13 non-overlapping spheres of an identical size can touch the surface of another (central) sphere in 3D space. In a symmetrical configuration, we can place 12 spheres at those positions corresponding to the vertices of a regular icosahedron concentric with the central sphere. As these 12 spheres do not touch each other, there was a conjecture that a 13-th sphere may be added, which was the subject of the famous discussion between Isaac Newton and David Gregory in 1694, and it was finally proved in 1953 that at most 12 spheres can touch the central sphere [25]. For STP-MSPCL where L are distributed in 3D space, we shall prove that the number of Steiner points in C ⊆ L − L 0 returned by the approximate algorithm is at most 12 times the number of Steiner points in an optimal solution. Theorem 7. The approximation ratio of Algorithm 3 for STP-MSPCL in 3D space is 12.
Proof. We set the radius of each sphere to be r c /2 in the "thirteen spheres" problem. We can place at most 12 spheres around the central sphere without touching each other. The distance between the centers of any two outer spheres is greater than r c , and the distance from the center of any outer sphere to the center of the central sphere is equal to r c . If we deploy a terminal point at the center of each outer sphere and deploy a Steiner point at the center of the central sphere, such a Steiner point can make at most 12 separated terminal points connected. Similar to the proof of Theorem 6, the number of Steiner points returned by the approximate algorithm is at most 12 times the number of Steiner points obtained by an optimal solution.
The algorithm for C-DLDT is a two-stage algorithm: (i) use the approximation algorithm with an approximation ratio of (ln n + 1) for DLDT to achieve coverage, and (ii) use the approximation algorithm with an approximation ratio of 12 for STP-MSPCL to achieve connectivity. For r c ≥ 2r s , this two-stage algorithm for C-DLDT yields a combined approximation ratio of (ln n + 1 + 12) = (ln n + 13), which can be proved in a similar way for bounding the approximation ratio of a two-stage algorithm in [26]. We solve the other three connected deployment problems, i.e., C-CLDT, C-DLCT, and C-CLCT, in the same way we solve C-DLDT using a similar two-stage process. Similarly, for r c ≥ 2r s in constrained 3D space, the combined approximation ratio of the algorithm for C-DLCT is (ln(k · n · m) + 13) and the combined approximation ratio of the algorithm for C-CLDT is (ln n + 13).

Performance Evaluation
We conduct simulation-based performance evaluation on the proposed algorithms for constrained sensor deployment in 3D space using a set of randomly generated problem instances.
We would like to make an emphasis that the proposed methods for sensor deployment are approximate algorithms in nature, which are essentially different from heuristic approaches without any performance bound. In particular, we focus on the performance evaluation of the algorithm designed for DLDT (Algorithm 1) because it serves as the base of the solutions to the other problems, and the performance of this algorithm is a direct reflection of the performance of the other proposed algorithms.

Simulation Setting
In the simulation, we consider a 3D cube of dimensions 100 m × 100 m × 100 m as the region of interest, where a given number of discrete sensor locations and target points are randomly placed. Each sensor has a sensing diameter of 25 m (r s = 12.5 m) covering a spherical space. We conduct two sets of experiments. In the first set of experiments, we fix both the number of sensor locations and the degree of coverage, and vary the number of target points; while in the second set of experiments, we fix both the number of sensor locations and the number of target points, and vary the degree of coverage. Note that each experiment is repeated 20 times with different random seeds and the average number of required sensors with a standard deviation is measured for comparison between different algorithms.

Performance Evaluation of DLDT
For the evaluation of an approximate algorithm with an approximation ratio, one important aspect is to examine how it actually performs within the proven performance bound in different scenarios. For that purpose, we compare GreedyDLDT with an optimal solution, which is obtained by using the GNU Linear Programming Kit (GLPK) package to solve DLDT under the ILP formulation. Also, for a more practical evaluation of the performance, we compare GreedyDLDT with a genetic algorithm (GA)-based heuristic approach for sensor deployment, which mainly follows the design and implementation of the genetic operators (i.e., crossover, translocation, and mutation) in [27] with the following adaptations: • The surveillance region is extended from a 2D plane to a 3D space, and divided into a number of uniform contiguous voxels of unit size. • The sensing model is changed from probabilistic sensing to Definite Range Law Approximation (Cookie Cutter) [28].

•
The sensor type is changed from heterogeneous to homogeneous, and accordingly, no priority is given to any sensor during the population initialization.

•
The cost function considers the number of target points that have been sufficiently covered and is penalized against the total number of target points multiplied by k, which is the required degree of coverage.

•
The fitness function is redesigned to minimize the number of deployed sensors under the constraint imposed from the cost function.
In the first set of experiments, we set the number of discrete sensor locations to 100 and set k to 2, and compare the average performance of GreedyDLDT with the GA-based approach and the optimal solution as the number of given target points varies from 20 to 200, as shown in Figure 5. The increasing trend in these performance curves indicates that more sensors need to be deployed to cover more target points. We observe that GreedyDLDT consistently outperforms the GA-based approach, and the number of deployed sensors computed by GreedyDLDT is close to that computed by the optimal solution. Also, GreedyDLDT exhibits a very stable performance as indicated by a small standard deviation in each problem size.
Based on the number of deployed sensors computed by GreedyDLDT and the optimal solution, we are able to measure the actual approximation ratio of GreedyDLDT. We plot in Figure 6 the measured average approximation ratio in comparison with the theoretical one. We observe that the actual approximation ratio of GreedyDLDT is much smaller than the upper bound (ln n + 1) defined in Theorem 2, where n is the number of target points. These results shed light on the promising performance of the proposed method in solving such sensor deployment problems in practical applications.   In the second set of experiments, we set the number of discrete sensor locations to 200 and the number of target points to 100, and compare GreedyDLDT with the GA-based approach and the optimal solution with different k coverage values (the degree of coverage) varying from 1 to 8. As shown in Figure 7, the increasing trend in these performance curves indicates that more sensors need to be deployed to k-cover all target points as k increases. Again, we observe that GreedyDLDT consistently outperforms the GA-based approach, and exhibits a close-to-optimal performance with a high stability.
Similarly, based on the number of deployed sensors computed by GreedyDLDT and the optimal solution, we are able to measure the actual approximation ratio in comparison with the theoretical one, as plotted in Figure 8. We observe that the actual approximation ratio of GreedyDLDT is no more than 1.3 in all the cases, while the upper bound in this set of experiments is about 5.4 in the worst case, which again strongly indicates the effectiveness of GreedyDLDT in practical use and its great potential for real-life deployment.

Performance Evaluation of GreedyDLDT in Practical Settings
In order to evaluate the performance of GreedyDLDT with realistic deployment constraints, we consider an exhibition hall at Zhejiang Provincial Museum, Hangzhou, China [29]. This two-story exhibition hall is roughly estimated to be 40 m × 60 m × 15 m, where surveillance sensors with a sensing distance of 5 m are constrained to certain locations with accessible mounting boards to achieve a 2-coverage for a varying number of exhibition items placed on exhibition stands scattered across the hall.
We run the proposed GreedyDLDT algorithm, the GA-based approach, and the optimal solution to determine the sensor deployment scheme in this exhibition hall as the number of exhibition items are increased from 5 to 50 at an interval of 5 items. The performance measurements in Figure 9 show that GreedyDLDT requires about only half of the sensors compared with GA to provide the same sensing quality and achieves a close-to-optimal performance in all the cases. Although the surveillance region in this exhibition hall is smaller than the cubic volume in the previous simulations and there are less target points (exhibition items) to be covered, we observe that even more sensors are actually required for coverage due to the particular constraints on sensor locations and the regular layout of exhibition stands.

Performance Evaluation of C-DLDT
Similarly, we focus on the performance evaluation of C-DLDT because it serves as the base of the solutions to the connected version of the other three problems. We also run the proposed two-stage (first coverage and then connectivity) Greedy algorithm, the GA-based approach, and the optimal solution for C-DLDT to solve the two sets of problem instances created in Section 6.2. Note that in the GA-based approach, we incorporate connectivity (the percentage of connected sensors) as a penalty into the constraint. We plot the corresponding performance measurements in Figures 10 and 11. We observe that the performances of these algorithms for C-DLDT are qualitatively similar to those for DLDT and C-DLDT requires more sensors to be deployed than DLDT, especially when there are only a limited number of sensors deployed for coverage. Furthermore, the performance curves for C-DLDT appear more flattened out than those for DLDT because it would require less extra sensors to be deployed for connectivity as the number of sensors that have been deployed for coverage increases.

Conclusions
We generalized and investigated a class of problems to deploy a minimum set of wireless sensors at candidate locations in constrained 3D space to achieve k-coverage of given target objects such that every point in the target objects is covered by at least k sensors. With different constraints on sensor locations and target objects, we formulated four sensor deployment problems: DLDT, DLCT, CLDT, and CLCT, which have been proved to be NP-complete.
We designed an approximate algorithm for DLDT with an approximation ratio of (ln n + 1), and converted the other three problems to DLDT by using a discretization process. We proved that the number of divisions intersected by m circles in an infinite 2D area is tightly upper bounded by (m 2 − m + 1), which is used to compute the approximation ratio of the algorithm for DLCT. We further considered the connected version of these constrained sensor deployment problems where all deployed sensors must form a connected network. An approximate algorithm was also designed for each of these connected deployment problems.
The simulation results show that the proposed deployment algorithms consistently outperform a genetic algorithm-based approach and achieve a close-to-optimal performance in small-scale problem instances. The measured approximation ratios in the simulations are generally much less than the theoretical upper bounds derived for the worst cases, which illustrates the efficacy of these algorithms in practical applications.