## 3 The Self-Adaptive Mobile Clustering Algorithm (SAMCA)
### Splitting Clusters  
In order to balance the load among clusters, the cluster with a large cluster size should be divided into smaller clusters. There are many ways to solve this problem. One possible approach is to consider the split cluster as a small network and to apply the Phase I of the SAMCA algorithm (as detailed in Section 3.1.). Thus, if the cluster size \(N_{C_{i}}>UB\), clusterhead \(ch_{i}\) will send a message to its cluster members and trigger the split procedure using random timers and local information. As a result, the splitted cluster \(C_{i}\) will efficiently distribute its load to these new formed clusters and maintain the network operation. Figure 4 and Figure 5 illustrate the cluster merge and split process of random networks, respectively.  
Notice that since the neighbor sensor properties depends on the type of sensor mobility occurring in the network, the upper bound _UB_ and the lower bound _LB_ of the cluster size are given according to the number of sensors and issues on the sensor mobility model. Moreover, these parameters have the effect on the network maintenance since they may determine the frequency of topology change in mobile networks. Instead of using arbitrary settings for these constraint parameters [38], the analysis of the upper and lower bounds is detailed in Section 4.1.  
long as the cluster member satisfies the constraint, it generates a random waiting time:  
\[WT_{i}^{(k+1)}=\left(1-\frac{E_{i}^{(k)}}{E_{i}^{\max}}\right)\cdot\log_{2}\left(1 +\frac{|v_{i}^{(k)}-\frac{1}{2}(v_{\max}+v_{\min})|}{\frac{1}{2}(v_{\max}-v_{ \min})}\right)\cdot\rho\cdot WT_{i}^{(k)}, \tag{4}\]  
which depends on the number of neighboring cluster members, the node mobility, and the remaining energy level. Note that \(E_{i}^{(k)}\) is the energy at time step \(k\) and \(E_{i}^{\max}\) is the initial energy of sensor \(i\).  
For real applications, it is possible that the clusterhead may malfunction before broadcasting the re-selection message. One solution is that if a certain amount of time has passed with no messages from the clusterhead, then the cluster members begin their timers and apply the algorithm to re-initialize the network into new clusters and to help balance the energy burden.  
Like the clusterhead reselection, the contenders of the reselection process should satisfy the energy level constrain, which leads to the modified weighting value by multiplying a factor \((1-E_{i}^{(k)}/E_{i}^{\max})\) to (2). When finding new neighboring clusters or splitting clusters, the corresponding border sensors may apply the gateway selection method (detailed in Section 3.1.) to establish the communication linkage. When merging two clusters, the distributed gateways of the merged cluster broadcast cluster ID update messages to inform the neighboring clusters about the topology change and further update the gateway sensors as demonstrated in Figure 6. Moreover, when the gateway sensors detect the link down events between the corresponding pairs of distributed gateways, say gateway \(G_{ij}\) and gateway \(G_{ji}\) for cluster \(i\) and cluster \(j\), the gateway sensors may send a message to initialize the reselection process.