Snap and Spread: a self-deployment algorithm for ... - Sapienza

7 downloads 17 Views 468KB Size Report
We propose an original algorithm for autonomous deployment of mobile sen- sors called SNAP & SPREAD. Decisions regarding the behavior of each sensor.
University of Rome “Sapienza”, Computer Science Department, Technical Report Nr 9/2008

Snap and Spread: a self-deployment algorithm for mobile sensor networks (extended version) N. Bartolini, T. Calamoneri, E. Fusco, A. Massini, S. Silvestri Department of Computer Science University of Rome ”Sapienza”, Italy E-mail: {bartolini, calamo, fusco, massini, simone.silvestri}@di.uniroma1.it

Abstract. The use of mobile sensors is motivated by the necessity to monitor critical areas where sensor deployment cannot be performed manually. In these working scenarios, sensors must adapt their initial position to reach a final deployment which meets some given performance objectives such as coverage extension and uniformity, total moving distance, number of message exchanges and convergence rate. We propose an original algorithm for autonomous deployment of mobile sensors called S NAP & S PREAD. Decisions regarding the behavior of each sensor are based on locally available information and do not require any prior knowledge of the operating conditions nor any manual tuning of key parameters. We conduct extensive simulations to evaluate the performance of our algorithm. This experimental study shows that, unlike previous solutions, our algorithm reaches a final stable deployment, uniformly covering even irregular target areas. Simulations also give insights on the choice of some algorithm variants that may be used under some different operative settings.

1 Introduction

The research in the field of mobile wireless sensor networks is motivated by the need of surveillance and monitoring in critical situations such as wild fires, disaster areas, toxic regions or battlefields where static sensor deployment cannot be performed manually. In these typical working scenarios, sensors may be air-dropped from an aircraft or sent from a safe location. In such situations the initial deployment is obviously far from having the desirable features of full coverage and uniform distribution over the area of interest (AOI), whereas a uniform and regular deployment is necessary to enhance the coverage, extend the network lifetime and improve the routing performance. Mobile sensors can dynamically adjust their position to improve coverage with respect to their initial deployment, thus leading to a better coverage and more uniform placement. Centralized solutions are inefficient because they require either a prior assignment of sensors to positions or a starting topology that ensures the connectivity of all sensors (for global coordination purposes). On the one hand, a prior assignment is inapplicable because it requires an excessive amount of movements to deploy sensors independently of their initial position. On the other hand, connectivity cannot be guaranteed in any starting scenario. Therefore, feasible and scalable solutions should employ a distributed scheme according to which sensors make local decisions to meet global objectives. Due to the limited power availability at each sensor, energy consumption is a primary issue that must be taken into account in the design of any self-deployment scheme for mobile sensors. Since sensor movements and, to a minor extent, message exchanges, are energy consuming activities, a deployment algorithm should minimize movements and message exchanges during deployment, while pursuing a satisfactory coverage. The main contribution of this paper is the original algorithm for mobile sensor self-deployment, S NAP & S PREAD. The proposed algorithm quickly converges to a complete, uniform and regular coverage of the AOI, independently of its shape and of the initial sensor deployment. It ensures low energy consumption and stability. It also makes the sensors traverse small distances, avoiding useless movements. Furthermore, it improves previous approaches producing, when possible, a redundant coverage. A redundant sensor placement has several benefits as it allows better target sensing, stronger environmental monitoring features, and fault tolerance capability. Additionally, a redundant coverage of the AOI allows to prolong the network life-time, for example switching-off some sensors without any loss of coverage. Our algorithm has some basic self-* properties of autonomic computing, in particular self-configuration and self-adaptation. Decisions regarding the behavior of each sensor are based on locally available information and do not require any prior knowledge of the operative scenario nor any manual tuning of key parameters. The implementation of our algorithm requires the definition of a protocol for the coordination of actions among locally communicating sensors. This protocol is designed to minimize energy consumption entailing a small number of message exchanges, which is possible because the algorithm decisions are only based on a small amount of local information.

