Principles of soft computing - Sivanandam, S. N (Wiley, 2013)