Node Self-Deployment Algorithm Based on an Uneven Cluster with Radius Adjusting for Underwater Sensor Networks

Existing move-restricted node self-deployment algorithms are based on a fixed node communication radius, evaluate the performance based on network coverage or the connectivity rate and do not consider the number of nodes near the sink node and the energy consumption distribution of the network topology, thereby degrading network reliability and the energy consumption balance. Therefore, we propose a distributed underwater node self-deployment algorithm. First, each node begins the uneven clustering based on the distance on the water surface. Each cluster head node selects its next-hop node to synchronously construct a connected path to the sink node. Second, the cluster head node adjusts its depth while maintaining the layout formed by the uneven clustering and then adjusts the positions of in-cluster nodes. The algorithm originally considers the network reliability and energy consumption balance during node deployment and considers the coverage redundancy rate of all positions that a node may reach during the node position adjustment. Simulation results show, compared to the connected dominating set (CDS) based depth computation algorithm, that the proposed algorithm can increase the number of the nodes near the sink node and improve network reliability while guaranteeing the network connectivity rate. Moreover, it can balance energy consumption during network operation, further improve network coverage rate and reduce energy consumption.


Introduction and Related Works
Underwater wireless sensor networks (UWSNs) are network-monitoring systems consisting of sensor nodes with the capabilities of perception, acoustic communication and computing in an underwater environment in a self-organized manner; their function is to transmit sensed information to a sink node for processing and analysis [1,2]. UWSNs can be applied to water environment monitoring, underwater exploration, marine military defense and other fields [3][4][5]. This type of network has become one of the most significant topics in the information field. Research on UWSNs mainly involves node deployment, node localization, time synchronization, network protocol design, etc. [6][7][8][9]. Among these topics, node deployment, as the foundation work for UWSNs design, has a direct effect on the quality of target coverage and network service.
The node-deployment problem refers to moving sensor nodes to their positions in an artificial or a self-organized manner to form a network topology that has special characteristics and can benefit future works [10]. According to the mobility capability of nodes, node deployment can be divided into static deployment, free-to-move node self-deployment and move-restricted node capabilities (perpendicular to the horizontal direction), and the positions of the sensor nodes are adjusted underwater by moving them to form a 3D coverage network. A typical UWSN architecture is depicted in Figure 1. In this model, the sink node communicates with the ground-monitoring station by radio; nodes communicate with one another by acoustic channels and maintain connectivity with the sink node via one-or multi-hop paths. Furthermore, these nodes anchor to fix their position once they have adjusted their depth. This study denotes the i-th node by s i , and the corresponding node set S = {s 1 , s 2 , . . . s n }. The following assumptions are considered: Sensors 2016, 16,98 ground-monitoring station by radio; nodes communicate with one another by acoustic channels and maintain connectivity with the sink node via one-or multi-hop paths. Furthermore, these nodes anchor to fix their position once they have adjusted their depth. This study denotes the i-th node by si, and the corresponding node set S = {s1, s2, … sn}. The following assumptions are considered: Figure 1. Underwater wireless sensor network (UWSN) system model. 1. The Boolean perception model is adopted to describe the node sensing. If the sensing radius of the node si is Rs, the space sensed by the node is a sphere whose center is the node location and Rs as the radius. An example is shown in Figure 2. The sphere with radius Rs is the sensed space of si. P1 is within the sphere and can be covered by si. On the contrary, P2 is beyond the sphere and cannot be covered by si.

1.
The Boolean perception model is adopted to describe the node sensing. If the sensing radius of the node s i is R s , the space sensed by the node is a sphere whose center is the node location and R s as the radius. An example is shown in Figure 2. The sphere with radius R s is the sensed space of s i . P 1 is within the sphere and can be covered by s i . On the contrary, P 2 is beyond the sphere and cannot be covered by s i .
Sensors 2016, 16,98 ground-monitoring station by radio; nodes communicate with one another by acoustic channels and maintain connectivity with the sink node via one-or multi-hop paths. Furthermore, these nodes anchor to fix their position once they have adjusted their depth. This study denotes the i-th node by si, and the corresponding node set S = {s1, s2, … sn}. The following assumptions are considered: Figure 1. Underwater wireless sensor network (UWSN) system model. 1. The Boolean perception model is adopted to describe the node sensing. If the sensing radius of the node si is Rs, the space sensed by the node is a sphere whose center is the node location and Rs as the radius. An example is shown in Figure 2. The sphere with radius Rs is the sensed space of si. P1 is within the sphere and can be covered by si. On the contrary, P2 is beyond the sphere and cannot be covered by si. A pd ps se , s rec qq " d λ ps se , s rec q α dps se ,s rec q (1) Equation (1) describes the energy attenuation when the data packet transmitting distance from the source node s se to the destination node s rec is d(s se , s rec ), where λ is the energy diffusion factor (the cylindrical diffusion is one; the actual situation is 1.5; and the spherical diffusion is two). The parameter α = 10 a( F r )/10 , where the absorption coefficient a(F r ) is shown as follows: where F r is the carrier frequency, with the unit of kHz. The unit of the absorption coefficient is dB/m. The energy for the nodes to send data E tx (d(s se ,s rec )) is expressed as follows: E tx pd ps se , s rec qq " P rˆTpˆA pd ps se , s rec qq where T p is the data transmission time and P r is the minimum power packets that can be received.

Coverage Redundancy Rate
The coverage redundancy rate (CRR) of node s i is defined as the ratio of the sensing overlapping area of itself with other nodes within its one-hop communication radius and its sensing area [37]. γ(s i ) is formulated as follows: where area(s i ) represents the sensing area of node s i . The formulation in practical use is defined as follows: where n is the number of neighbor nodes of node s i and d(s i ,s j ) is the distance between node s i and its neighbor node s j .

Network Coverage Rate
The network coverage rate, which reflects the coverage degree of an underwater sensor network covering a monitoring area or targets, is also a primary standard to evaluate a node-deployment algorithm. This standard is defined as the ratio of the effective area, the number of UWSN covers of the targets to the entire area of the target region or all target numbers by using the Cor expression; the formula is expressed as follows [26]: where V covered is the volume of the monitoring area covered by active nodes and V region is the volume of the total monitoring area.

Network Connectivity Rate
The network connectivity rate is an important criterion of the service quality of sensor networks and the premise of sensor network application. This criterion refers to the ratio of the number of nodes that connect with the sink node by one or several hops to the total number of nodes by using the Cer expression; the formulation is expressed as follows [26]: N connection N all (7) where N connection is the number of nodes connected to the sink node and N all is the total number of nodes in the UWSN.

Network Reliability
In UWSNs, network reliability reflects the effect on the network service quality when a node does not function because of serious environmental and external factors or a lack of energy. From node deployment, network reliability can be expressed by the redundancy of a network node. In this study, network reliability can be expressed by the number of nodes within a certain range of the sink node and the average number of their neighbor nodes. If the two indicators are great, the network reliability is also great.