2 The S NAP & S PREAD algorithm In order to make the exposition clearer, we divide this section into three parts. In the first one we outline the algorithm, in the second one we detail it and, finally, in the third one we propose some possible variants. 2.1 The idea We propose a distributed algorithm providing that each sensor pursues two main objectives: completeness and uniformity of the coverage. To this purpose, sensors aim at tiling the AOI with hexagons that are inscribed in the sensing area , so guaranteeing a complete coverage. Notice that the hexagonal tiling corresponds to a triangular lattice arrangement, that is the one that guarantees optimal coverage as discussed in [1]. Hence some sensors snap to the centers of a hexagonal tiling and spread the others to uniformly cover the AOI. These snap and spread actions are performed in an interleaved manner so that the final deployment consists in having at least one sensor at the center of each tile. A sensor, sinit , is assigned the role of starter of the tiling procedure. It defines a hexagonal tiling electing its position as the center of the first hexagon. The same sinit starts the snap activity selecting at most six sensors among those located within its transmission radius RTX and make them snap to the center of adjacent hexagons. Such deployed sensors, in their turn, give start to an analogous selection and snap activity thus expanding the boundary of the current tiling. This process goes on until no other snaps are possible, either because the whole AOI is covered, or because all sensors located at boundary tiles do not have any un-snapped sensor to make it snap. While the snap activity extends the hexagonal tiling, an interleaved spread activity pushes un-snapped redundant sensors toward low density areas. Namely, a snapped sensor transfers redundant sensors lying inside its hexagon to lower density tiles. The combination of these two activities expands the tiling and, at the same time, does its best to uniformly distribute redundant sensors over the tiled area. Figure 1 shows an example of the algorithm execution. Figure (a) depicts the starting configuration, with nine randomly placed sensors and (b) highlights sinit starting the hexagonal tiling. In figures from (c) to (h) the starter sensor sinit selects six sensors to be snapped in adjacent hexagons, according to the minimum distance criterion. Figure (i) shows the configuration after the snap action of sinit . In (j), while sinit starts the spread action sending its slave to a lower density hexagon, at the same time a deployed sensor starts a new snap action. In (k) the deployed sensor snaps the slave just received from the starter, reaching the final configuration (l). 2.2 Details of S NAP & S PREAD algorithm The deployed sensors coordinate their movements to form a hexagonal tiling, that corresponds to a triangular lattice arrangement with side Rs , where Rs is the sensing radius. This deployment √ guarantees optimal coverage (as discussed in [1]) and connectivity when Rs ≤ 3RTX .,

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

(j)

(k)

(l)

Fig. 1. Snap and spread actions: an example.

In order to describe the algorithm, we give some definitions. Let V be a set of equally equipped sensors. At the beginning, sinit is prearranged as starter of the snap activity from its initial location. For fault tolerance purposes, other sensors may act as starters as well with a certain probability (inversely proportional to the number of sensors). A sensor being positioned in the center of a hexagon is referred to as a snapped sensor. Given a sensor x snapped to the center of a hexagon, we call slaves of x all the other sensors lying in its hexagon. We denote the set of the slaves of x by S(x) and the hexagonal area whose center is covered by x by Hex(x). All sensors that are neither snapped nor slaves are called free. In order to propagate the tiling, a snapped sensor x performs a neighbor discovery, determines whether some adjacent snapping positions are still to be covered and acts as leader of the corresponding snap actions. The neighbor discovery allows x to gather information regarding S(x) and all the free and snapped sensors located in radio proximity from x. We define LAP (x), Leader Available Pool of x, the set composed by the free sensors located in radio proximity to the leader x and by its slaves S(x). To give start to new snap actions, x selects the sensor in LAP (x) which is the closest to each uncovered position. A snapped sensor leads the snapping of as many adjacent hexagons as possible. The snap activity of x ends when (i) some hexagons are left uncovered because no more

sensors in LAP (x) are available or (ii) all the hexagons adjacent to Hex(x) have been covered. In case (i) the leader waits until a new sensor arrives into its hexagon. In case (ii) the leader stops leading any further snapping dedicating itself only to spreading redundant sensors. Now we describe the spread activity of a snapped sensor. Given two snapped sensors x and y located in radio proximity from each other, x may offer one of its slaves to y and push it inside the hexagon of y, if |S(x)| ≥ |S(y)| + 1. Notice that, in case |S(x)| = |S(y)| + 1 slaves may indefinitely go along cycles. In order to avoid such endless cycling of slaves, we introduce an order function ord : V → N which reflects the snap sequence. In particular ord(sinit ) = 0, and if ord(x) = i each sensor y snapped by x will have ord(y) = i + 1. Obviously, the function ord(·) is upper-bounded by the number of available sensors |V |. We formalize these observations be defining the following Moving Condition, that enables the movement of a sensor from Hex(x) to Hex(y): {|S(x)| > |S(y)| + 1} ∨ {|S(x)| = |S(y)| + 1 ∧ ord(x) < ord(y)}

