A Wireless Sensor Network (WSN) is composed of a number of wireless sensor nodes that collect data and send it to a base station for processing, storage, and further communication. In many applications of W, the sensor nodes use a small-size battery as their power source. At the same time, a very long life time for the nodes, and thus the WSN, is expected. For instance, in some applications, the deployed WSN is expected to properly operate for years without any human intervention . Therefore, energy efficiency is of paramount importance in design of both hardware and communication protocol stack. Using ultra-low power transceivers are usually used to reduce the energy consumption of the wireless nodes. This fact together with other issues (e.g., interference and medium impact) make the wireless links in W unreliable and time-varying. As a result, it is difficult to guarantee quality-of-service in terms of end-to-end packet delivery in these networks. Clustering methods are presented as a solution to save energy in W. In these mechanisms, a number of nodes in the network are selected as Cluster Head (CH) and the other nodes join one of these CHs for their communication. Each node sends its data only to its CH. The CHs receive data from the nodes in their cluster and forward it, after aggregation, to a base station. Since CHs play a critical role in the performance of the clus tered W, cluster head selection is an important aspect of these mechanisms. This thesis proposes an efficient clustering method that considers end-to-end communication reliability in addition to the energy efficiency provided by clustering. To achieve such reliability in data delivery, the quality of wireless links is measured and taken into account in addition to the remaining energy as parameters for selecting proper cluster heads. Moreover, in order to facilitate this decision-making and deal with the uncertainty in link quality, which is one of the inherent characteristics of W, fuzzy logic and fuzzy inference systems are exploited to calculate the chance of each node for becoming cluster head. The nodes with the highest chance in their neighborhood are then decide to play the role of cluster head. The proposed mechanism is implemented in MATLAB and several simulation setups are tested to evaluate the performance of the proposed method and compare it with that of related mechanisms in literature. The achieved results confirm that the proposed mechanism improves the end-to-end data delivery ratio, which means more reliable communication. Also, various options that are available to be exploited at different stages of clustering are tested via extensive simulations and the results are discussed. Keywords: Wireless sensor network, Clustering, Link quality