Problem Description
Some scholars have already researched the node self-deployment problem for move-restricted underwater sensor nodes. However, these algorithms are suitable only for the node deployment of underwater sensor nodes with a fixed communication radius and only consider the criterion of network coverage or the network connectivity rate without considering the network reliability problem and the energy consumption balance of the network. In existing algorithms, adjacent nodes are far away from one another as much as possible to minimize the overlapping area among themselves and to maximize the network coverage rate. Consequently, the probability that nodes are deployed near the sink node decreases to some degree, and the number of nodes within a certain range around the sink node cannot be guaranteed. Even the use of a topology control method with a good effect cannot improve network performance after deployment. In addition, in the process of adjusting the node depth, algorithms only focus on the CRR of the position wherein the overlapping area of one node with a specific node is the smallest and ignores the CRR of the position where the overlapping area is not the smallest. Therefore, the network coverage rate should be improved. Moreover, existing algorithms that consider the network connectivity rate (i.e., CDA) do not consider the balance of network energy consumption during network operations. When the number of nodes is dense, the network formed by CDA can modify the network topology by a routing protocol to achieve energy consumption balance. By contrast, when the number of nodes is relatively sparse, the network formed by CDA may have no other connected topology or ineffectively route protocols because the number of nodes is insufficient. At this time, an operated network can only use the topological structure formed during the process of node deployment. Furthermore, the energy consumption balance of the topological structure performs badly, i.e., the energy consumption balance of the network formed by CDA is poor when the number of nodes is relatively sparse. Therefore, this study defines the following problem: "After N nodes are randomly and uniformly scattered on the water surface of the target area, a node self-deployment algorithm with an adjustable communication radius is designed to adjust the depth of nodes, improve network reliability, balance, reduce energy consumption, and maximize network coverage on the premise of maintaining network connectivity".
To solve the defined problem, this study proposes a distributed self-deployment algorithm for underwater sensor nodes (i.e., URSA). After all nodes are scattered on the water surface randomly and uniformly, each node firstly begins the process of uneven clustering according to the distance to the sink node. This process forms a layout wherein the number of cluster head nodes in an area close to the sink node becomes large and the scale of the cluster in that area becomes small. Second, every cluster head node uses the hybrid radius path-selection method to select its next-hop node concurrently according to the principle of minimizing the energy consumption of sending a message from itself to the sink node. The cluster head node then forms a connected path to the sink node. The feature of the connected path is that if the cluster head node is far away from the sink node, its path to the next-hop node is long, thus ensuring network connectivity and saving and balancing energy consumption in network operations. Third, each cluster begins to adjust the depth in an iterative manner, and the corresponding cluster head node selects its own adjusting position with the principle that the distance between itself and its next-hop node after adjustment is 1 m longer than that before adjustment. This process retains the layout of the uneven cluster (i.e., the number of cluster head nodes in an area close to the sink node increases, whereas the communication radius of the cluster head node in that area decreases), increases the node number within the scope of the sink node, improves the network reliability and balances network energy consumption. Finally, for each in-cluster node, the cluster head node calculates some corresponding CRR rates by supposing that the in-cluster node is deployed on each position within the maximum communication radius of its basic nodes and selects the best position for every in-cluster node by the priority of the hop of the basic node of the in-cluster node on the basis of decreasing the network coverage rate. This process decreases the hop number of the in-cluster nodes, increases the chances of the nodes near the sink node, decreases the energy consumption of deployment and improves the total coverage rate. The detailed description is presented as follows.

Algorithm Description
URSA is divided into the following four steps: (1) uneven clustering [38]; (2) constructing a connected path by the hybrid radius path-selection method; (3) the cluster head node calculating the depth of each node in a cluster; and (4) finding a next cluster needing to be adjusted. The detailed steps of the algorithm are as follows.

Uneven Clustering
After nodes are scattered on the water surface randomly and uniformly, the sink node broadcasts to all nodes. Every node s i calculates the distance to the sink node d(s i ,Sink) according to the strength of the signal it receives and sets its probability threshold T h (s i ) by Equation (8). Every node s i then generates a random number r(s i ) from zero to one and compares this number to T h (s i ). If r(s i ) < T h (s i ), node s i becomes a provisional cluster head node and joins the set of provisional cluster head nodes P (P = {p 1 ,p 2 , . . . p n1 } = {s i | r(s i ) < T h (s i ), s i S}, where p i represents the i-th provisional cluster head node); otherwise, node s i exits from the cluster competition and transforms into sleep mode.
where T h1 , T h2 and T h3 are the probability threshold parameters, and T h1 > T h2 > T h3 . d hot represents the radius of the hot-spot area. Equation (8) represents that if a node is close to the sink node, its T h is great. In other words, the nodes near the sink node have a great probability to become a provisional cluster head node, whose aim is to increase the number of the final cluster head nodes near the sink node as much as possible. Every provisional cluster head node p i defines its own competition radius R(p i ) by Equation (9) and broadcasts its status message (node ID, d(p i ,Sink), R(p i )) with the communication radius R 0 . After a provisional cluster head node p i receives the message, it calculates the distance d(p i , p j ) to the signal-sending node p j and defines the set of its own competition neighbor nodes S CH (p i ) by Equation (10), namely the provisional cluster head node within its competition radius R(p i ).
where d max is the farthest distance between any points in the water surface of the target area and the sink node; c is the proportional constant; R 0 is the maximum competition radius.
In the stage of cluster head competition, all provisional cluster head nodes set the same waiting time (Time). During the Time, each provisional cluster head node p i compares its distance to the sink node with the nodes in S CH (p i ) and determines whether it will become a final cluster head node (i.e., cluster head node) f m (f m is the m-th element in the set of the final cluster head node, namely the m-th final cluster head node) according to the following conditions: (1) d(p i ,Sink) ď min(d(p j ,Sink)), p j S CH (p i ): p i becomes f m and broadcasts the "been cluster head" message M CH to notify its competition neighbor nodes with the communication radius of R 0 . (2) d(p i ,Sink) > min(d(p j ,Sink)), p j S CH (p i ): p i waits for messages from its competition neighbor nodes and takes the following corresponding operation according to the messages it receives: Sensors 2016, 16,98 node with the nodes in SCH(pi) and determines whether it will become a final cluster head node (i.e., cluster head node) fm (fm is the m-th element in the set of the final cluster head node, namely the m-th final cluster head node) according to the following conditions: (1) d(pi,Sink) ≤ min(d(pj,Sink)), pj ϵ SCH(pi): pi becomes fm and broadcasts the "been cluster head" message MCH to notify its competition neighbor nodes with the communication radius of R0.
(2) d(pi,Sink) > min(d(pj,Sink)), pj ϵ SCH(pi): pi waits for messages from its competition neighbor nodes and takes the following corresponding operation according to the messages it receives:  pi receives MCH broadcasted by one of its competition neighbor node pj, gives up the cluster head competition and broadcasts the "exit competition" message MGC. It then converts to sleep mode.
 pi receives MGC broadcasted by one of its competition neighbor node pj, removes node pj from SCH(pi), then compares the distance to the sink node with its updating competition neighbor nodes and continues the preceding operations.
 pi cannot receive any message in Time and becomes fm.
