Abstract

The relay node placement problem in wireless sensor network (WSN) aims at deploying the minimum number of relay nodes over the network so that each sensor can communicate with at least one relay node. When the deployed relay nodes are homogeneous and their communication ranges are circular, one way to solve the WSN relay node placement problem is to solve the minimum geometric disk cover (MGDC) problem first and place the relay nodes at the centers of the covering disks and then, if necessary, deploy additional relay nodes to meet the connection requirement of relay nodes. It is known that the MGDC problem is NP-complete. A novel linear time approximation algorithm for the MGDC problem is proposed, which identifies covering disks using the regular hexagon tessellation of the plane with bounded area. The approximation ratio of the proposed algorithm is (), where . Experimental results show that the worst case is rare, and on average the proposed algorithm uses less than 1.7 times the optimal disks of the MGDC problem. In cases where quick deployment is necessary, this study provides a fast 7-approximation algorithm which uses on average less than twice the optimal number of relay nodes in the simulation.

1. Introduction

Given a set of points on the Euclidean plane and a prescribed radius , disk covers a point if the distance between the center of and is not greater than . The minimum geometric disk cover (MGDC) problem is to identify a set of disks with minimal cardinality covering all points in . If radius equals 1, the MGDC problem is called the minimum geometric unit disk cover (MGUDC) problem. To simplify calculations, this study focuses on solving the MGUDC problem. However, all MGUDC problem algorithms can easily be extended to the MGDC problem by changing the radius from 1 to any fixed real number . Solutions to the MGDC problem can be used to solve the relay node placement problems in wireless sensor networks (WSNs).

A WSN consists of spatially distributed autonomous sensors that cooperatively monitor a region for physical or environmental conditions, such as temperature, sound, vibration, pressure, motion, and pollution. The transmission power consumed by a wireless radio is proportional to the distance squared or even higher in the presence of obstacles. Thus, multihop routing (instead of direct communication) is usually used for sending collected data to the sink.

A method of prolonging the lifetime of a WSN and preserving network connectivity is to deploy a few costly, but powerful, relay nodes to communicate with the other sensors or relay nodes. The WSN relay node placement problem studies how to deploy the fewest relay nodes so that each sensor can communicate with at least one relay node. In this study, we assume that the relay nodes in the WSN are homogeneous and their communication ranges are circles with radius . (If the communication range is irregular, the can be taken as the minimum radius among the inscribed circles of the irregular ranges.) Therefore, the relay node placement problem of WSNs can be treated as solving the MGDC problem and then placing the relay nodes at the centers of the chosen disks. In case the resulting relay nodes are not connected, additional relay nodes can be deployed to comply with the connection requirement among the relay nodes.

This study proposes two simple and effective approximation algorithms for the MGDC problem that identify covering disks using the regular hexagon tessellation of the plane. Tessellation is the process of creating a 2D plane by repeating a geometric shape with no overlaps or gaps. A regular tessellation is a tessellation that covers a 2D plane with regular polygons of the same shape and size. Only three regular tessellations (composed of the hexagon, square, and triangle) exist in the Euclidean plane [1].

A regular polygon enclosed by a unit disk (i.e., a circle with a radius of 1) is a unit polygon. If the polygons in a regular tessellation are all unit polygons, it is called a unit polygon tessellation. The three unit polygon tessellations are as follows: a unit triangle tessellation, unit square tessellation, and unit hexagon tessellation (Figure 1). Let us check how many unit polygons are needed to tessellate a given plane.

Suppose the area of the plane to be covered is and the radius of the circumscribed circle of each regular polygon is ; in order to cover the entire plane with regular tessellation, it needs at least triangles, squares, or regular hexagons (because the areas of each triangle, square, and hexagon are , , and , resp.). For example, suppose and ; then in order to cover the area with regular tessellation, we need at least 308 triangles, 200 squares, or 154 regular hexagons. In general, if is sufficiently large, then . Therefore, we can use fewer hexagons than squares and triangles to cover the same area with the same circumscribed radius.