(1)

Among its slaves, x selects the sensor to push according to the criterion of minimum traversed distance. The selected sensor moves to the hexagon of a snapped sensor y selected as the one with the lowest number of slaves, among those in radio connectivity with x (on the basis of the information that x gathers during the neighbor discovery phase). If more than one hexagon contains the minimum number of sensors, the closest to x is preferred. If a snapped sensor receives a neighbor discovery request while involved in a spread activity, it replies as if the ongoing movements were already concluded. Indeed a snapped sensor communicating its own number of slaves without keeping into account the ongoing movements may cause inconsistencies (for example either too many sensors may move to the same hexagon or the same sensor may be offered to several snapped sensors). The snapped sensors involved in a spread action always advertise their neighborhood of the changed number of slaves. Theorem 1. Algorithm S NAP & S PREAD terminates in a finite time. Proof. See Appendix A. In order to implement S NAP & S PREAD, we define a communication protocol that provides the rules to solve contentions that may happen in several cases. For example, two or more snapped sensors can decide to issue a snap command to more than one sensor towards the same hexagon tile or a low density hexagon can be selected by several snapped sensors as candidate for receiving redundant slaves. These contentions are solved by properly scheduling actions according to message time-stamps and by advertising related decisions as soon as they are made. Due to space limitations we do not give any further detail on the protocol underlying S NAP & S PREAD. 2.3 Algorithm variants Since some performance objectives such as average traversed distance, network life length, covered area, may be in contrast with each other, we introduce some algorithm variants that specifically prioritize one objective over the others.

Sensor role exchange oriented to coverage endurance. According to the basic version of S NAP & S PREAD, slaves consume more energy than snapped sensors, because they are involved in a larger number of message exchanges and movements. We introduce an algorithm variant to balance the energy consumption over the set of available sensors making them exchange their roles. We name with the acronym BV the basic version of the algorithm, that does not provide any role exchange. Any time a slave has to make a movement across a hexagon as a consequence of a spread action, it evaluates the opportunity to substitute itself with the snapped sensors of the hexagon it is traversing. This role exchange has a cost for both the slave and the snapped sensor involved in the substitution. Indeed the slave sensor has to reach the center of the current hexagon and perform a profile packet exchange with the snapped sensor that has to move towards the destination of the slave. A profile packet contains the key information needed by a sensor to perform its new role after a substitution. The criterion at the basis of this variant, called Uniform Energy Consumption (UEC), provides that two sensors exchange their role whenever the energy imbalance is reduced.

Spread destination selection oriented to movement limitation. The basic version (BV) of algorithm S NAP & S PREAD allows any slave movements that satisfy only the Moving Condition. This can lead to unnecessary movements of redundant sensors, e.g. when many sensors are located close to the boundary of the AOI, they may move back and forth before reaching their definitive location. In order to reduce this phenomenon, we restrict the number of allowed movements, according to two possible criteria. The first one is based on a rough evaluation of a density threshold Td . This is an integer value greater than the optimal density, that is the number of sensors that would be allocated in each hexagon according to the most uniform coverage calculated off-line. This variant (Density Threshold, DT) provides that a slave movement from Hex(x) to Hex(y) is allowed if, besides the Moving Condition, the constraint |S(y)| < Td is satisfied, that is the number of sensors located in Hex(y) is below the density threshold. This variant avoids unnecessary movements of sensors to overcrowded hexagons that certainly exceed the optimal density. Notice that when Td < 1, this variant can not be applied as it could limit the flow of redundant sensors to the AOI boundaries, thus impeding the coverage completion. The second variant (Two Thresholds, 2T) is based on an on-line evaluation of two density thresholds Tlow and Thigh . Once established the orientation of the hexagonal tiling, sinit calculates the exact number of sensors n∗ that would be located into each hexagon in the case of uniform coverage (n∗ is the ratio between the number of available sensors and the number of hexagons necessary to tile the AOI). This value is communicated in correspondence to every snap action. Slave movements from Hex(x) to Hex(y), satisfying the Moving Condition, will be forbidden if (|S(x)| = Thigh ) ∧ (|S(y)| = Tlow ) where Tlow = ⌊n∗ ⌋ and Thigh = ⌈n∗ ⌉. This variant avoids unnecessary movements of sensors among hexagons that are already covered by the best possible number of sensors, which is either Thigh or Tlow . Notice that when Tlow = 1 this variant cannot be applied because it may impede the coverage completion.