After Time is over, every cluster head node fm broadcasts the "elect cluster head" message (the ID of fm) with the maximum communication radius Rc_Max to stimulate the non-cluster head nodes to join one of the clusters and the cluster head node to save the information of its neighbor cluster head nodes. When the cluster head node fj receives that message, it saves the distance d(fm,fj) and places the ID of fm into the set of its neighbor cluster head nodes NCH(fj); when the non-cluster head node receives that message, it calculates the distance to every cluster head who is the source of that message and replies with the "join" message (non-cluster head node ID) to its nearest cluster head node. For the non-cluster head nodes that do not receive any message, they broadcast with Rc_Max and join themselves into the nearest cluster according to the reply of their neighbor nodes. They transmit the "join" message to the cluster head node by using the neighbor node as the intermediate node.
The flow chart of Section 3.2.1 is shown in Figure 3 with node si as an example. The node gives up competition and turns into sleep mode until the cluster head selecting ends non-cluster-head nodes selects the cluster nearest itself, after the process of cluster head competition ends Receive MEC from its competition neighbor node pj or not p i receives M CH broadcasted by one of its competition neighbor node p j , gives up the cluster head competition and broadcasts the "exit competition" message M GC . It then converts to sleep mode.
Sensors 2016, 16,98 node with the nodes in SCH(pi) and determines whether it will become a final cluster head node (i.e., cluster head node) fm (fm is the m-th element in the set of the final cluster head node, namely the m-th final cluster head node) according to the following conditions: (1) d(pi,Sink) ≤ min(d(pj,Sink)), pj ϵ SCH(pi): pi becomes fm and broadcasts the "been cluster head" message MCH to notify its competition neighbor nodes with the communication radius of R0.
(2) d(pi,Sink) > min(d(pj,Sink)), pj ϵ SCH(pi): pi waits for messages from its competition neighbor nodes and takes the following corresponding operation according to the messages it receives:  pi receives MCH broadcasted by one of its competition neighbor node pj, gives up the cluster head competition and broadcasts the "exit competition" message MGC. It then converts to sleep mode.  pi receives MGC broadcasted by one of its competition neighbor node pj, removes node pj from SCH(pi), then compares the distance to the sink node with its updating competition neighbor nodes and continues the preceding operations.  pi cannot receive any message in Time and becomes fm.
After Time is over, every cluster head node fm broadcasts the "elect cluster head" message (the ID of fm) with the maximum communication radius Rc_Max to stimulate the non-cluster head nodes to join one of the clusters and the cluster head node to save the information of its neighbor cluster head nodes. When the cluster head node fj receives that message, it saves the distance d(fm,fj) and places the ID of fm into the set of its neighbor cluster head nodes NCH(fj); when the non-cluster head node receives that message, it calculates the distance to every cluster head who is the source of that message and replies with the "join" message (non-cluster head node ID) to its nearest cluster head node. For the non-cluster head nodes that do not receive any message, they broadcast with Rc_Max and join themselves into the nearest cluster according to the reply of their neighbor nodes. They transmit the "join" message to the cluster head node by using the neighbor node as the intermediate node.
The flow chart of Section 3.2.1 is shown in Figure 3 with node si as an example.
Node si calculates d(si,Sink),sets Th(si) and produces random number r(si) from 0 to 1

R(si) < Th(si)?
Node si becomes pi,then it calculates R(pi) and SCH(pi),and sets constant Time and actual time At = 0; Receive MCH from its competition neighbor node pj or not The node gives up competition and turns into sleep mode until the cluster head selecting ends non-cluster-head nodes selects the cluster nearest itself, after the process of cluster head competition ends broadcasted by one of its competition neighbor node p j , removes node p j from S CH (p i ), then compares the distance to the sink node with its updating competition neighbor nodes and continues the preceding operations.
Sensors 2016, 16,98 node with the nodes in SCH(pi) and determines whether it will become a final cluster head node (i.e., cluster head node) fm (fm is the m-th element in the set of the final cluster head node, namely the m-th final cluster head node) according to the following conditions: pi becomes fm and broadcasts the "been cluster head" message MCH to notify its competition neighbor nodes with the communication radius of R0.
(2) d(pi,Sink) > min(d(pj,Sink)), pj ϵ SCH(pi): pi waits for messages from its competition neighbor nodes and takes the following corresponding operation according to the messages it receives:  pi receives MCH broadcasted by one of its competition neighbor node pj, gives up the cluster head competition and broadcasts the "exit competition" message MGC. It then converts to sleep mode.  pi receives MGC broadcasted by one of its competition neighbor node pj, removes node pj from SCH(pi), then compares the distance to the sink node with its updating competition neighbor nodes and continues the preceding operations.  pi cannot receive any message in Time and becomes fm.
After Time is over, every cluster head node fm broadcasts the "elect cluster head" message (the ID of fm) with the maximum communication radius Rc_Max to stimulate the non-cluster head nodes to join one of the clusters and the cluster head node to save the information of its neighbor cluster head nodes. When the cluster head node fj receives that message, it saves the distance d(fm,fj) and places the ID of fm into the set of its neighbor cluster head nodes NCH(fj); when the non-cluster head node receives that message, it calculates the distance to every cluster head who is the source of that message and replies with the "join" message (non-cluster head node ID) to its nearest cluster head node. For the non-cluster head nodes that do not receive any message, they broadcast with Rc_Max and join themselves into the nearest cluster according to the reply of their neighbor nodes. They transmit the "join" message to the cluster head node by using the neighbor node as the intermediate node.
The flow chart of Section 3.2.1 is shown in Figure 3 with node si as an example. After Time is over, every cluster head node f m broadcasts the "elect cluster head" message (the ID of f m ) with the maximum communication radius R c _Max to stimulate the non-cluster head nodes to join one of the clusters and the cluster head node to save the information of its neighbor cluster head nodes. When the cluster head node f j receives that message, it saves the distance d(f m ,f j ) and places the ID of f m into the set of its neighbor cluster head nodes N CH (f j ); when the non-cluster head node receives that message, it calculates the distance to every cluster head who is the source of that message and replies with the "join" message (non-cluster head node ID) to its nearest cluster head node. For the non-cluster head nodes that do not receive any message, they broadcast with R c _Max and join themselves into the nearest cluster according to the reply of their neighbor nodes. They transmit the "join" message to the cluster head node by using the neighbor node as the intermediate node.
The flow chart of Section 3.2.1 is shown in Figure 3 with node s i as an example.
Sensors 2016, 16, 98 9 of 23 8 node receives that message, it calculates the distance to every cluster head who is the source of that message and replies with the "join" message (non-cluster head node ID) to its nearest cluster head node. For the non-cluster head nodes that do not receive any message, they broadcast with Rc_Max and join themselves into the nearest cluster according to the reply of their neighbor nodes. They transmit the "join" message to the cluster head node by using the neighbor node as the intermediate node.
The flow chart of Section 3.2.1 is shown in Figure 3 with node si as an example.
Node si calculates d(si,Sink),sets Th(si) and produces random number r(si) from 0 to 1

