## 1 Introduction  
In the future generation of communications networks, real-time localization and position-based services are required that are accurate, low cost, energy efficient and reliable [1, 2]. Nowadays, Wireless Sensor Networks (WSNs) can be applied in many applications, such as natural resources investigation, targets tracking, unapproachable places monitoring and so forth. In these applications, the information is collected and transferred by the sensor nodes. Various applications request these sensor nodes' location information. Moreover, the location information is also indispensable in geographic routing protocols and clustering [3, 4]. All these mentioned above make localization algorithms become one of the most important issues in WSNs researches. Thus, locations of sensor nodes are important for operations in WSNs. Localization in WSNs has been intensively studied in recent years, with most of these studies relying on the condition that only a small proportion of sensor nodes, called anchor nodes, know their exact positions through GPS devices or manual configuration [5, 6, 7]. Other sensor nodes estimate their distances to anchor nodes and calculate positions with multi-lateration techniques. These methods provide satisfactory level of accuracy with a small proportion of anchor nodes in WSNs [8, 9]. The sensor nodes are randomly deployed in inaccessible terrain by the vehicle robots or aircrafts to be used in many promising applications, such as health surveillance, battle field surveillance, environmental monitoring, coverage, routing, location service, target tracking, and rescue [10]. The Global Positioning System (GPS) or the standalone cellular systems are the most promising and accurate positioning technologies. Although they are widely accessible, the limitation of high cost and energy consuming of GPS system makes it impractical to install in every sensor node where the lifetime of a sensor node is very crucial. On the other hand, the cellular signals are interrupted in scenarios with deep shadowing effects [11]. In order to reduce the energy consumption and cost, only a few number of nodes which are called anchor or beacon nodes, contain the GPS modules. The other nodes could obtain their position information through localization method. Wireless sensor network is composed of a large number of inexpensive nodes that are densely deployed in a region of interests to measure certain phenomenon. The primary objective is to determine the location of the sensor node. Node self-localization can be classified into two categories: range based localization and range free localization. The former method uses the measured distance/angle to estimate the location. In addition, the latter method uses the connectivity or pattern matching method to estimate the location. Various localization algorithms and methodologies have been proposed to deal with different problems in different applications. A combination of different range based techniques called hybrid positioning is a well known approach for localization that exhibits sufficient accuracy and coverage [12]. On the other hand, the localization algorithms based on hop distance and hop count based information between anchor nodes and sensor nodes are commonly known in the literature as connectivity-based or range-free algorithms. Depending on the process used to estimate the distances between the intermediate nodes, range-free algorithms may fall into two categories: heuristic, and analytical [13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33]. Also, range free localization algorithms are categorized based on the deployment scenarios. The categorization has been divided into four groups: (1) static sensor nodes and static anchor nodes [34; 35]; (2) static sensor nodes and mobile anchor nodes [36; 37]; (3) mobile sensor nodes and static anchor nodes [38; 39]; and (4) mobile sensor nodes and mobile anchor nodes [40; 41].