3 Simulation results In order to make performance comparisons among the different policies, we developed a simulator on the basis of the wireless module of √ the OPNET modeler software [2]. In the following experiments we set RTX = 2 3RS with Rs = 5 mt. This setting guarantees that each snapped sensor is able to communicate with the snapped sensors located two hexagons apart. This choice allows us to show the benefits of the substitution mechanism (UEC variant) whereas it does not imply significant changes in the qualitative analysis with respect to other settings. In all the experiments of this section we assume that the sensor speed is 1 mt/sec. The following figures 2 e 3 show how S NAP & S PREAD performs when starting with an initial configuration where 150 sensors are sent from a high density region. In figure 2 the AOI is a square 80 mt × 80 mt while in figure 3 the AOI has a more complex shape in which a narrows connects two regions 40 mt × 40 mt. As we will argue in section 4, previous approaches fail when applied to irregular AOIs such as the one considered in figure 3. For example, the Voronoi approach [3] does not contemplate the presence of concavity in the AOI, while the approaches based on virtual forces are not able to push sensors through narrows [4].

(a)

(b)

(c)

(d)

Fig. 2. Sensor deployment on a square, starting from a dense configuration

(a)

(b)

(c)

(d)

Fig. 3. Sensor deployment on an irregular AOI, starting from a dense configuration

Figure 4 shows instead how S NAP & S PREAD covers a square 80 mt × 80 mt starting from a random initial deployment of 150 sensors. Either starting from a high density distribution or from a random one, the algorithm S NAP & S PREAD completely covers the AOI. Of course, the coverage is much faster and consumes less energy when starting from a random configuration.

(a)

(b)

(c)

(d)

Fig. 4. Sensor deployment on a square, starting from a uniform configuration

In the following figures we show some performance comparisons among the basic version of S NAP & S PREAD and the two variants DT and UEC introduced in section 2.3. We use the scenario in figure 2.a, that is a square AOI 80 mt × 80 mt with a high density initial sensor configuration. We do not show any result concerning 2T due to space limitations. Notice that in all the figures, in the case of variant DT the line starts when the number of sensor is 150. This is because this variant has been designed to work when the number of sensors is sufficient to entirely cover the AOI, i.e. when the threshold Td is strictly larger than 1. Figure 5 shows the time to converge to a final deployment when varying the number of available sensors. When the number of available sensors is lower than strictly necessary to cover the area even with optimal distribution, the time to converge to the final solution increases with the number of sensors because more sensors means a wider covered area. Once the number of sensors is high enough to cover the area, redundant sensors are helpful to complete the coverage faster. This explains the maximum in the curve when the number of sensors is around 150. Notice that the convergence time of UEC is larger than the other ones because it is comprehensive of the necessary time to perform substitutions. Instead, the convergence time of DT is slightly larger than the one of BV because the additional constraints to the spread activity of DT slow down the whole process. Figure 6 shows the percentage of covered area with the three version of the algorithm, when varying the number of sensors. Note that incomplete coverages are due to a low number of sensors available and not to a wrong behavior of the algorithm. Since both mechanical movements and electronic communications consume energy, of which mechanical motion is the predominant one, we use the average traversed distance as a metric to highlight the energy consumption of the different algorithm variants. Figure 7 shows that variant DT is highly effective in reducing the energy consumed for unnecessary movements. Figure 8 complements the previous one by showing the effects of the two variants in terms of standard deviation of the traversed distance with respect to the average value. Variant UEC significantly reduces the standard deviation with respect to the other variants. Indeed this variant was designed with the purpose to equally balance the load over all the available sensors and this obviously leads to a lower deviation. This result is important if a primary objective is coverage endurance. The peak in the standard deviation obtained using the basic version of S NAP & S PREAD is due to the snap actions which govern the energy consumption when the sensors are less than 150. In case no substitutions are allowed (as in BV) the snap actions induce an initially high standard

400 100

300

80

250

Coverage

Convergence time (sec)

350

200 150

60 40

100 20

BV UEC DT

50 0 0

50

BV UEC DT

0

100 150 200 250 300 350 400

0

50

Number of sensors

Avg moving distance (mt)

100

BV UEC DT

80 60 40 20 0

