## 2 Related work  
The main task of a sensor network is to forward the sensing data gathered by sensor nodes to the base station. One simple approach to the fulfillment of this task is direct data transmission. In this case, each node in the network directly sends sensing data to the base station. However, if the base station is remote from the sensor node, the node will soon die due to excessive energy consumption for delivering data. To solve this problem, some algorithms aimed at saving energy have been proposed [3-7]. [PERSON] _et al._[3] proposed an alternative clustering-based algorithm, called LEACH (Low-Energy Adaptive Clustering Hierarchy). It assumes that there exists a unique base station outside the sensor network and all the sensor nodes can communicate with this base station directly. In order to save energy, LEACH only chooses a fraction p of all sensor nodes to serve as cluster heads, where p is a design parameter that must be determined before deployment. The rest sensor nodes join the proper clusters according to the signal strength from cluster heads. In order to share the energy load, its operation is divided into rounds which can guarantee the cluster head rotate in each round. In each round, after cluster formation phase, the cluster heads aggregate the data received from their cluster members and send the aggregated data to the base station by single hop communication, so it can sharply reduce the data needed to be transmitted to the base station. [PERSON] _et al._ proposed an algorithm related to LEACH, called PEGASIS [4]. These authors noticed that for a node, within a range of some distance, the energy consumed for receiving or sending circuits is higher than that consumed for amplifying circuits. In order to reduce the energy consumption of sensor nodes, PEGASIS uses the GREED algorithm to form all the sensor nodes in the system into a chain. According to its simulation results, the performance of PEGASIS is better than LEACH, especially when the distance between sensor network and sink node is far large. In [5], to deal with the heterogenous energy circumstance, the node with the higher energy should have the larger probability to become the cluster head. In this paper, each node must have an estimate of the total energy of all nodes in the network to compute the probability of its becoming a cluster head. As a result, each node will not be able to make a decision to become a cluster head if only its local information is known. In this case, the scalability of this protocol will be influenced. [PERSON] _et al._ proposed a new clustering algorithm CODA [6] in order to relieve the inbalance of energy depletion caused by different distances from the sink. CODA divides the whole network into a few groups based on node's distance to the base station and the routing strategy. Each group has its own number of clusters and member nodes. CODA differentiates the number of clusters in terms of the distance to the base station. The farther the distance to the base station, the more clusters are formed in case of single hop with clustering. It shows better performance in terms of the network lifetime and the dissipated energy than those protocols that apply the same probability to the whole network. However, the work of CODA relies on global information of node position, and thus it is not scalable. [PERSON] _et al._[7] presented a comparative study of homogeneous and heterogeneous networks in terms of overall cost of the network, defined as the sum of the energy cost and the hardware cost. They analyzed both single-hop and multi-hop networks. They used LEACH as a representative homogeneous, single-hop network, and compared LEACH with a heterogeneous single-hop network. The authors indicate that using single-hop communication between sensor nodes and the cluster head may not be the best choice when the propagation loss index k for intra-cluster communication is large (k \(>\) 2).