R(si) < Th(si)?
Node si becomes pi,then it calculates R(pi) and SCH(pi),and sets constant Time and actual time At = 0; Receive MCH from its competition neighbor node pj or not pi becomes the final cluster head fm The node gives up competition and turns into sleep mode until the cluster head selecting ends non-cluster-head nodes selects the cluster nearest itself, after the process of cluster head competition ends Receive MEC from its competition neighbor node pj or not

Constructing a Connected Path by the Hybrid Radius Path-Selection Method
When every cluster head node f m does not receive the reply of non-cluster head nodes over a period of time, f m will construct a connected path to the sink node. f m first compares d(f m ,Sink) to the radius of the hot-spot area d hot . If d(f m ,Sink) < d hot , f m connects with the sink node directly; otherwise, f i will find its next-hop node from the set of its neighbor cluster head nodes N CH (f m ). The detailed process is expressed as follows: (1) f m selects the cluster head nodes in the forward direction (i.e., the direction close to the sink node) from the nodes in N CH (f m ) by Equation (11). These nodes are denoted by the cluster head nodes of the forward direction of f m B CH (f m ): (2) f m selects the k nodes nearest to itself from the nodes in B CH (f m ) as the set of alternative next-hop f m selects k non-cluster head nodes whose cluster head nodes are not f m in the forward direction within its R c _Max as the set of alternative next-hop nodes F CH (f m ). This process guarantees that the communication radius of f m is greater than the communication radius of its next-hop node. (4) f m selects a node s j from the nodes in F CH (f m ) by minimizing the sum of the distance to f m and the distance to the sink node as its next-hop node next(f m ): nextp f m q " s jˇm in`dp f m , s j q`dps j , Sinkq˘, s j P F CH p f m q ( If next(f m ) is a non-cluster head node, the node becomes a cluster head node and finds its next-hop node according to the preceding process. Otherwise, the entire process ends.

Cluster Head Node Calculating the Depth of Each Node in a Cluster
When one cluster head node f m receives the "calculate diving depth" message M CD , f m optimizes its own position and the position of its in-cluster nodes. After the depths of all nodes in its cluster are calculated, each node dives to its position synchronously.
f m initially calculates its own diving position according to the principle of maintaining and adjusting the layout on the water surface formed by uneven clustering. The rules are as follows: (1) f m is a common node (having both the last-hop node and the next-hop node). If the communication radius of f m on the water surface R U A (f m ) plus one is greater than the adjusted communication radius R A (f j ) of its next-hop node f j , i.e., f m satisfies the feature of the uneven clustering after it adjusts its depth, f m regards its adjusted communication radius as R U A (f m ) + 1 and calculates its diving depth; otherwise, f m regards the adjusted communication radius of its next-hop node R A (f j ) plus one as its adjusted communication radius and calculates its diving depth. This process of calculating the diving depth of f m dep(f m ) is formulated as follows: where R U A (f m ) is the communication radius of f m before it adjusts its depth. In other words, R U A (f m ) represents the distance between itself and its next-hop node on the water surface. R A (f m ) is the communication radius of f m after it adjusts its depth. In other words, R A (f m ) represents the distance between itself and its next-hop node after f m adjusts its depth. (2) If f m is a leaf node (having only next-hop nodes), it can reduce the CRR with its last-hop node by increasing its own depth. f m determines its depth dep(f m ) by Equation (14) on the basis of whether it is the one-hop node of the sink node.
After the cluster head node f m defines its depth, it updates the node set all_deployed consisting of nodes that have adjusted their depths in the entire network and the node set part_deployed consisting of nodes with depths calculated in the cluster and begins to calculate the depth of its in-cluster nodes.
The cluster head node f m defines the depth of one in-cluster node N f every round. In each round, f m initially selects each node in order from the nodes in part_deployed as the basic node b of N f (i.e., nodes in the same cluster with N f , as the next-hop nodes of N f ). For every basic node b, f m individually calculates the diving depth of N f by Equations (15) and (16) when the distance d_adjust between the adjusted position of N f and the adjusted position of b is R c _Max, R c _Max-1 . . . d (N f ,b). f m then selects the minimum CRR as the CRR of basic node b and saves the corresponding depth (when the minimum CRR corresponds to several different depths, f m selects the corresponding depth by the communication radius of node N f and the diving distance of N f in order).
where dis_vertical is the vertical distance between the adjusted position of N f and the adjusted position of b; Depth is the depth of the target area. Equation (16) represents the diving depth of N f when the diving depth of N f is greater than Depth-R s or smaller than R s . In other words, at that moment, some useless region exists in the sensing area of N f , and the diving depth of N f is equal to Depth-R s or R s .
f m subsequently compares the CRR of every basic node b to select the minimum CRR. Thereafter, f m compares the hop number of every basic node to the CRR that is within the rang range of the minimum CRR and selects the basic node with the minimum hop number as the basic node of N f (when the hop number is equal, f m selects it by the communication radius and diving depth in order of node N f ). f m determines the optimal position of node N f . f m finally updates part_deployed and all_deployed.
An example for the process by which the cluster head node calculates the depths of its in-cluster nodes is described in Figure 4a. In the figure, s 1 , s 2 , s 3 , s 4 , s 5 and f are on the water surface. Among them, f represents a cluster head node, and others represent in-cluster nodes. In addition, s 1 , s 2 , s 3 and f are in the part_deployed. In other words, their depths have been already calculated in the cluster. When f calculates the depth of s 5 , it finds that the distance between s 5 and each node in part_deployed is greater than R c _Max. Thus, it ignores calculating the depth of s 5 tentatively and continues to calculate the depth of another node (i.e., s 4 ). It firstly selects s 1 as the basic node of s 4 and calculates the possible diving depth assuming that the distance between the adjusted position of s 4 and s 1 ' is respectively R c _Max, R c _Max-1 . . .  The flow chart of Section 3.2.3 is shown in Figure 5 with a cluster head node fm as an example.

Finding a Next Cluster Needing to Adjust
After the cluster head node fm calculates the diving depth of all nodes in its cluster, it transmits the "adjust depth" message (diving depth, basic node ID) to the corresponding in-cluster node to notify them to dive. After all nodes dive to the specified location, fm broadcasts the "update" message (ID, diving depth and adjusted communication radius of every node), and the other cluster head nodes that receive the message update their all_deployed. fm then queries its last-hop cluster head nodes whether some cluster head nodes have not adjusted. Thus, fm transmits MCD to one of them, and the cluster head node receiving the message operates by Section 3.2.3. Otherwise, fm transmits the "been adjusted" message MAD to its next-hop fj, and fj selects to transmit MCD or MAD Figure 4. (a) Depth calculation process in a cluster (assume that the CRR on m 3 is the minimum and the CRR on m 1 is within rang range of the minimum CRR; the basic node (next-hop node) of s 2 and s 3 is f, and the basic node of s 1 is s 2 , after their depth is already calculated); (b) 3D result of nodes' depth adjusting.
The flow chart of Section 3.2.3 is shown in Figure 5 with a cluster head node f m as an example.

