# An Improved Energy-Efficient Routing Protocol for Wireless Sensor Networks
## 1 Introduction  
Wireless sensor networks (WSNs) generally consist of considerable sensor nodes (SNs) with limited energy. WSNs are randomly deployed in a particular region to acquire various types of environmental parameters and transmit information to the base station (BS) for monitoring and detecting applications [1]. They have been widely applied in forest fire detection, surveillance, military, human health detection, etc., and thus have attracted the interest of researchers in recent years [2; 3]. Because WSNs are usually deployed in hazardous environments, recharging or replacing the batteries of the SNs is very difficult. Moreover, the manual operation of the network is highly difficult, which brings some challenges regarding the application of WSNs [4; 5; 6]. To remedy these drawbacks, the efficient use of the battery energy of SNs should be considered as a primary goal when researchers design protocols and hardware architectures [7]. Therefore, several routing protocols have been proposed to render the sensor network more energy efficient [8; 9]. The cluster formation and various communication modes of transmitting data have been the most emphasized approaches. In general, compared with non-clustering protocols, cluster-based routing protocols can efficiently use the SNs in the network [10]. A cluster leader, called the cluster head (CH),is in charge of eliminating the correlated data that can decrease the final data volume. Afterwards, the CH will transmit the aggregated data to the BS [11; 12; 13]. In cluster-based routing protocols, SNs are divided into many clusters to decrease energy consumption for long distance communication. The clustering can minimize the overall energy consumption and balance the nodes' workload, which is caused by the large difference in the energy depletion between the CHs and other nodes. Therefore, clustering is an energy-efficient solution for increasing network longevity and improving energy efficiency. Moreover, most clustering protocols adopt optimal CH selection to avoid the premature death of the SNs and further extend the lifetime of the network [14; 15; 16]. According to [17], we know that SNs consume more energy during communication than during the computation process. In contrast, some other protocols adopt multi-hop communication, and the nodes close to the BS have excessive transmission overhead, leading to energy holes in the sensor field [18]. To address the energy hole problem and prolong the network lifetime, many clustering protocols have been specifically proposed for WSNs. The low-energy adaptive clustering hierarchy (LEACH) is the most important hierarchical routing protocol in terms of saving energy compared with traditional routing protocols [19]. In this type of protocol, the entire network is divided into several clusters, and each cluster selects a node in a probabilistic manner as a CH that is in charge of receiving, aggregating, compressing, and sending the information collected from other non-CH nodes to the BS. With the objective of minimizing the energy consumption of the WSNs, the LEACH routing protocol designates a single CH node in each cluster and selects the CH on a rotation basis. Although the efficiency of the LEACH protocol has been closely studied, it still has some drawbacks that require improvement--on one hand because selecting the CH is based on a random round robin, the number of CHs is unreasonable in each round, and the nodes at the boundary of the network will be elected as the CH. On the other hand, there is no consideration of the distribution of the CHs, the threshold condition, and the remaining energy of each node after the end of each round. Consequently, these issues will result in energy overheads. To remedy this problem, based on this classical hierarchical clustering protocol, a variety of protocols have been proposed [19]. In contrast to the LEACH protocol, a novel distributed protocol called the scalable energy-efficient clustering hierarchy (SEECH) assigns CHs and relays roles to different nodes [20].