This paper is organized as follows: Section 2 provides the related research on the MGDC and WSN relay node placement problems. Section 3 presents the approximation algorithms and their analysis to the MGDC problem using hexagon tessellation. Section 4 provides the simulation results of the proposed approximation algorithms and its application to the relay node placement problems in WSNs. Section 5 presents the conclusion.

Given a set of points on the Euclidean plane, the MGDC problem is to identify the smallest set of congruent disks with radius that covers all points in . The MGDC problem has been shown to be NP-complete [24]. Hochbaum and Maass [2] developed a polynomial time approximation scheme (PTAS) for the MGDC problem. They used a divide-and-conquer approach to solve the MGDC problem and proposed the shifting lemma to calculate the approximation ratio. They obtained a family of algorithms with a worst-case approximation ratio of (with ) and a running time , where is the number of points and   () is the shifting parameter. The time complexity becomes large as approaches zero, making this approach impractical for even a few input points.

Other polynomial approximation algorithms have been proposed, each of which provides suboptimal solutions within a constant approximation factor of the optimal solution [57]. These algorithms are based on the observation that the number of possible disk positions can be limited by assuming (without loss of generality) that any disk that covers at least two points has two of these points on its border. An exhaustive search of all possible disk positions leads to an optimal solution but requires an amount of time that is exponential in the number of points covered. By searching a subset of all possible disk positions, the running time of an algorithm becomes a polynomial of the number of points to cover, and the solution is guaranteed to be within a constant factor of the optimal one.

Franceschetti et al. [5, 8] used a different approach to approximate the MGDC problem. They solved the MGDC problem by locating the covering disks at the centers of a set of tessellated squares. Consider a square gird . They examined how many disks with given radius , centered at the vertices of , were required to completely cover an arbitrary disk of radius placed on the plane. They showed that this number is an integer in the set , the value of which depends on the ratio of to the grid spacing. If the disks are congruent unit disks (i.e., ) that circumscribe the squares of grid , six disks are required to cover an arbitrary disk of radius in the worst case. In cooperation with shifting strategy, their approximation algorithm can solve the MGDC problem with no more than times the optimal number of disks, where .

In [9], Fu et al. developed an deterministic time 2.8334-approximation algorithm for the MGDC problem. The authors used the concept of Borsuk number and developed some novel method to cover the points in the local region, which is roughly occupied by one disk. Instead of covering points with two fixed-size disks, they let two local regions share one disk in some cases. Although the approximation ratio of the algorithm in [9] is smaller than that of our proposed algorithms, their time complexity is higher than ours.

There are some interesting problems related to the MGDC problem studied in the literature, such as the discrete unit disk cover (DUDC) problem. Given a set of points and a set of unit disks on a 2-dimensional plane, the DUDC problem is (i) to check whether each point in is covered by at least one disk in and (ii) if so, then find a minimum cardinality subset such that unit disks in cover all the points in . In [10], the authors provide an algorithm with constant approximation factor 18. The running time of the proposed algorithm is .

Lloyd and Xue [11] studied two versions of relay node placement problems. In the first version, they used a minimal number of relay nodes to create a connecting path between each pair of sensor nodes consisting of relay and sensor nodes. In the second version, they used a minimal number of relay nodes to create a connecting path between each pair of sensor nodes consisting only of relay nodes. They presented a polynomial time 7-approximation algorithm for the first problem and a polynomial time -approximation algorithm for the second problem, where and can be any given constant. They claimed the complexity of their algorithms is bounded by plus the complexity of any efficient approximation algorithms for the minimum Steiner Tree Problem.

Tang et al. [12] studied the relay node placement problem in large-scale WSNs. They placed the fewest relay nodes in a sensor network playing field so that (1) each sensor node could communicate with at least one relay node and (2) the relay node network was connected. They treated relay node placement in WSNs as a variation of the MGDC problem. They developed two polynomial time approximation algorithms to solve the problem and proved that the ratio of relay nodes required by the approximation algorithm to the relay nodes required by the optimal algorithm is bounded by 8 for the first algorithm and 4.5 for the second. However, both algorithms have very high time complexities.