Finding a Next Cluster Needing to Adjust
After the cluster head node f m calculates the diving depth of all nodes in its cluster, it transmits the "adjust depth" message (diving depth, basic node ID) to the corresponding in-cluster node to notify them to dive. After all nodes dive to the specified location, f m broadcasts the "update" message (ID, diving depth and adjusted communication radius of every node), and the other cluster head nodes that receive the message update their all_deployed. f m then queries its last-hop cluster head nodes whether some cluster head nodes have not adjusted. Thus, f m transmits M CD to one of them, and the cluster head node receiving the message operates by Section 3.2.3. Otherwise, f m transmits the "been adjusted" message M AD to its next-hop f j , and f j selects to transmit M CD or M AD according to the situation of its last-hop cluster head node. This process is repeated until all clusters are adjusted.
Sensors 2016, 16,98 according to the situation of its last-hop cluster head node. This process is repeated until all clusters are adjusted.
Start f m calculates its own depth by Equation (13) or (14)

Message Flow between Nodes
In URSA, message flow between nodes takes place during the process of the uneven clustering,

Message Flow between Nodes
In URSA, message flow between nodes takes place during the process of the uneven clustering, constructing a connected path and the position adjustment of in-cluster nodes. This paper illustrates the message flow between nodes in the algorithm based on some specific nodes.

Message Flow during Uneven Clustering
There is message flow in the several stages of the uneven clustering, as shown in Figure 6. (Assume that p2, p3 and p4 can communicate with each other within R0 and that they are the competition neighbor nodes for each other; so do p4, p5 and p6. In addition, p2 is the next-hop node of p6, and the distance between p1 and the sink node is greater than Rc_Max).
In Figure 6a, the nodes are in the initialization phase of cluster head node competition. At this time, every provisional cluster head node broadcasts within R0; the process of message flow between nodes is shown in Figure 7a. Then, entering into the phrase of the cluster head competition is shown in Figure 6b. p2 firstly becomes a final cluster head node and broadcasts MCH within R0, and p3, as well as p4 exit the competition due to receiving MCH from p2 and broadcast MGC, respectively, which is shown in Figure 7b. Afterwards, p5 and p6 respectively remove p4. At the same time, p6 becomes a final cluster head node, and p5 exits the competition; the message flow is shown in Figure 7c. After the cluster head node competition, shown in Figure 6c, the final cluster head nodes broadcast their ID, and the non-cluster head nodes reply with their ID to the corresponding cluster head node, the message flow of which is shown in Figure 7d.

Message Flow during Path Selection
After clustering, cluster head nodes begin to build a connected path. When a node's distance to the sink node is less than dhot, such as p2 in Figure 6c, the node sends a request message to the sink node, and the sink node replies with a confirmation message to the node; the process is shown in (Assume that p 2 , p 3 and p 4 can communicate with each other within R 0 and that they are the competition neighbor nodes for each other; so do p 4 , p 5 and p 6 . In addition, p 2 is the next-hop node of p 6 , and the distance between p 1 and the sink node is greater than R c _Max).
In Figure 6a, the nodes are in the initialization phase of cluster head node competition. At this time, every provisional cluster head node broadcasts within R 0 ; the process of message flow between nodes is shown in Figure 7a. Then, entering into the phrase of the cluster head competition is shown in Figure 6b. p 2 firstly becomes a final cluster head node and broadcasts M CH within R 0 , and p 3 , as well as p 4 exit the competition due to receiving M CH from p 2 and broadcast M GC , respectively, which is shown in Figure 7b. Afterwards, p 5 and p 6 respectively remove p 4 . At the same time, p 6 becomes a final cluster head node, and p 5 exits the competition; the message flow is shown in Figure 7c. After the cluster head node competition, shown in Figure 6c, the final cluster head nodes broadcast their ID, and the non-cluster head nodes reply with their ID to the corresponding cluster head node, the message flow of which is shown in Figure 7d. (Assume that p2, p3 and p4 can communicate with each other within R0 and that they are the competition neighbor nodes for each other; so do p4, p5 and p6. In addition, p2 is the next-hop node of p6, and the distance between p1 and the sink node is greater than Rc_Max).
In Figure 6a, the nodes are in the initialization phase of cluster head node competition. At this time, every provisional cluster head node broadcasts within R0; the process of message flow between nodes is shown in Figure 7a. Then, entering into the phrase of the cluster head competition is shown in Figure 6b. p2 firstly becomes a final cluster head node and broadcasts MCH within R0, and p3, as well as p4 exit the competition due to receiving MCH from p2 and broadcast MGC, respectively, which is shown in Figure 7b. Afterwards, p5 and p6 respectively remove p4. At the same time, p6 becomes a final cluster head node, and p5 exits the competition; the message flow is shown in Figure 7c. After the cluster head node competition, shown in Figure 6c, the final cluster head nodes broadcast their ID, and the non-cluster head nodes reply with their ID to the corresponding cluster head node, the message flow of which is shown in Figure 7d.

Message Flow during Path Selection
After clustering, cluster head nodes begin to build a connected path. When a node's distance to the sink node is less than dhot, such as p2 in Figure 6c, the node sends a request message to the sink node, and the sink node replies with a confirmation message to the node; the process is shown in Figure 8a. When a node's distance to the sink node is greater than dhot and there are other cluster

Message Flow during Path Selection
After clustering, cluster head nodes begin to build a connected path. When a node's distance to the sink node is less than d hot , such as p 2 in Figure 6c, the node sends a request message to the sink node, and the sink node replies with a confirmation message to the node; the process is shown in Figure 8a. When a node's distance to the sink node is greater than d hot and there are other cluster head nodes within its R c _max, such as p 6 in Figure 6c, it has a message exchange with a cluster head node, which is shown in Figure 8b. In a similar way, when a cluster head node has no neighbors within its R c _max, such as p 1 in Figure 6c, it has a message exchange with a non-cluster head node; the message flow between them is shown in Figure 8c.

Message Flow during In-Cluster Node Position Adjustment
In this process, the message flow between nodes takes place in three sub-processes. First, a cluster head node receives MCD from its next-hop node and begins to calculate the position of its in-cluster nodes, such as p2 in Figure 6c. Second, after the position calculation of in-cluster nodes, it sends message to its in-cluster nodes. Last, it sends MCD to one of its last-hop nodes if it cannot be adjusted. Otherwise, the node sends MAD to its next-hop node. The message flows between them are respectively shown in Figure 9a-d.

Complexity Analysis
The message and time complexity of URSA are evaluated in this section.

Message Complexity
The total number of sent messages is considered to determine the message complexity. The message complexity includes three parts, according to the analysis of the message flow between nodes in Section 4.1.
N nodes are scattered on the water surface randomly and uniformly. At the beginning of the uneven clustering, Np nodes become provisional cluster head nodes, and each of them broadcasts its own status message (node ID, d(pi,Sink), R(pi)), where Np is formulated in Equation (17) according to Equation (8).
Each of them then makes a decision by broadcasting MCH to act as the final cluster head node or

