## 6 Convergence  
Since the network structure is dynamic, the clustering algorithms must have a quick convergence time (Convergence time: represents the duration from when a node starts the execution of the clustering algorithm until the cluster is finally constructed. At the convergence point, no more executions are performed by the node until the end of the clustering process). The convergence time of the algorithm is measured in terms of rounds. Each round is estimated by a number of movements. Therefore, in this section we will prove that our algorithm requires a finite number of movements in the clustering process, which implies its convergence. We assume that the network starts from an arbitrary configuration.  
Lemma 1: _Let \(i\in V\) be the node that has the highest weight value in \(G\) (i.e., \(\forall j\in V-\{i\}:W_{i}>W_{j}\vee(\exists i\
eq j:W_{i}=W_{j}\wedge ID_{i}> ID_{j})\). i makes at most 2 movements (executes (R1) and (R3))._  
Proof: We show that node \(i\) executes a finite number of movements.  
We assume that the value of \(Mych_{i}\) is not updated. Since \(i\) is the weightiest node in \(G\), it has the highest weight among all its neighbors (\(\forall j\in N(i):W_{i}>W_{j}\)). The rule \(R1\) is enabled at node \(i\), it will update the \(Mych_{i}\) value (CH). Next, \(R2\) is executed, \(i\) updates the distance \(Dist(i,Mych_{i})=0\), afterward, no more rules are executed by node \(i\), so it will not make another move. \(Mych_{i}\) and \(Dist(i,Mych_{i})\) will have the same values during the setup phase.  
Lemma 2: _Neighbors at distance \(<k\) from the node with the highest weight \(i\in G\) will execute a finite number of movements._  
Proof: We show that the k-hop neighbors of \(i\) execute a finite number of movements (at most \(2\times k\) movements) before reaching the final state (Final state (or stable state): represents the state where the node has reached the convergence point. From this state, the  
Figure 10: Available link quality estimators (LQE’s) [56].  
node has a correct clustering variable (\(LSV\)) and all the algorithm rules are disabled for this node).  
After that, node \(i\) (the node with the highest weight) reaches a stable state (Lemma 1). Rule R1 and R3 will be enabled for its direct neighborhood \(j\in N(i)\), these neighbors will update their \(Mych\) value (\(Mych=1D_{i}\)), then execute R3 to update the distance \(Dist(i,j)+=1\) (2 movements). After that, no more rule will be enabled in the neighborhood of \(i\) (\(N(i)\) has reached a final state).  
This execution will be repeated by all nodes \(\in N_{2}(i)\). Each node \(j\in N_{2}(i)\) will execute at most 2 movements (\(R1\) and \(R3\)) then finish their execution. Hence, the same scenario is repeated for the rest of nodes until it covers all the nodes in the sub-graph \(G^{{}^{\prime}}=\{i\bigcup N_{<k}(i)\}\) that contains \(i\) and its k-hop neighborhood. Thus, the k-hop neighbors of the node with the highest weight reach the final state after at most \(2\times k\) movements and will not be able to execute any more movements.  
The stability of DC2 HC is ensured.  
Proof.: Since node \(i\) with the highest weight in the network executes a finite number of movements (Lemma 1) and the k-hop neighbors of node \(i\) also execute a finite number of movements (Lemma 2). This implies that the sub-graph composed by the set of nodes \(\{i\}\bigcup N_{k}(i)\) reaches a stable state after a finite number of movements. Let \(G^{{}^{\prime\prime}}=\{G\ /\ (\{i\}\bigcup N_{k}(i))\}\) be the graph obtained by removing the first stabilized sub-graph from \(G\). The execution given above in \(G\) can be repeated in \(G^{{}^{\prime\prime}}\), the second sub-graph that contains the node with the highest weight in \(G^{{}^{\prime\prime}}\) stabilizes with the same reasoning, so all the nodes of the graph will follow this reasoning. This implies that the total number of moves executed by DC2 HC is finite.