In [13], the authors proposed algorithms for the relay node placement problem in two-tiered WSNs with base stations, which aim to deploy a minimum number of relay nodes to achieve certain coverage and connectivity requirement. Under the assumption that the communication range of the relay node is the same as sensor nodes, the authors present a -approximation algorithm for the single cover single connectivity problem with time complexity of . In their paper, they also presented a -approximation algorithm for the 2-cover 2-connectivity problem.

The authors in [14] studied the relay node placement problems of WSNs in a set of candidate locations with high energy harvesting potential. They proposed an algorithm that first builds an edge weighted hybrid communication graph (HCG) from the given network and then applies the existing algorithm for the Steiner Tree Problem (STP) to obtain the solution. They obtained a 12.4-approximation algorithm for the general case with a certain number of base stations and 10.85-approximation algorithm for the case without base stations. The complexity of their main algorithm is , where is the number of sensor nodes, is the number of base stations, is the number of the candidate locations, and is the time complexity of the approximation algorithm for STP.

Recent researches in [1517] focused on the relay node placement problems in WSNs with extra constraints. In [15], the authors focused on fault tolerant relay node placement in two-tiered heterogeneous WSN with base stations. They proposed an -approximation algorithm for the relay node placement problem that ensures every sensor node is able to communicate with at least two relay nodes and the induced relay node network is 2-connected. In [16], the authors focused on solving the relay node placement problem with the constraint of minimizing the overall communication cost. They proposed algorithm based on spiral sequence generated for arbitrarily deployed sensor nodes. From their simulation results, the number of deployed relay nodes is very close to the optimal value. In [17], the authors proposed a relay node placement algorithm that the relay nodes are deployed in the center of grids that cover the monitor region and these grids are divided recursively depending on a precalculated threshold value of depth.

In this study, we propose two efficient algorithms for the relay node placement problems with low complexity. Our main result is a linear time -approximation algorithm for the MGDC problem which can be applied directly to the single cover single connectivity relay node placement problem. For the connection requirement of relay nodes, the paper presents a simple method that first finds the connected components of the relay nodes and then, if necessary, places additional relay nodes among the components to make them connected. This simple method can be done in time, where is the number of deployed relay nodes generated by the MGDC algorithm. Note that the sensors in WSNs are usually densely deployed; thus the number of relay nodes is far smaller than that of sensor nodes in the networks.

3. Approximation Algorithms for the MGDC Problems with Hexagon Tessellation

To cover a sufficiently large area of a plane, a unit hexagon tessellation requires fewer polygons than a unit square tessellation. Using square tessellation to solve the MGDC problem has been studied in [8]. As far as we know, no studies on using hexagon tessellation to solve the MGDC problem have been published. This section presents such an approach and proposes an approximation algorithm which uses both the hexagon grid strategy and the shifting strategy.

3.1. Hexagon Grid Strategy

In [8], the authors showed that it is sufficient to cover an arbitrary unit disk in the plane by six grid unit disks in the worst case. This result can be improved if we use unit hexagon instead of unit grid. In this section, we show that it is sufficient to cover any unit disk in the plane by five circumscribed disks of tessellated unit hexagons.

Theorem 1. A circle circumscribing a unit hexagon is called a hexagon disk. Five hexagon disks are sufficient to cover any unit disk on a plane.