Message Flow during In-Cluster Node Position Adjustment
In this process, the message flow between nodes takes place in three sub-processes. First, a cluster head node receives M CD from its next-hop node and begins to calculate the position of its in-cluster nodes, such as p 2 in Figure 6c. Second, after the position calculation of in-cluster nodes, it sends message to its in-cluster nodes. Last, it sends M CD to one of its last-hop nodes if it cannot be adjusted. Otherwise, the node sends M AD to its next-hop node. The message flows between them are respectively shown in Figure 9a

Message Flow during In-Cluster Node Position Adjustment
In this process, the message flow between nodes takes place in three sub-processes. First, a cluster head node receives MCD from its next-hop node and begins to calculate the position of its in-cluster nodes, such as p2 in Figure 6c. Second, after the position calculation of in-cluster nodes, it sends message to its in-cluster nodes. Last, it sends MCD to one of its last-hop nodes if it cannot be adjusted. Otherwise, the node sends MAD to its next-hop node. The message flows between them are respectively shown in Figure 9a-d.

Complexity Analysis
The message and time complexity of URSA are evaluated in this section.

Message Complexity
The total number of sent messages is considered to determine the message complexity. The message complexity includes three parts, according to the analysis of the message flow between nodes in Section 4.1.
N nodes are scattered on the water surface randomly and uniformly. At the beginning of the uneven clustering, Np nodes become provisional cluster head nodes, and each of them broadcasts its own status message (node ID, d(pi,Sink), R(pi)), where Np is formulated in Equation (17)

Complexity Analysis
The message and time complexity of URSA are evaluated in this section.

Message Complexity
The total number of sent messages is considered to determine the message complexity. The message complexity includes three parts, according to the analysis of the message flow between nodes in Section 4.1.
N nodes are scattered on the water surface randomly and uniformly. At the beginning of the uneven clustering, N p nodes become provisional cluster head nodes, and each of them broadcasts its own status message (node ID, d(p i ,Sink), R(p i )), where N p is formulated in Equation (17) according to Equation (8).
Each of them then makes a decision by broadcasting M CH to act as the final cluster head node or M GC to exit the competition. Assuming that there are K c cluster head nodes, they send K c "elect cluster head" messages, and then (N´K c ) non-cluster head nodes send (N´K c ) "join" messages. Thus, in the process of the uneven clustering, the total number of message is formulated as: During the process of the path selection, each cluster head node sends a request message to its next-hop node, and then, a corresponding reply message is sent to it. Thus, the total number of messages is 2K c in the process.
In the phrase of in-cluster nodes' position adjustment, each cluster head node calculates the positions of in-cluster nodes, when it receives M CD from its next-hop node. After the positions of nodes in its cluster are adjusted, it sends M AD to its next-hop node sooner or later. Therefore, there must be two messages transmitted on the link between a cluster head node and its next-hop node. What is more, each cluster head node has only one next-hop node because of the hybrid radius path-selection method. Therefore, the network has K c cluster head nodes, and a sink node has K c links; and the number of message transmitted on these links is 2K c . In addition, each cluster head node respectively sends a corresponding adjustment message to its in-cluster nodes, after calculating the depths of nodes in its cluster. Supposing that the i-th cluster has N i in-cluster nodes, the number of messages in the sub-process is formulated as: Finally, the total number of the whole process is 2K c + N. Consequently, the total number of URSA messages is formulated as: Thus, the message complexity of URSA is O(N).

Time Complexity
At the beginning of the uneven clustering, each node synchronously produces a random number from zero to one and estimates itself to be a provisional cluster head node or not, and then, each of the provisional cluster head nodes synchronously broadcasts its status message. The time complexity of these operations is constant. In the cluster head competition phrase, a provisional cluster head node may become a final cluster head node, which needs to compare the distance to the sink node with all of its competition neighbor nodes or exit the competition. For the convenience of expression on time complexity, the number of competition neighbor nodes of a provisional cluster head node is expressed by the average number of competition neighbor nodes in the network, signed as N a . Consequently, the time complexity of the operation that a provisional cluster head node becomes a final cluster head node is N a , and the time complexity of the operation that it exits competition is constant. However, the worst situation in the phrase is that each of them judges itself to be a final cluster head node or not in the one-by-one way, and the time complexity of the situation is N aˆKc + N p´Kc + 2. At the end of the uneven clustering, each non-cluster head node joins a final cluster head node that is the nearest to it. The worst situation is that an ordinary node receives K c messages from all final cluster head nodes, so that it will compare the distance K c times; consequently, the time complexity is (N´K c )ˆK c . Thus, the time complexity of the uneven clustering is formulated as Expression (21), i.e., O(N 2 ).
During the process of the path selection, the worst situation is that each cluster head node selects ordinary nodes within R c _Max as its next-hop node. In this situation, the time complexity of the i-th cluster head node is N i . Thus, the time complexity of the total process is max(N i ), i.e., O(N), because each cluster head node finds its next-hop node synchronously.
In the phrase of in-cluster nodes' position adjustment, the cluster head node calculates the depth of every in-cluster node. Assuming that the i-th cluster has N i in-cluster nodes, the worst situation is that an in-cluster node has N i basic nodes, and for every basic node, the cluster head node should calculate the CRR of 2R c _Max positions. Then, it may select the minimum CRR from the CRR of N i basic nodes. What is worse, there are N i basic nodes whose CRR is within rang range of the minimum CRR; in other words, the cluster head node should select the basic node with minimum hops from N i basic nodes. Thus, the time complexity of the whole process is formulated as: That is, the result is O(N 2 ). Finally, the time complexity of URSA is O(N 2 + N + N 2 ), i.e., O(N 2 ).

Simulation Scenario and Parameter Settings
In this study, the four indicators of URSA and CDA, namely, network coverage rate, network energy consumption, network reliability and energy consumption balance, are used to simulate, analyze and compare, in order to verify the validity of URSA. The UWSNs node-deployment process is simulated by MATLAB on the basis of the background of the Xixi Wetland water environment monitoring. During the simulation, the target water area (lengthˆwidthˆdepth) is set to 400 mˆ200 mˆ500 m, and the value of each indicator is produced by the average of 30 rounds of simulation data. The parameter settings are as follows: The parameter settings are based on the CDA in [26], i.e., the sensing radius of nodes R s is 40 m, and the communication radius of nodes R c in CDA is 100 m. This study also considers the situation wherein the distance between two nodes is greater than 2R s ; thus, the maximum communication radius R c _Max in URSA is also set to 100 m. (2) According to [38], a proportionality constant c influences the uneven clustering results, namely if the value of c is small, the cluster size is small, and the number of clusters is large. The purpose of the current study is to appropriately increase the number of clusters near the sink node; hence, c is set to 0.7.
According to the method of calculating the optimum radius of hotspots d hot in [39] and the parameter of the simulation scene set in the current study, d hot is set to 50 m. (4) Other parameters are presented in Table 1.