Fig. 6. Percentage of AOI coverage of the final deployment

60 Std. dev. moving distance (mt)

Fig. 5. Time to converge to the final stable deployment

100 150 200 250 300 350 400 Number of sensors

BV UEC DT

50 40 30 20 10 0

0

50

100 150 200 250 300 350 400 Number of sensors

Fig. 7. Average traversed distance

0

50

100 150 200 250 300 350 400 Number of sensors

Fig. 8. Std deviation of the traversed distance

deviation of the traversed distance. Indeed sensors located close to the starter consume less energy than those that have to reach the farthest boundaries of the AOI. As we noticed before, the use of variant DT reduces unnecessary movements and consequently the average energy spent by each sensor. This results in a lower deviation as well.

4 Related Work There is an impressively growing interest in self-managing systems, starting from several industrial initiatives from IBM [5], Hewlett Packard [6] and Microsoft [7]. Various approaches have been proposed to self-deploy mobile sensors although few of them can be actually considered autonomic. The virtual force approach (VFA) [8–10] models the interactions among sensors as a combination of attractive and repulsive forces. This approach requires the definition of thresholds to determine the magnitude of the force one sensor exerts on another. As shown in [10], the VFA presents oscillatory sensor behavior. This problem is addressed by defining further arbitrary thresholds as stopping conditions. The tuning of such thresholds is laborious and relies on an off-line configuration. Also, it influences the resulting deployment, the overall energy consumption and the convergence rate. Moreover, this approach does not guarantee the coverage in presence of narrows. A variation of the VFA is presented in [11] where the introduction of two virtual forces guarantees better uniformity by providing at least K neighbors to each sensor. Other approaches are inspired by the physics as well, such as [12] and [13]. In [12] the sensors are modelled as particles of a compressible fluid and regulates their movement mimicking a diffusive behavior. In [13] two approaches that make use of gas theory to model sensor movements in presence of obstacles are proposed. However the last three approaches still suffer from oscillatory sensor behavior. The Voronoi approach is detailed in [3]. According to this proposal, each sensor iteratively calculates its own Voronoi polygon, determines the existence of coverage holes and moves to a better position if necessary. In this approach the relation between the transmission and the sensing range influences the obtained performances either moving sensors toward already covered positions or reducing the resulting covered area. Furthermore, this approach is not designed to improve the uniformity of an already complete coverage. According to [14] each sensor calculates a movement vector which takes into account the location of neighbor sensors to reach a final position that is as close as possible to the points of a hexagonal grid. This approach suffers from similar limitations to the VFA. Indeed it does not guarantee oscillation avoidance if not setting proper threshold parameters. In [15] the authors introduce the general concept of logical movements. Instead of moving iteratively, sensors calculate their target locations based on a distributed iterative algorithm, move logically, and exchange new logical locations with their new logical neighbors. Actual movement only occurs when sensors determine their final locations, thus sparing energy by avoiding zig-zag motions at the expense of some more

messaging activity. This use of virtual movement, also present in [3], will be integrated to our proposal as a future development.

5 Conclusions We proposed an original algorithm for mobile sensor self-deployment. Our algorithm outperforms previously proposed approaches in its ability to cover target areas of irregular shape. It leads to a final static coverage with guaranteed uniformity. According to the proposed algorithm, sensors located in radio proximity from each other, coordinate their movement in order to reduce the global energy consumption and its variance. Some improvements are being considered as future extension of this work, such as mechanisms to improve uniformity guarantees, obstacle detection and avoidance.