Proof. Without loss of generality, assume that the center of unit disk is located in a regular hexagon (e.g., A2 in Figure 2) surrounded by six neighboring regular hexagons. Because a regular hexagon can be divided into six congruent equilateral triangles, different cases were analyzed using one of the triangles (e.g., in Figure 2(a)). The analysis for the remaining triangles is the same.
Let be the center of unit disk . The following cases are discussed according to the location of .
Case 1 ( is located at point (Figure 2(a))). The circumscribed circle of hexagon A2 completely covers unit disk .
Case 2 ( is located in area (or ) (Figure 2(b))). Arc is derived from the unit circle centered at the intersection point of A1, A2, and A4. Arc is derived from the unit circle centered at the intersection point of A2, A3, and A6. Five circumscribed circles of hexagons A1, A2, A4, A5, and A6 (or A2, A3, A4, A5, and A6 if the disk center is in ) completely cover unit disk .
Case 3 ( is located in area (the red region in Figure 2(c))). Four circumscribed circles of hexagons A2, A4, A5, and A6 completely cover unit disk .
Case 4 (the center of unit disk is located at point (or ) (Figure 2(d))). Three circumscribed circles of hexagons A2, A5, and A6 (or A2, A4, and A5) completely cover unit disk .
It is trivial to see that Cases 1 to 4 include the whole area of triangle . Because the most circumscribed circles (i.e., Case 2) required to cover unit disk are five, we conclude that it is sufficient to cover any unit disk on the plane with five hexagon disks.

Similar proof techniques can be applied to the other two regular tessellations (square and triangle). The proofs for the following theorems can be found in the Appendix. Similar to the definition in Theorem 1, a circle circumscribing a unit square is called a square disk and a circle circumscribing a unit triangle is called a triangle disk. Theorem 2 is due to a special case of Theorem 1 in [5].

Theorem 2. Given a square tessellation, six square disks are sufficient to cover any unit disk on a plane.

Theorem 3. Given a triangle tessellation, ten triangle disks are sufficient to cover any unit disk on a plane.

3.2. The shifting Strategy

The shifting strategy is a divide-and-conquer technique used to confine the error by applying it repetitively, choosing the single most favorable solution. Let be a set of given points on the plane enclosed in an area . The goal is to cover these points with a minimum number of disks of prescribed radius .

Suppose we have a local algorithm for the given problem. The shifting algorithm works as follows. We first divide the plane into vertical strips of width . Let the shifting parameter be . Consider the groups of consecutive strips. Each group is itself a thicker strip of width . Let be an algorithm that can deliver a solution within each group. We can find a feasible solution by applying algorithm to each of the groups and then considering the union of all disks used. We then repeat the same strategy after shifting all the groups by the length . Since each group is a strip wide, we can repeat the shift a total of times and then select the feasible solution of minimum cardinality as the final best covering.

Let be the value of the solution delivered by algorithm . denotes an optimal solution set and its size is |OPT|. Let be the performance ratio of the algorithm . is defined as the supremum of the ratio , over all problem instances. The following lemma is proven in [2].

Lemma 4 (the shifting lemma [2]). Consider

We can apply the shifting strategy twice on the plane. We first cut the plane into vertical strips of width . Then, in order to cover the points in each such strip, we apply the shifting strategy in the other dimension. Thus, we cut the considered strip into regions of side length . Let be the local algorithm that delivers a solution in each square region. By applying the shifting lemma twice, we have

3.3. The Proposed Approximation Algorithm

In this subsection, we present a linear time approximation algorithm (Algorithm 1) for the MGDC problem based on the hexagon grid strategy and the shifting strategy. The width of vertical strip is set to and the height of horizontal strip is set to . Figure 3 shows an area divided by the square-like regions with size .

Algorithm Hexagon-I
Input: A set of points, and a two-dimensional region .
Output: A set of disks with radius that covers .
(1) Let the width of the vertical strips be and the height of the horizontal strips be , where , , and
is the shifting parameter (a positive integer).
(2) Min-Cardinality = ; Min-Set =  // Min-Set contains the minimum number
                // of hexagon disks that cover found so far