Parameter Value
Length of data packet l 1000 bits Energy consumption of data reception P r 2 nJ/bit Energy diffusion factor λ 1.5 Carrier frequency F r 24 kHz Data transmission speed underwater 300 bits/s Initial competition radius R 0 80 m Probability threshold parameter T h1 , T h2 , T h3 0.8, 0.6, 0.5 Parameter k 3

Effect of rang on Network Reliability and Network Coverage Rate
During the adjustment of the depth of in-cluster nodes, the cluster head node finds the optimum location for its in-cluster nodes within the rang of the minimum CRR; thus, the value of rang has an influence on the results of network deployment. This study explores the changes in network coverage rate and network reliability when the number of network nodes is 200 and the value of rang varies from zero to 0.5. Figure 10 shows the network coverage rate of URSA for varying rang, in which the network coverage rate decreases and the rate of decrease increases with increasing rang. Figure 11 presents the network reliability of URSA for varying rang, in which the number of nodes within the R c range of the sink node immediately shows an inconsiderable fluctuation. However, its overall tendency is growing, and the rate of increase increases gradually with increasing rang. The average number of neighbor nodes increases all of the time, and the rate of increase accelerates with increasing rang. When the cluster head node selects the best locations for its in-cluster nodes, the possibility dominated by the number of hops increases and the possibility dominated by the value of CRR decreases with increasing rang. This phenomenon increases the number of nodes near the cluster head node, shortens the path in the cluster, increases the chance of the node close to the sink node and increases the possibility of nodes to gather. Therefore, an increasing rang improves the network reliability, but reduces the network coverage rate. The preceding analysis implies that the value of rang can be set according to the importance of each indicator in the actual application. In this study, considering the compromise between the network coverage rate and network reliability, rang is set to 0.2 in every example below. During the adjustment of the depth of in-cluster nodes, the cluster head node finds the optimum location for its in-cluster nodes within the rang of the minimum CRR; thus, the value of rang has an influence on the results of network deployment. This study explores the changes in network coverage rate and network reliability when the number of network nodes is 200 and the value of rang varies from zero to 0.5. Figure 10 shows the network coverage rate of URSA for varying rang, in which the network coverage rate decreases and the rate of decrease increases with increasing rang. Figure 11 presents the network reliability of URSA for varying rang, in which the number of nodes within the Rc range of the sink node immediately shows an inconsiderable fluctuation. However, its overall tendency is growing, and the rate of increase increases gradually with increasing rang. The average number of neighbor nodes increases all of the time, and the rate of increase accelerates with increasing rang. When the cluster head node selects the best locations for its in-cluster nodes, the possibility dominated by the number of hops increases and the possibility dominated by the value of CRR decreases with increasing rang. This phenomenon increases the number of nodes near the cluster head node, shortens the path in the cluster, increases the chance of the node close to the sink node and increases the possibility of nodes to gather. Therefore, an increasing rang improves the network reliability, but reduces the network coverage rate. The preceding analysis implies that the value of rang can be set according to the importance of each indicator in the actual application. In this study, considering the compromise between the network coverage rate and network reliability, rang is set to 0.2 in every example below.     Figure 12 presents the comparison of the network coverage rate with varying numbers of nodes. The figure shows that the network coverage rates of both URSA and CDA increase, but the trend gradually slows down with the increasing number of nodes. The network coverage rate of URSA is always higher than that of CDA with the same number of nodes, because CDA only considers the CRR on the position where the distance between the node and each of its basic nodes is R c and does not consider the situation of the other positions where the distance between them is less than R c . In the situation that CDA does not consider, a node may overlap in such a position. However, the total CRR rate of the node may be less than that in the situation that CDA can consider. In URSA, the process of node adjusting depth considers the aforementioned limitation, compares the CRR of all possible positions and selects the best position. Therefore, under the circumstances of losing some network coverage rate because of improving the network reliability, the network coverage rate of URSA remains higher than that of CDA.  Figure 12 presents the comparison of the network coverage rate with varying numbers of nodes. The figure shows that the network coverage rates of both URSA and CDA increase, but the trend gradually slows down with the increasing number of nodes. The network coverage rate of URSA is always higher than that of CDA with the same number of nodes, because CDA only considers the CRR on the position where the distance between the node and each of its basic nodes is Rc and does not consider the situation of the other positions where the distance between them is less than Rc. In the situation that CDA does not consider, a node may overlap in such a position. However, the total CRR rate of the node may be less than that in the situation that CDA can consider. In URSA, the process of node adjusting depth considers the aforementioned limitation, compares the CRR of all possible positions and selects the best position. Therefore, under the circumstances of losing some network coverage rate because of improving the network reliability, the network coverage rate of URSA remains higher than that of CDA.  Figure 13 illustrates the comparison of the number of nodes within the Rc range of the sink node for the varying numbers of nodes. In the figure, the number of nodes within the Rc range of the sink node generally increases in both of the two algorithms. However, compared to CDA, URSA shows improved results with the same number of nodes. URSA uses the uneven clustering process to form a layout in which the number of cluster head nodes in an area close to the sink node increases, whereas the size of the cluster in that area decreases. URSA adjusts the position of the cluster head nodes according to the principle of maintaining this layout to increase the number of cluster head nodes near the sink node. The size of the cluster in the area close to the sink node becomes small, and all in-cluster nodes adjust their depth by minimizing their hop number, thereby increasing the chance for in-cluster nodes close to the sink node to some extent. Figure 14 shows the comparison of  Figure 13 illustrates the comparison of the number of nodes within the R c range of the sink node for the varying numbers of nodes. In the figure, the number of nodes within the R c range of the sink node generally increases in both of the two algorithms. However, compared to CDA, URSA shows improved results with the same number of nodes. URSA uses the uneven clustering process to form a layout in which the number of cluster head nodes in an area close to the sink node increases, whereas the size of the cluster in that area decreases. URSA adjusts the position of the cluster head nodes according to the principle of maintaining this layout to increase the number of cluster head nodes near the sink node. The size of the cluster in the area close to the sink node becomes small, and all in-cluster nodes adjust their depth by minimizing their hop number, thereby increasing the chance for in-cluster nodes close to the sink node to some extent. Figure 14 shows the comparison of the average number of neighbor nodes for a varying number of nodes. The figure shows that the average number of neighbor nodes of the two algorithms increases with increasing the number of nodes. The number of URSA is always smaller than the number of CDA, but the difference between URSA and CDA becomes insignificant gradually with the increasing number of nodes. Figures 13 and 14 indicate that compared to CDA, the average number of neighbor nodes of URSA is low. Nevertheless, the number of nodes within the R c range of the sink node of URSA is obviously higher than that of CDA, thus maintaining the good performance of the network during its operation after being deployed.  The network energy consumption includes the energy consumption of network deployment and the energy consumption of network operation. According to [40], the energy consumption of a moving node is significantly greater than the energy consumption of the communication among nodes during node deployment. Thus, this study only regards the energy consumption generated by nodes adjusting their depth as the energy consumption of network deployment. For the energy consumption of network operation, its value is usually related to the routing algorithm or protocol that the network used when it operates. However, when the number of nodes is relatively sparse, the problem of the energy consumption of the network operation is related to the topology formed by the node self-deployment algorithm, which is the problem that this paper considers. Therefore, in the simulation, the networks deployed by URSA and CDA use the corresponding topology formed by themselves when they operate. We use the energy consumption model in [36] to calculate the average energy consumption of the node of each round. According to [16], the diving speed of nodes is 2.4 m/min, and the power of nodes is 0.6 w.  The network energy consumption includes the energy consumption of network deployment and the energy consumption of network operation. According to [40], the energy consumption of a moving node is significantly greater than the energy consumption of the communication among nodes during node deployment. Thus, this study only regards the energy consumption generated by nodes adjusting their depth as the energy consumption of network deployment. For the energy consumption of network operation, its value is usually related to the routing algorithm or protocol that the network used when it operates. However, when the number of nodes is relatively sparse, the problem of the energy consumption of the network operation is related to the topology formed by the node self-deployment algorithm, which is the problem that this paper considers. Therefore, in the simulation, the networks deployed by URSA and CDA use the corresponding topology formed by themselves when they operate. We use the energy consumption model in [36] to calculate the average energy consumption of the node of each round. According to [16], the diving speed of nodes is 2.4 m/min, and the power of nodes is 0.6 w. The network energy consumption includes the energy consumption of network deployment and the energy consumption of network operation. According to [40], the energy consumption of a moving node is significantly greater than the energy consumption of the communication among nodes during node deployment. Thus, this study only regards the energy consumption generated by nodes adjusting their depth as the energy consumption of network deployment. For the energy consumption of network operation, its value is usually related to the routing algorithm or protocol that the network used when it operates. However, when the number of nodes is relatively sparse, the problem of the energy consumption of the network operation is related to the topology formed by the node self-deployment algorithm, which is the problem that this paper considers. Therefore, in the simulation, the networks deployed by URSA and CDA use the corresponding topology formed by themselves when they operate. We use the energy consumption model in [36] to calculate the average energy consumption of the node of each round. According to [16], the diving speed of nodes is 2.4 m/min, and the power of nodes is 0.6 w. Figure 15 presents the comparison of network energy consumption for varying numbers of nodes. The figure shows that the energy consumption of the network deployment of both URSA and CDA increases with increasing the number of nodes. Nonetheless, the energy consumption of the network deployment of URSA is always below that of CDA. The energy consumption of network operation of the two algorithms also maintains within a certain value with increasing the number of nodes, but the energy consumption of the network operation of URSA is always below that of CDA. CDA selects the position of every node where the distance between the node and each of its basic nodes is R c , which makes the path to its cluster head node long. On the contrary, URSA deploys the cluster head nodes near the water surface and adjusts the positions of in-cluster nodes with the principle of minimizing their hop number, which makes the path in the cluster short and reduces the energy consumption of network deployment effectively. In the topology formed by URSA, the communication radius of the node that sends numerous data bags is small (i.e., the distance that those data bags transmit is relatively small), whereas the communication radius of the node that sends a few data bags is great. As a result, the energy loss during data bag transmission decreases, as well as the average node energy consumption of network operations in each round.