References 1. P. Brass, “Bounds on coverage and target detection capabilities for models of networks of mobile sensors,” ACM Transactions on Sensor Networks, vol. 3, 2007. 2. “Opnet technologies inc.” http://www.opnet.com. 3. G. Wang, G. Cao, and T. L. Porta, “Movement-assisted sensor deployment,” IEEE Transaction on Mobile Computing, vol. 6, 2006. 4. A. Howard, M. J. Mataric, and G. S. Sukhatme, “Mobile sensor network deployment using potential fields: A distributed, scalabel solution to the area coverage problem,” Proceedings of the International Symposium on Distributed Autonomous Robotics Systems, DARS, 2002. 5. “Ibm: the vision of autonomic computing,” http://www.research.ibm.com/autonomic/manifesto. 6. “Hewlett packard: Adaptive enterprise design principles,” http://h71028.www7.hp.com/enterprise/cache/80425-0-0-0-121.html. 7. “Microsoft: The drive to self-managing dynamic systems,” http://www.microsoft.com/windowsserversystem/dsi/default.mspx. 8. Y. Zou and K. Chakrabarty, “Sensor deployment and target localization based on virtual forces,” Proc. IEEE INFOCOM ’03, 2003. 9. N. Heo and P. Varshney, “Energy-efficient deployment of intelligent mobile sensor networks,” IEEE Transactions on Systems, Man and Cybernetics, vol. 35, 2005. 10. J. Chen, S. Li, and Y. Sun, “Novel deployment schemes for mobile sensor networks,” Sensors, vol. 7, 2007. 11. S. Poduri and G. S. Sukhatme, “Constrained coverage for mobile sensor networks,” Proc. of IEEE Int’l Conf. on Robotics and Automation (ICRA ’04), 2004. 12. M. R. Pac, A. M. Erkmen, and I. Erkmen, “Scalable self-deployment of mobile sensor networks; a fluid dynamics approach,” Proc. of IEEE/RSJ Int’l Conf. on Intelligent Robots and Systems (IROS ’06), 2006. 13. W. Kerr, D. Spears, W. Spears, and D. Thayer, “Two formal fluid models for multi-agent sweeping and obstacle avoidance,” Proc. of AAMAS, 2004. 14. M. Ma and Y. Yang, “Adaptive triangular deployment algorithm for unattended mobile sensor networks,” IEEE Transactions on Computers, vol. 56, 2007. 15. G. Wang, G. Cao, and T. L. Porta, “Proxy-based sensor deployment for mobile sensor networks,” IEEE International Conference on Mobile Ad-hoc and Sensor Systems (MASS), 2004.

Appendix A Let us introduce some notation. Let L = {ℓ1 , ℓ2 , . . . , ℓ|L|} be the set of snapped sensors. Definition 1 (Network State). A network state is a vector s whose i-th component represents the number of sensors deployed inside the hexagon Hex(i) governed by the snapped sensor i. Therefore s =< s1 , s2 , . . . , s|L| > where si = |S(i)| + 1, ∀i = 1, . . . , |L|. Definition 2 (Stable State). A network state s =< s1 , . . . , s|L| > is stable, if the Moving Condition (1) is false for each couple of snapped sensors in L. Theorem 1. Algorithm S NAP & S PREAD terminates in a finite time. Proof. As long as new sensors are being snapped the covered area keeps on growing. This process eventually ends either because the AOI has been completely covered or because the sensors have reached a configuration that does not allow any further expansion of the tiling. In order to prove the theorem, it suffices to prove that if no further sensor is snapped, the algorithm reaches a stable configuration in a finite time. Let us consider the set of snapped sensors L as fixed. The order function related to each snapped sensor, ord(ℓi ), is fixed during the unfolding of the algorithm.  P P|L| |L| 2 Let f : N|L| → N2 defined as follows: f (s) = i=1 si , − i=1 si ord(ℓi ) .

We say that f (s) ≻ f (s′ ) if f (s) and f (s′ ) are in lexicographic order. We can state that function f is lower bounded by the following pair P|L| (|L|, −|V | i=1 ord(ℓi )), in fact 1 ≤ si ≤ |V |. Therefore if we prove that at every state change, the value of f decreases, we also prove that no infinite sequence of state changes is possible. To this purpose, let us show that every state change from s to s′ causes f (s) ≻ f (s′ ). Let us consider a generic state change which involves the snapped sensors x and y, with x sending a slave sensor to Hex(y). We have that si = s′i ∀i 6= x, y, and s′x = sx − 1 and s′y = sy + 1. As the transfer of the slave has been done according to the Moving Condition (1), two cases are possible: either sx > sy + 1, or (sx = sy + 1) ∧ (ord(x) < ord(y)). P P|L| 2 ′2 In the first case, sx > sy + 1 trivially implies that |L| i=1 s i < i=1 si . In the second case, from sx = sy + 1 and ord(x) < ord(y), easy calculations imply that P|L| ′ 2 P|L| P|L| P|L| 2 ′ i=1 s i and − i=1 ord(ℓi )si > − i=1 ord(ℓi )s i . Therefore in both i=1 si = cases f (s) ≻ f (s′ ). Therefore the function f is lower bounded and always decreasing of discrete quantities (integer values) at any state change. So the sensor network deployment will reach a stable state in a finite number of steps, thus proving the theorem.