(3) For to do {
(4)  Set the starting position of vertical strips at
(5)  For to do {
(6)  Set the starting position of horizontal strips at
(7)  Let  // contains the chosen hexagon disks that cover points in
(8)  For each () square-like region in do
(9)  For to do { // 0 is for the case of no points in
(10)  For each combination of hexagon disks in do
(11)   Check whether the hexagon disks cover all the points in
(12)   If yes then add the hexagon disks to and break the -loop
(13)  }
(14)  If < Min-Cardinality then { Min-Set = ; Min-Cardinality =
(15)  }
(16) }
(17) Output Min-Set

Analysis of Algorithm Hexagon-I. The major step of the algorithm is Step 11, which is responsible for checking whether the current hexagon disks can cover all of the points in the square-like region in question. Step 11 can be done in steps by the following substeps.

Step 11(a). Identify the set of points which are located in region .

Step 11(b). Check whether each point in is located in at least one hexagon disk of the hexagon disks by calculating the distances between and the centers of the hexagon disks.

Step 11(a) takes steps to check each point in . Step 11(b) takes steps. Since is bounded by , Step 11(b) also takes steps. Therefore, Step 11 takes steps in total.

Now, let us compute the frequency of execution of Step 11 in the algorithm. In Step 11, all the combinations of the hexagon disks are needed to be examined in the worst case, where is from 0 to . Thus, the total number of examinations is . Let the area of region be . Because the area of each hexagon is , there are square-like regions in . Therefore, Step 11 needs to be performed times in the worst case for a shift. Since there are shifts in the algorithm, the number of examinations in Step 11, in the worst case, is , which is less than . Thus, the complexity of this algorithm is , where . If the area is fixed, is a constant. Since both and are constants, is a constant when the area is fixed. Thus, the algorithm Hexagon-I in Figure 2 is linear, if the area of sensing region is fixed. (Note. If we assume that the region is a bounded area, the input “a 2-dimensional region ” in algorithm Hexagon-I should be removed and make a claim that the region is a 2-dimensional bounded area in the body of the algorithm.)

Theorem 5. There is a linear time approximation algorithm such that, for every given natural number , the algorithm delivers a cover of the given points by disks of prescribed radius in steps with approximation factor ≤ , where is a constant when the area of sensing region is fixed.

Proof. Algorithm 1 is such a linear time algorithm that delivers a cover for the given points in an area. The approximation ratio ≤ is directly from Theorem 1 and the shifting lemma, and is a constant bounded by from the above analysis.

By Theorem 1 and Lemma 4, the performance ratio of Hexagon-I is less than or equal to , where is a natural number. Thus, the performance ratio of Hexagon-I is between and . Therefore, the approximation ratio of algorithm Hexagon-I is , where .

3.4. A Fast Approximation Algorithm

Theorem 1 shows that it is sufficient to cover the unit disk with five hexagon disks in the worst case. Since there are six hexagons surrounding the hexagon which contains the center of unit disk , it needs some computation to decide which hexagon disks can be used to cover the unit disk . However, if we relax the constraint of having the least covering hexagon disks, we can always cover the unit disk with at most seven hexagon disks (i.e., disks A0 to A6). Thus, we have the following corollary.

Corollary 6. It is sufficient to cover any unit disk D with seven hexagon disks which surround disk .

Inspired by the result of Corollary 6, we design a 7-approximation algorithm, as shown in Algorithm 2, for the MGDC problem. In the algorithm Hexagon-II, we simply check every point in to see in which hexagon the point is located and then mark the hexagon. This algorithm is simple yet very efficient. The complexity of this algorithm is , where is the number of points in and represents the area of the tessellated region .

Algorithm Hexagon-II
Input: A set of points, and a two-dimensional region .
Output: A set of disks with radius that covers .
Step  1:
Virtually tessellate the region with hexagons of length . Calculate and store the coordinate of the center and
the corresponding index of each hexagon in the tessellation. (Each index contains two ranks (_rank, _rank)
to -axis and -axis, respectively, as shown in Figure 5.)
Step  2:
For each point with Cartesian coordinate (, ) in do
(1) ; // find the indices of the basic rectangle that contains
If _rank is even
    
else
    
(2) Find the hexagon containing by comparing the distances from to the centers of hexagons with indices
(_rank, _rank), (_rank + 1, _rank), and (_rank + 1, _rank + 1) if _rank is even or (_rank + 1, _rank − 1)
if _rank is odd. Ties are broken in favor of the marked hexagon, otherwise broken arbitrary.
(3) Mark the hexagon chosen in (2).
Step  3:
Output the circumscribed circles of the chosen hexagons.

Before we go into the detail of the 7-approximation algorithm Hexagon-II, let us introduce the technique of locating a point in the hexagonally tessellated plane in constant time.

Index each hexagon with length in the hexagonally tessellated plane as in Figure 4. Suppose we divide the plane by rectangles with width = and length = such that rectangles in even column are stacked from the -axis and rectangles in odd column are stacked from the horizontal line which is above the -axis; we can index each rectangle the same way as we index the hexagons in the tessellated plane.

It is much easier to locate a point in a rectangle than to locate a point in a hexagon directly. Therefore, in order to locate a point in a hexagon of the tessellated plane, we first locate in a basic rectangle. As shown in Figure 4, each basic rectangle contains three regions from three neighboring hexagons. Once we know the point is located in some basic rectangle, we can determine in which hexagon the point is located by comparing the distances from to the centers of the three neighboring hexagons around the basic rectangle. The detail of the algorithm is shown in Algorithm 2 and the analysis of the time complexity is as follows.

Because the number of hexagons in the tessellation relies on the area of the region , Step 1 of the algorithm Hexagon-II requires time to calculate and store the hexagon centers and their indices. Because there are points in and it takes constant time to locate a point in a basic rectangle and check which hexagon the point is in, Step 2 requires time. The complexity of Step 3 also relies on the number of hexagons, which is . Therefore, the overall complexity of the algorithm is , which is . If the area of region is fixed, then the complexity of the algorithm is .

4. Simulation Results of the MGDC Problems and the Applications to the Relay Node Placement Problems

In this section, we first demonstrate how to derive the optimal solution to the MGDC problem using binary integer programming and solve the problem with MATLAB. We then simulate our proposed algorithms (Hexagon-I and Hexagon-II) and compare the results with the optimal solutions. The approximation algorithms of triangle and square tessellation are also simulated for comparison.

4.1. The Optimal Algorithm to the MGDC Problems Using Binary Integer Programming

In [18], Wong et al. use binary integer programming to calculate the optimal gateway placement under the assumption of known node positions and communication range. In the paper, the possible positions to place the gateways are found by identifying competitive regions ( Regions). A region here is defined as the overlapping communication ranges of a set of nodes. Thus if a gateway is placed in this region, it can communicate with these nodes in one hop. Therefore, solving the optimal MGDC problem is reduced to finding the minimum number of chosen Regions that can cover all the nodes.

Suppose that points in are distributed on an square region and the radius of the covering disk is . The optimal solution to the MGDC problem can be calculated using the following binary integer programming canonical form:where is the transpose of a identity vector, in which is the total number of Regions, is an identity vector, is a binary vector, where each entry denotes whether the corresponding Region is chosen as an area to place the covering disk (1 for yes and 0 for no), and is an matrix where an element is set to 1 if the distance between point and the Region is less than or equal to ; otherwise it is set to 0.

MATLAB binary integer programming function bintprog() was used to compute the optimal results.

4.2. Simulation Results

The simulation environment was set up as follows:(1)a square region of ,(2)covering disk radius of 10,(3)uniformly distributed points,(4)number of points ranging from 100 to 500,(5)each case running 50 tests and using the average of their values,(6)using an Acer PC with Intel core-i7 CPU and 4 Gb memory.

Figure 5 shows the simulation results. As expected, the hexagon tessellation performs better than the square and triangle tessellations. More importantly, the numbers of disks generated by algorithms Hexagon-I (with ) and Hexagon-II are on average less than 1.7 and 2 times the optimal solution, respectively, for all the cases from 100 to 500 points. This indicates that the proposed approximation algorithms for the MGDC problem are practical for general use.

The execution times of Hexagon-I (with ) and Hexagon-II are listed in Table 1. As shown in Table 1, the execution time of algorithm Hexagon-II is much faster than algorithm Hexagon-I. This is due to the fact that algorithm Hexagon-II only checks the input points once in the sensing area, whereas algorithm Hexagon-I needs to examine the combinations of hexagons in each square-like region.

4.3. Applications to the Relay Node Placement Problems in WSNs

The proposed approximation algorithms for the MGDC problem can be applied to the relay node placement problems in WSNs. The relay nodes are deployed at the centers of the chosen disks so that each sensor is covered by one relay node. In general, the relay nodes are responsible for aggregating data from their dominating sensors and then forwarding the aggregated data to the base station by multihopping. To fulfill this task, the relay nodes themselves need to be connected. In this study, we assume that the relay nodes are homogeneous and with the same communication range . is normally much larger than the communication range of sensors, and thus we adopt the assumption in [12] that .

To establish the connectivity among relay nodes, we adopt the same approach taken in [19]. We model the relay nodes as a graph , in which the vertex set consists of all the relay nodes and, for any , there is an edge in if is in the communication range of . Table 2 lists the average number of connected components of 50 tests for various numbers of relay nodes deployed according to the solution of our proposed approximation algorithm Hexagon-II to the MGDC problem in a monitored region.

As shown in Table 2, the number of components is equal to 1 while the amount of sensors is greater than 100, which means that the relay nodes are connected already. Since the density of sensor nodes in a WSN is normally high, it is very common that the number of sensors is greater than 100 in a region. In case there is more than one connected component in , we can use the following simple algorithm to add additional relay nodes to the network. The time complexity of the algorithm is , where is the number of relay nodes.

Step 1. Find all the connected components in .

Step 2. Calculate the distances between every two connected components. The distance of two connected components and is defined as the shortest distance between nodes in and nodes in .

Step 3. Denote the super graph formed by the connected components as . Find a minimum spanning tree of .

Step 4. Add relay nodes equidistantly to the edges in whose lengths are greater than , where is equal to . Thus, the resulting graph is connected.

5. Conclusion and Discussions

This study proposes a linear time approximation algorithm for the MGDC problem, which can be used to solve the WSN relay node placement problems. The number of disks generated by the proposed algorithm is not more than times the optimal solution, where . Although the authors in [13] also provided a )-approximation algorithm for the relay node placement problems, in contrast to our linear time algorithm, the time complexity of their algorithm, , is quite large.

