Network lifetime plays an important role in the design of wireless sensor networks. This paper studies the problem of prolonging the wireless sensor network's lifetime, through introducing additional sensors at proper locations to achieve the goal of minimizing the length of the longest edge in the network. The problem is in fact the bottleneck Steiner tree problem, trying to find a Steiner tree minimizing the length of the longest edges for the given n terminals in the Euclidean plane by introducing at most k Steiner points. A restricted bottleneck Steiner tree problem is studied in this paper, which requires that only degree ≥3 Steiner points are not allowed to be adjacent in the optimal solution. We show that the restricted problem is MAX-SNP hard and cannot be approximated within performance ratio in polynomial time unless P = NP; we first propose a polynomial time -approximation algorithm and then improve the ratio to for any given , by presenting a polynomial time randomized approximation algorithm, which is almost optimal to the restricted problem.
1. Introduction
Wireless sensor networks have been applied in a variety of defense and civil domains. The efficiency and reliability of these applications rely on the availability and performance of radio-frequency sensors. These applications generally involve deployment of sensors to make information communicate through wireless sensor networks [1]. A security and protection system includes many sensors capable of collecting the changes of environment and sending signals to data collection node through the sensor network. Generally, sensors use batteries to provide power, which has a potential danger of consumed power causing sensors to stop working, just because the battery can operate only for a limited time. In the radio-frequency wireless sensor networks, the power required to transfer a signal is related to the distance between the source and destination sensors. In general, shorten distance among nodes means longer network lifetime. Given n sensors to be put on fixed locations and at most k additional sensors can be introduced, this paper tries to construct a Steiner tree interconnecting the given n sensors and up to k additional sensors such that the length of the largest distance between sensors in the tree is minimized. Therefore, the power needed to transfer signals on the longest link is minimized and the network lifetime is thus prolonged.
Above problem can be formulated as the bottleneck Steiner tree problem, which is a variation of the traditional Steiner tree problem. Unlike the traditional Steiner tree problem, asking to find a tree spanning, the required points by introducing some additional such that the length of the tree are minimized [2, 3], the bottleneck Steiner tree minimizes the length of the longest edge in the tree. We call the required points terminals, the additional points Steiner points, and such a tree a Steiner tree.
The traditional Steiner tree problem has been proved to be NP-hard even if the weights of edges are defined as 1 or 2 [3]. Arora proposed a polynomial-time approximation scheme (PTAS) [4] for the traditional Steiner tree problem in the Euclidean plane, which is the best result that can be achieved for NP-hard problems.
Emerging applications in VLSI layout design, wavelength division multiplexing optical network and wireless networks trigger the study of variations of the traditional Steiner tree problem and attract many researchers’ interests and efforts. Algorithms for the two variations, the bottleneck Steiner tree problem [1, 5–8] and the Steiner tree problem with minimum number of Steiner points and bounded edge-length [9, 10], have been studied widely and deeply.
This paper studies the bottleneck Steiner tree problem. We first give a formal definition.
Definition 1.
Given n terminals set and an integer , the bottleneck Steiner tree problem asks a Steiner tree spanning P with at most k Steiner points minimizing the length of the longest edge in the tree.
The bottleneck Steiner tree problem is proved to be MAX-SNP hard in both rectilinear plane and Euclidean plane, in further, it cannot be approximated within ratios 2 and in polynomial time for the two kinds of planes, and a ratio 2 approximation algorithm for the problem in two planes was presented [5]. In 2002, we improve the approximation ratio to 1.866 by proposing a randomized polynomial approximation algorithm [6]. Later, Cardei et al. proved the existence of approximation ratio and provide a corresponding approximation algorithm [1], which is the best ratio so far. But the gap between the approximation ratio and inapproximation result is still big.
Restricted versions of the bottleneck Steiner tree problem are considered and studied. One kind of restriction is to restrict the number of Steiner points. Bae et al. restricted the number of Steiner points to 1 and 2 of the Euclidean bottleneck Steiner tree and gave an algorithm for computing the exact Steiner tree in polynomial time [11]. In fact, the closest string problem studied by Li et al. is a bottleneck Steiner tree problem with in the String space, in [12], the problem is shown to be NP-hard and a polynomial time approximation scheme is presented. As to the kind of restriction of consideration of adjacency of Steiner points, in [7, 8], when requiring that either any two Steiner points are not adjacent or only degree 2 Steiner points are adjacent in the optimal Steiner tree, both of the two versions of Euclidean bottleneck Steiner tree problem cannot be approximated within in polynomial time and the existence of approximation ratio is proved.
In this paper, we further loosen the restriction of adjacency of Steiner points by requiring that only Steiner points of degree at least 3 are not allowed to be adjacent in the optimal Steiner tree in the Euclidean plane. This version is more general than the one studied in [8] and is almost close to the original Euclidean bottleneck Steiner tree problem. For describing convenience, we denote the problem restrict-EuclidBST for short. We will first prove that it is NP-hard and cannot be approximated within ; then, we show the existence of ratio and design a-approximation algorithm in time for later algorithm's call. Consequently, we will show the existence of ratio and devise a randomized approximation algorithm with ratio , for any . The algorithm almost solves the restrict-EuclidBST problem.
Following is the organization of the paper. Section 2 shows the hardness result for the restrict-EuclidBST problem and design a -approximation algorithm in polynomial time. We further improve the performance ratio to by a notion of 3-restricted Steiner tree. Section 4 concludes the whole content.
2. -Approximation Algorithm
In this section, we first give the hardness result for restrict-EuclidBST and then show the existence of a Steiner tree with the length of the longest edge at most the optimum. Similar to the proof in paper [5], by using a polynomial reduction from planar graph vertex cover with vertex degree ≤4 problem to our restrict-EuclidBST problem, together with the NP-hardness of the former problem, we prove that our problem is also NP-hard, in fact, we get a more strong result.
Theorem 2.
Under the assumption that , the restrict-EuclidBST problem cannot be approximated within in polynomial time.
We try to propose a -approximation algorithm for the restrict-EuclidBST problem. We first show the existence of ratio by introducing the notion of full Steiner component of a Steiner tree.
We call a Steiner tree full if each of its terminals is a leaf and all the Steiner points are internal nodes. It is easy to see that a not-full Steiner tree can be decomposed into the union of edge-disjoint full subtrees at the terminals that are not leaves. Each of the decomposed full subtrees may share one or more common terminals with others. It is natural to call these full subtrees full Steiner components, in contrast to full Steiner tree. More formally, a full Steiner component can be defined as below.
Definition 3.
A full Steiner component of a Steiner tree is a subtree with the degree of each terminal being 1 and the degree of each Steiner point being at least 2; that is, all terminals in the subtree are leaves and all the internal nodes are Steiner points.
By the notion of full Steiner component, our first lemma indicates that each full Steiner component of the optimal Steiner tree can be transformed into a “Steinerized” subtree with the degree of each Steiner points is 2 and the length of the longest edges at most the optimum. Then, by unionizing all these subtrees at their sharing common terminals, we get a “Steinerized” spanning tree with the largest edge length at most the optimum and such a tree can be computed in polynomial time easily.
For convenience, supposing that a and b are terminals in the Euclidean plane, we use to denote the segment and to denote the length of segment . Without loss of generality, assume the length of the longest edge in the optimal solution is 1.
Lemma 4.
Given n terminals set P and integer k, suppose T is an optimal bottleneck Steiner tree interconnecting P with at most k Steiner points for the restrict-EuclidBST problem; there exists a steinerized spanning tree with the same number of Steiner points as T and the degree of each Steiner point is 2 such that the length of each edge in is at most .
Proof.
For the restrict-EuclidBST problem, since Steiner points with degree at least 3 are not possible to be adjacent in the optimal bottleneck Steiner tree, according to the notion of full Steiner component introduced above, the optimal bottleneck Steiner tree T can always be decomposed into the union of its edge-disjoint full Steiner components, each of which is either a star-like subtree with a Steiner point of degree at least 3 as center while other Steiner points are all of degree 2 (see Figure 1) or just a line-segment path connecting two terminals with intermediate degree-2 Steiner points (see Figure 2).
For a star-like subtree with at least 3 terminals, we can modify the tree step by step to a tree with the degree of each Steiner point exactly 2 by decreasing the degree of the center Steiner point and make sure that the length of the longest edge in the modified tree is at most .
Suppose v is the center of and its degree is 3 (the case of degree more than 3 can be processed similarly); let a, b, and c be the three terminals around v (see Figure 3); then, , , and form 360°. Thus, at least one of , , and is at most 120°. Without loss of generality, assuming ≤120° and , that is, the length of is no longer than , it is easily seen that
Let x be the number of Steiner points degree-2 (not including v) on segment ; then, we can directly connect a and b and add x equally spaced degree-2 Steiner points to it (which we call “Steinerize” the segment), and the length of each edge in the segment is at most because the length of segment is at most (remember the length of each edge on the path from a to v is at most 1), removing the longer segment results in the decrease of degree of v by 1. Figure 3 illustrates the transformation procedure.
The above procedure transforms the star-like subtree into a Steinerized subtree with the same number of Steiner points as and the length of each edge is at most . As to the line-segment path, no work is need because its edge length is at most 1. Unite all the Steinerized subtrees and the line-segment paths at their sharing common terminals forming a Steinerized spanning tree with same number of Steiner points as the optimal tree T; the degree of each Steiner point is exactly 2 and the length of each edge is at most . This completes the proof.
A star centered at Steiner point v.
A line-segment path with 2 degree-2 Steiner points.
Decrease the degree of v from 3 to 2.
Lemma 4 indicates that the bottleneck Steiner tree can be found among Steinerized spanning trees with k degree-2 Steiner points. By an excellent property of minimum spanning tree as described in Lemma 5, we can compute such a Steinerized spanning tree by step by step adding k degree-2 Steiner points to long edges in a minimum spanning tree for the n given terminals.
Let be the edges in a spanning tree T and let be edges in a minimum spanning tree for the same set P of terminals. Suppose and for all where denotes the length of e. Then, for all .
Before we present our algorithm, we need some notations and explanations to make the algorithm easier to understand. First, for any edge in a spanning tree, if we add Steiner points of degree 2 to Steinerize it, the Steiner points together with the two endpoints a and b must be equally spaced to guarantee each of the edges formed in the path from a to b achieves the minimum possible length; that is ; here is the original length of . Denote ; we call it the Steinerized length of .
is initialized as and is initialized as 0, in the beginning. During the algorithm process, degree-2 Steiner points are added step by step to the edge with largest Steinerized length value at a time. If one more degree 2 Steiner point is added to edge , the Steinerized length of is updated by and the number of Steiner points on increases by 1; that is, .
It is worthy to point out that when we add a degree 2 Steiner point to an edge, we need not to compute the positions of the Steiner points on that edge at each time but only update the Steinerized length and the number of Steiner points of that edge. Computation of Steiner points’ positions can be left to the last step to improve the algorithm's efficiency. The complete ratio- algorithm for Restricted-EuclidBST is as below.
Algorithm (restrict-EuclidBST-ratio-).
Find a minimum spanning tree T for P; let be the edges of T.
Initialize and for .
Find with the largest value and add a Steiner point to it.
Update by and by .
Repeat steps (3) and (4) until k Steiner points are added; that is, .
Organize the Steiner points by evenly partition edge for .
It is easy to check that the time complexity of the above algorithm is . In fact, one can check that the first step can be implemented in time when combining the Prim's algorithm with a Delaunay triangulation [13] for the input n terminals in the Euclidean plane. Obviously, step (2) only uses linear time. Steps (3) and (4) run in linear time and constant time, respectively, and the two steps loops for k times, so steps (3) and (4) run in in total. Step (6) can be implemented in time locating the position of added Steiner points.
Following Lemmas 4 and 5, we get a -approximation algorithm running in time (see Theorem 6).
Theorem 6.
Algorithm restrict-EuclidBST-ratio- outputs a bottleneck Steiner tree with the length of each edge at most the optimum in time for the restricted Euclidean bottleneck Steiner tree problem when only degree ≥3 Steiner points are not allowed to be adjacent in the optimal solution.
3. -Approximation Algorithm
In this section, we try to improve the performance ratio to decrease the gap between current approximation ratio and the inapproximate result indicated by Theorem 2. By introducing a structure called 3-restricted Steiner tree and the notion for spanning tree of a 3-hypergraph, we find the restrict-EuclidBST problem can be approximated within .
Definition 7.
A Steiner tree is called a 3-restricted Steiner tree if each of its full component spans at most 3 terminals.
Similar to Lemma 4, supposing that a and b are terminals in the Euclidean plane, we use to denote the segment and to denote the length of segment . We also assume the length of the longest edge in the optimal bottleneck Steiner tree is 1.
Lemma 8.
Given n terminals set P and integer k, suppose T is an optimal bottleneck Steiner tree interconnecting P with at most k Steiner points for the restrict-EuclidBST problem; there exists a 3-restricted Steiner tree for P with the same number of Steiner points as T such that the length of each edge in is at most .
Proof.
For the restrict-EuclidBST problem, since Steiner points with degree at least 3 are not possible to be adjacent in the optimal bottleneck Steiner tree, according to the notion of full Steiner component introduced above, the optimal bottleneck Steiner tree T can always be decomposed into the union of its edge-disjoint full Steiner components, each of which is either a star-like subtree with a Steiner point of degree at least 3 as center while other Steiner points are all of degree 2 (see Figure 1) or just a line-segment path connecting two terminals with intermediate degree-2 Steiner points (see Figure 2).
For a star-like subtree centered at some Steiner point v with at least 4 terminals, we can modify the tree step by step to a tree with the degree of the center Steiner point v 3 and make sure that the length of each edge in the modified tree is at most .
Suppose v is the center of and its degree is 4 (the case of degree more than 4 can be processed similarly); let a, b, c, and d be the four terminals around v (see Figure 4); then, , , , and form 360°. Thus, at least one of , , , and is at most 90°. Without loss of generality, assuming ≤90° and , that is, the length of is no longer than , it is easily seen that
Let x be the number of Steiner points degree-2 (not including v) on segment ; then, we can directly connect a and b and add x equally spaced degree-2 Steiner points to it, and the length of each edge in the segment is at most because the length of segment is at most (remember the length of each edge on the path from a to v is at most 1), removing the longer segment results in the decrease of degree of v by 1. Figure 4 illustrates the transformation procedure.
The above procedure transforms the star-like subtree into a 3-restricted Steiner subtree with the same number of Steiner points as and the length of each edge is at most . As to the line-segment path, no work is need because its edge length is at most 1. Union all the 3-restricted Steiner subtrees and line-segment paths at their sharing common terminals forming a 3-restricted Steiner tree with same number of Steiner points as the optimal tree T and the length of each edge in is at most . This completes the proof.
Decrease the degree of v from 4 to 3.
By introducing the notion of 3-hypergraph, we reduce our computation of an optimal 3-restricted Steiner tree into the computation of a minimum spanning tree in a weighted 3-hypergraph. The notion of 3-hypergraph, weighted 3-hypergraph, and spanning tree of a 3-hypergraph can be found in [6]. The following theorem indicates that there is a polynomial time randomized algorithm for computing the minimum spanning tree in a weighted 3-hypergraph [14].
Lemma 9.
There exists a randomized algorithm for the minimum spanning tree problem for weighted 3-hypergraphs, with probability at least 0.5, running in time, where n is the number of nodes in the hypergraph and is the largest weight of edges in the hypergraph.
To introduce our algorithm we must first construct a weighted 3-hypergraph; the weight of an edge of the hypergraph is defined as the number of Steiner points; consequently, a bound B should be given to determine the number of Steiner points, where B is the length of the longest edges in an optimal solution. Apparently, it is not easy to find the exact value of B efficiently since restrict-EuclidBST problem is NP-hard. However, we can guess the length by enumerating all possibilities. The following procedure finds a value that is at most for any .
Run Algorithm restrict-EuclidBST-ratio- to get an upper bound X of B.
Try as , where ε is a positive number.
Thus, we can adopt as the estimate length of the longest edge in an optimal bottleneck Steiner tree. It is ready for us to construct weighted 3-hypergraph from the terminal set P. The process of construction of a 3-hypergraph is described as follows.
3-Hypergraph.
Vertex set .
Edge set .
The weight for an edge is the smallest number of Steiner points added to f such that the lengths of the resulting edges are at most . If an edge length is at most , then its weight is 0; generally, .
The weight for an edge is the smallest number of Steiner points used to connect a, b, and c possibly via a degree 3 Steiner point v such that the length of each edge thus obtained is at most (see below for details).
Computing the Weight for. Without loss of generality, suppose ; then, is an upper bound of the weight of f; here, k is the given number of Steiner points. Let , , and be the number of Steiner points degree-2 in the segments , , and such that is minimized. We can enumerate all the possibilities to guess the values of , , and to find . Obviously, this can be done in time since k is the upper bound for , , and . For each possibility of , , and , we only have to test if the three circles centered at a, b, and c with radii , , and share a common point. This can be done in time.
Testing whether three circles share a common a point can be done in time.
It is easy to see that the construction of a 3-hypergraph can be finished in time with given bound because the number of edges of the hypergraph is in and the weight of an edge can be computed in time. The algorithm in [14] can be introduced to compute a minimum spanning for the constructed hypergraph. Our -approximation algorithm can be described as below (Ratio- Algorithm for Restrict-EuclidBST Problem).
Algorithm (restrict-EuclidBST-ratio-).
Call restrict-EuclidBST-ratio- to get the upper bound for optimal length X.
Try each of , , .
Construct the weighted 3-hypergraph according to .
Call the polynomial randomized algorithm in [14] to compute a minimum spanning tree for .
if, then exit the loop.
Replace every edge f of the minimum spanning tree with a Steiner subtree.
If , replace f with a line-segment path connecting a and b by adding equal spaced Steiner points.
If , replace f with a star-like subtree centered at a common point v of circles centered at a, b, and c with radii , , and , adding , , and intermediate Steiner points with an even partition to segment , , and , respectively, where , , and are determined in the process of construction of hypergraph .
Output the resulting 3-restricted Steiner tree.
Lemmas 8 and 9 indicate the existence of a randomized approximation algorithm for the restrict Euclidean bottleneck Steiner tree problem. Combined with algorithm restrict-EuclidBST-ratio-, we have the following Theorem.
Theorem 11.
Algorithm restrict-EuclidBST-ratio- outputs a bottleneck Steiner tree with the length of each edge at most (for any ) the optimum with probability at least 0.5 in time , for the restricted Euclidean bottleneck Steiner tree problem when only degree ≥3 Steiner points are not allowed to be adjacent in the optimal solution.
4. Conclusion
We studied a restricted bottleneck Steiner tree problem in the Euclidean plane which require only degree ≥ 3 Steiner points are not allowed to in the optimal bottleneck Steiner tree. The problem studied in this paper is much close to the general problem. We first show that the restricted problem is MAX-SNP hard and cannot be approximated within ratio in polynomial time unless . Then, with the notion of full Steiner component, we transformed the computation of a bottleneck Steiner tree problem into a Steinerized spanning problem, which is polynomial time -approximation algorithm and then improve the ratio to for any given , by presenting a polynomial time randomized approximation algorithm, which is almost optimal to the restricted problem.
Our algorithm can be used to improve the lifetime of wireless sensor networks by minimizing the length of the longest distance between sensors in the network.
Footnotes
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgment
This work was fully supported by the National Natural Science Foundation of China (Projects 61103248 and 61379059).
References
1.
CardeiI.CardeiM.WangL.XuB.DuD.-Z.Optimal relay location for resource-limited energy-efficient wireless communicationJournal of Global Optimization200636339139910.1007/s10898-006-9017-0MR22631742-s2.0-33748307498
2.
GareyM. R.GrahamR. L.JohnsonD. S.The complexity of computing Steiner minimal treesSIAM Journal on Applied Mathematics197732483585910.1137/0132072MR0443427
3.
BernM.PlassmannP.The steiner problem with edge lengths 1 and 2Information Processing Letters198932417117610.1016/0020-0190(89)90039-2MR10158262-s2.0-0024735782
4.
AroraS.Polynomial time approximation scheme for euclidean TSP and other geometric problemsProceedings of the 37th Annual Symposium on Foundations of Computer ScienceOctober 1996Burlington, Vt, USA211
5.
WangL.DuD.-Z.Approximations for a bottleneck Steiner tree problemAlgorithmica200232455456110.1007/s00453-001-0089-4MR1875568
6.
WangL.LiZ.An approximation algorithm for a bottleneck k-Steiner tree problem in the Euclidean planeInformation Processing Letters200281315115610.1016/s0020-0190(01)00209-5MR18679652-s2.0-0037074664
7.
LiZ.-M.ZhuD.-M.MaS.-H.Approximation algorithm for bottleneck Steiner tree problem in the Euclidean planeJournal of Computer Science and Technology2004196791794MR210344010.1007/BF029734412-s2.0-12744281053
8.
LiZ.XiaoW.Nearly optimal solution for restricted euclidean bottleneck Steiner tree problemJournal of Networks2014941000100410.4304/jnw.9.4.1000-10042-s2.0-84897375474
9.
SarrafzadehM.WongC. K.Bottleneck Steiner trees in the planeIEEE Transactions on Computers199241337037410.1109/12.127452MR11604382-s2.0-0026825918
10.
LinG.-H.XueG.Steiner tree problem with minimum number of Steiner points and bounded edge-lengthInformation Processing Letters1999692535710.1016/s0020-0190(98)00201-4MR16711752-s2.0-0032755118
11.
BaeS.LeeC.ChoiS.On exact solutions to the euclidean bottleneck steiner tree problemWALCOM: Algorithms and Computation: Third International Workshop, WALCOM 2009, Kolkata, India, February 18–20, 2009. Proceedings20095431Berlin, GermanySpringer105116Lecture Notes in Computer Science10.1007/978-3-642-00202-1_10
12.
LiM.MaB.WangL.On the closest string and substring problemsJournal of the ACM200249215717110.1145/506147.506150MR21478212-s2.0-0141653290
13.
DelaunayB.Sur la sphère vide. A la mémoire de Georges VoronoiBulletin de l'Académie des Sciences de l'URSS. Classe des sciences mathématiques et na19346793800
14.
PrömelH. J.StegerA.A new approximation algorithm for the Steiner tree problem with performance ratio Journal of Algorithms20003618910110.1006/jagm.2000.1086MR17689922-s2.0-0001806503