## 4 The Proposed Algorithm-TCEB
### Non-Cooperative-Game-Based Cluster-Head Selection  
With clustering technology, the number of cluster-heads in the network is critical to impact the final performance. To obtain the reasonable number of clusters and select nodes with more residual energy as the cluster-head is the goal of extending lifetime under the condition of limited resources. As far as we know, how to divide the entire network into clusters, i.e., how to determine the number of clusters, is a typical NP-hard problem [7]. Therefore, we use \(N\)th-order nearest-neighbor analysis theory [26] to adaptively calculate and obtain the optimal number of clusters (namely, \(k_{opt}\)). Moreover, the non-cluster-head node is only permitted to communicate with the sink through its cluster-head,which means the cluster-head should consume more energy on its extra communication and the collected data fusion. To ensure the load balance and the greatest degree of energy saving, the nodes in each cluster should be elected to be the cluster-head in turn. Thus, the non-cooperative game theory-based strategy in economics is adopted to determine which nodes are more suitable to be the cluster-head in each round of communication process. Notice that we only use the main idea from the non-cooperative game to make the energy balance. In the non-cooperative game, each node can be selfish but rational, and then a node whether to being the cluster-head is depending on the game. Let \(G=\{N,S,U\}\) be the game model, where \(N\), \(S\), and \(U\) are defined, respectively, as:  
1. \(N=\{n_{1},n_{2},\ldots,n_{n}\}\): Set of players, i.e., \(n_{i}\in N\) is corresponding to node \(i\) in the network. 2. \(S=\{s_{1},s_{2},\ldots,s_{n}\}\): Set of strategies, i.e., \(s_{i}\in S\) (\(s_{i}=0\) or \(1\)) is a strategy of player \(i\) (i.e., node \(i\)), where \(s_{i}=1\) refers to be the cluster-head, otherwise \(s_{i}=0\), which means do not want to be the cluster-head. 3. \(U=\{u_{1},u_{2},\ldots,u_{n}\}\): Set of payoffs, where \(u_{i}\in U\) is the payoff function of player \(i\) (i.e., node \(i\)) if the node \(i\) is elected as the cluster-head. To guarantee energy consumption balance, we consider node's energy and path loss as the main factors of cluster-head selection. Thus, the payoff function \(u_{i}\) can be further expressed as:  
\[u_{i}=\beta\frac{E_{r}(i)}{E_{r}}+(1-\beta)\frac{1}{\sum_{j\in Nei_{i}}p!(i,j) \Big{/}q_{i}} \tag{12}\]  
where \(E_{r}(i)\) and \(E_{r}\) are the residual energy of node \(i\) and the average residual energy of the whole network in current round, respectively; \(p! (i,j)\) denotes the path loss of node \(i\) to its one-hop neighbor node \(j\); \(Nei_{i}\) and \(q_{i}\), respectively, refer to the set of one-hop neighbor nodes and its quantity of the node \(i\); and \(\beta\) is a constant adjustment factor which satisfies \(0<\beta<1\). Notice that \(\sum_{j\in Nei_{i}}p! (i,j)\Big{/}q_{i}\) denotes the average path loss of node \(i\) to its one-hop neighbor nodes. According to the non-cooperative game theory, the player chooses the optimal strategy from the set of strategies to obtain the greater profit. From Equation (12), we can find that the higher the residual energy of the node and the lower the average path loss of the node to its one-hop neighbor nodes, the greater the payoff of the node has. To balance the energy consumption of the network, we make a rule that the node which is being a cluster-head can get better profit. In that case, we move to see which one has obtained the greater profit. In other words, the node which has greater \(u_{i}\) is easier elected with high probability to be the cluster-head. In addition, \(\beta\) is used for adjusting the proportion of the energy and path loss so that we can obtain an optimum payoff for each node, i.e., this is a trade-off between the energy and the path loss. The detailed steps for cluster-head selection can be described as follows. Algorithm 1 shows the pseudo-code of the cluster-head selection.