For the case where the locations of relay nodes need to be determined promptly, the study provides a fast 7-approximation algorithm for the WSN relay node placement problem having time complexity with very low constant factor, where is the number of points and is the area of the deployed region. If the area of the deployed region is fixed, then the time complexity of the algorithm is also linear.

Simulation showed that the number of disks generated by both of the proposed algorithms was on average less than twice the optimal solution. This allows the proposed algorithms to be practical for general use.

If we model the WSNs as a graph, the relay node placement problem in WSNs can be solved by applying the proposed MGDC approximation algorithms to find the disks that cover all the sensors and then place the relay nodes at the centers of the disks. Since the sensors of WSNs are usually densely deployed, the relay nodes placed by the result of the proposed algorithms are usually connected. In case that the relay nodes generated by the proposed algorithm are not connected, this study provides a simple algorithm that deploys additional relay nodes to comply with the connection requirement of relay nodes in a WSN.

In this study, we solve the relay node placement problem by first solving the MGDC problem and then placing additional relay nodes, if necessary, to preserve the connection requirement of the relay nodes. The other approach to solve the relay node placement problem is to consider the connection requirement of relay nodes while solving the MGDC problem. It is highly likely that this approach can reduce the number of relay nodes needed to cover the sensor nodes. However, it may increase the time complexity of solving the MGDC problem.