Effect of Varying N on Every Indicator
Sensors 2016, 16,98 energy consumption of network deployment effectively. In the topology formed by URSA, the communication radius of the node that sends numerous data bags is small (i.e., the distance that those data bags transmit is relatively small), whereas the communication radius of the node that sends a few data bags is great. As a result, the energy loss during data bag transmission decreases, as well as the average node energy consumption of network operations in each round.  Figure 16 indicates the balance comparison of network energy consumption for varying numbers of nodes. In the figure, the variance of the energy consumption of the network deployed by URSA is significantly below that by CDA owing to the network layout formed by URSA. In such a network layout, the density of nodes in the area close to the sink node is great, whereas the communication radius of the node in that area is small. Nodes, however, should forward considerable information. The situation far away from the sink node is the opposite, which makes the energy consumption of total nodes in the network more balanced. By contrast, using CDA, the communication radius of each node is fixed, and the distribution of nodes in the target area is irregular, thereby leading to the concentrated energy consumption on the nodes near the sink node. With the increasing number of nodes, the amount of information that nodes forward will further increase. Hence, the communication energy consumption of every node cannot be balanced by the different communication radii of nodes, and the variance of the network energy consumption of the two algorithms becomes significant with the increasing number of nodes.  Figure 16 indicates the balance comparison of network energy consumption for varying numbers of nodes. In the figure, the variance of the energy consumption of the network deployed by URSA is significantly below that by CDA owing to the network layout formed by URSA. In such a network layout, the density of nodes in the area close to the sink node is great, whereas the communication radius of the node in that area is small. Nodes, however, should forward considerable information. The situation far away from the sink node is the opposite, which makes the energy consumption of total nodes in the network more balanced. By contrast, using CDA, the communication radius of each node is fixed, and the distribution of nodes in the target area is irregular, thereby leading to the concentrated energy consumption on the nodes near the sink node. With the increasing number of nodes, the amount of information that nodes forward will further increase. Hence, the communication energy consumption of every node cannot be balanced by the different communication radii of nodes, and the variance of the network energy consumption of the two algorithms becomes significant with the increasing number of nodes. 20 communication radius of each node is fixed, and the distribution of nodes in the target area is irregular, thereby leading to the concentrated energy consumption on the nodes near the sink node. With the increasing number of nodes, the amount of information that nodes forward will further increase. Hence, the communication energy consumption of every node cannot be balanced by the different communication radii of nodes, and the variance of the network energy consumption of the two algorithms becomes significant with the increasing number of nodes.

Conclusions
This study proposes URSA. Each node begins the process of uneven clustering according to the distance to the sink node. Each cluster head node then uses the hybrid radius path-selection method to construct a connected path to the sink node and adjusts its own depth while maintaining the uneven layout on the water surface. For each in-cluster node, a cluster head node considers the redundant coverage rate on the position where the distance between the in-cluster nodes and its basic nodes is greater than 2R s , equal to 2R s and less than 2R s and, finally, selects its position to minimize its hop number on the condition of declining coverage rate. The proposed algorithm, taking into account the indicators of the network coverage rate and network connection rate as the same with the other mobile-restricted self-deployment algorithms, additionally considers network reliability and the balance of the energy consumption of the network during node deployment. In addition, comparing to current algorithms only considering the redundant coverage rate of one or two fixed positions during optimizing the network coverage rate, the proposed algorithm additionally considers the coverage redundancy rate of all positions that the node may reach. The simulation results under different numbers of nodes show that compared to CDA, URSA has a greater network coverage rate, less and balanced network energy consumption and greater network reliability.
As future work, we plan to extend the ideas in this paper considering the node deployment about the node probability perception model and free-to-move nodes. The in-cluster position adjustment strategy needs to be modified to some degree. In addition, we also plan to consider some more realistic models, such as an underwater environment with some obstacles, to improve the algorithm adaptability. Meanwhile, we plan to conduct experiments on the simple sensor nodes and to further verify the algorithm practicability.