The clustering problem has been addressed in many contexts and by researchers in many disciplines. This reflects its broad appeal and usefulness as one of the steps in exploratory data analysis. Clustering is a challenging field of research in which its potential applications pose their own special requirements. However, clustering is a difficult problem combinatorially, and differences in assumptions and contexts in different communities have made the transfer of useful generic concepts and methodologies slow to occur. This book, therefore, provides a new methods for clustering complex data sets and improve performance of some algorithms that illustrated in the literature. Experimental results are shown in this book to demonstrate the effectiveness of the proposed algorithms.