Appendix

Theorem A.1. Given a square tessellation, six square disks are sufficient to cover any unit disk on a plane.

Proof. A circle circumscribing a unit square is called a square disk. We show that it is sufficient to cover any unit disk on a plane with 6 square disks.
Without loss of generality, assume that the center of unit disk is located in a regular square A2 in Figure 6. Since a regular square can be divided into 8 congruent right triangles (Figure 6(a)), we analyze different cases using one of the right triangles (e.g., in Figure 6(a)). The analysis of the remaining triangles is the same.
Let be the center of unit disk . The following cases are discussed according to the location of .
Case 1 ( is located at point , where is the center of square A2 (Figure 6(b))). The unit disk can be completely covered by the circumscribed circle of square A2.
Case 2 ( is located in area (the green region in Figure 6(c))). The arc is derived from the unit circle centered at the intersection point of A2, A3, A5, and A6. The unit disk δ can be completely covered by 6 circumscribed circles of squares A1, A2, A3, A4, A5, and A6.
Case 3 ( is located in area (the red region in Figure 6(d))). The unit disk can be completely covered by 4 circumscribed circles of squares A1, A2, A4, and A5.
It is trivial to see that Cases 1 to 3 include the whole area of triangle . Since the most circumscribed circles (i.e., Case 2) required to cover unit disk are 6, we conclude that it is sufficient to cover any unit disk on a plane with 6 square disks. Therefore, suppose the optimal number of unit disks to cover is . Since each unit disk can be covered by at most 6 square disks, not more than squares disks are required to cover . Thus, using the proposed algorithm, the number of output unit disks is not more than 6 times the optimal number of unit disks.

Theorem A.2. Given a triangle tessellation, ten triangle disks are sufficient to cover any unit disk on a plane.

Proof. A circle circumscribing a unit triangle is called a triangle disk. We show that it is sufficient to cover any unit disk on a plane with 10 triangle disks.
Without loss of generality, assume that the center of unit disk is located in the regular triangle A3 in Figure 7(a). Since a regular triangle can be divided into 6 congruent right triangles, we only analyze one of the triangles (e.g., in Figure 7(a)). The analysis of the remaining triangles is the same.
Let be the center of unit disk . The following cases are discussed according to the location of .
Case 1 ( is located at point , which is the center of regular triangle A3 (Figure 7(b))). The unit disk can be completely covered by the circumscribed circle of triangle A3.
Case 2 ( is located in area (the green region in Figure 7(c))). The arc is derived from the unit circle centered at the intersection point of triangles A3, A4, A5, A8, A9, and A10. The unit disk can be completely covered by 10 circumscribed circles of triangles A1 to A10.
Case 3 ( is located in area (the red region in Figure 7(d))). In this case, the unit disk can be completely covered by 6 circumscribed circles of triangles A1, A2, A3, A6, A7, and A8.
It is trivial to see that Cases 1 to 3 include the whole area of triangle . Since the most circumscribed circles (i.e., Case 2) needed to cover unit disk are 10, we conclude that it is sufficient to cover any unit disk on the plane with 10 triangle disks. Therefore, suppose the optimal number of unit disks to cover is . Since each unit disk can be covered by at most 10 triangle disks, not more than triangles disks are required to cover . Thus, with the proposed algorithm, the number of output unit disks is not more than 10 times the optimal number of unit disks.

Disclosure

Po-Ying Chen used to work for Department of Information Engineering, I-Shou University. However, he moved to National Chin-Yi University of Technology in August 2014, during the time in which this paper was under review.

Conflict of Interests

The authors declare no conflict of interests.

Acknowledgments

This work was partially supported by the Ministry of Science and Technology of Taiwan under Contract MOST103-2221-E-214-033. The authors would like to thank all the anonymous reviewers for their precious suggestions and Professor Yukon Chang for the improvement of English writing of this paper.