Evolutionary algorithms is a class of randomized heuristics inspired by natural evolution. They are applied in many different contexts, in particular in optimization, and analysis of such algorithms has seen tremendous advances in recent years.
In this book the author provides an introduction to the methods used to analyze evolutionary algorithms and other randomized search heuristics. He starts with an algorithmic and modular perspective and gives guidelines for the design of evolutionary algorithms. He then places the approach in the broader research context with a chapter on theoretical perspectives. By adopting a complexity-theoretical perspective, he derives general limitations for black-box optimization, yielding lower bounds on the performance of evolutionary algorithms, and then develops general methods for deriving upper and lower bounds step by step. This main part is followed by a chapter covering practical applications of these methods.
The notational and mathematical basics are covered in an appendix, the results presented are derived in detail, and each chapter ends with detailed comments and pointers to further reading. So the book is a useful reference for both graduate students and researchers engaged with the theoretical analysis of such algorithms.
In this book the author provides an introduction to the methods used to analyze evolutionary algorithms and other randomized search heuristics. He starts with an algorithmic and modular perspective and gives guidelines for the design of evolutionary algorithms. He then places the approach in the broader research context with a chapter on theoretical perspectives. By adopting a complexity-theoretical perspective, he derives general limitations for black-box optimization, yielding lower bounds on the performance of evolutionary algorithms, and then develops general methods for deriving upper and lower bounds step by step. This main part is followed by a chapter covering practical applications of these methods.
The notational and mathematical basics are covered in an appendix, the results presented are derived in detail, and each chapter ends with detailed comments and pointers to further reading. So the book is a useful reference for both graduate students and researchers engaged with the theoretical analysis of such algorithms.
From the book reviews:
"This book focuses on the theoretical analysis of evolutionary algorithms as one of the randomized algorithms in computer science. ... This book serves as a very useful source for researchers who are interested in exploring these challenging topics. ... I highly recommend it for anyone who is looking to explore both the theoretical aspects of evolutionary algorithms and the practical aspects of designing more efficient algorithms." (R. Qu, Interfaces, Vol. 44 (4), July-August, 2014)
"'Analyzing evolutionary algorithms' is a beautiful book that has a lot to offer to people with different backgrounds. It not only explains evolutionary algorithms and puts them into relationship with other randomized search algorithms, it also provides detailed information for specialists who want to understand in depth how, why, and when evolutionary algorithms work. ... The book is complemented by an extended list of references and suggestions for further reading." (Manfred Kerber, zbMATH, Vol. 1282, 2014)
"This textbook provides a self-contained introduction into this exciting research subject. It can be used as a course text for advanced undergraduate or graduate levels, and it is at the same time a much welcome reference book for active researchers in this area. ... Each chapter is therefore complemented by a remarks section that briefly summarizes the advances in the respective topics. In many cases pointers are given to recent research reports." (Carola Doerr, Mathematical Reviews, October, 2013)
"Analyzing Evolutionary Algorithms is aimed at evolutionary computation researchers and enthusiasts who are interested in the theoretical analysis of evolutionary algorithms. It will be accessible to post-graduates and advanced undergraduates in mathematics and/or computer science, and generally anyone with a working background in discrete mathematics, algorithms, and basic probability theory. Theoreticianswill benefit from this book because it works well as a convenient reference for essential analytical strategies and many up-to-date results." (Andrew M. Sutton, Genetic Programming and Evolvable Machines, Vol. 14, 2013)
"This book focuses on the theoretical analysis of evolutionary algorithms as one of the randomized algorithms in computer science. ... This book serves as a very useful source for researchers who are interested in exploring these challenging topics. ... I highly recommend it for anyone who is looking to explore both the theoretical aspects of evolutionary algorithms and the practical aspects of designing more efficient algorithms." (R. Qu, Interfaces, Vol. 44 (4), July-August, 2014)
"'Analyzing evolutionary algorithms' is a beautiful book that has a lot to offer to people with different backgrounds. It not only explains evolutionary algorithms and puts them into relationship with other randomized search algorithms, it also provides detailed information for specialists who want to understand in depth how, why, and when evolutionary algorithms work. ... The book is complemented by an extended list of references and suggestions for further reading." (Manfred Kerber, zbMATH, Vol. 1282, 2014)
"This textbook provides a self-contained introduction into this exciting research subject. It can be used as a course text for advanced undergraduate or graduate levels, and it is at the same time a much welcome reference book for active researchers in this area. ... Each chapter is therefore complemented by a remarks section that briefly summarizes the advances in the respective topics. In many cases pointers are given to recent research reports." (Carola Doerr, Mathematical Reviews, October, 2013)
"Analyzing Evolutionary Algorithms is aimed at evolutionary computation researchers and enthusiasts who are interested in the theoretical analysis of evolutionary algorithms. It will be accessible to post-graduates and advanced undergraduates in mathematics and/or computer science, and generally anyone with a working background in discrete mathematics, algorithms, and basic probability theory. Theoreticianswill benefit from this book because it works well as a convenient reference for essential analytical strategies and many up-to-date results." (Andrew M. Sutton, Genetic Programming and Evolvable Machines, Vol. 14, 2013)
"[The book] is aimed at evolutionary computation researchers and enthusiasts who are interested in the theoretical analysis of evolutionary algorithms. [It] will be accessible to post-graduates and advanced undergraduates in mathematics and/or computer science, and generally anyone with a working background in discrete mathematics, algorithms, and basic probability theory. Theoreticians will benefit from this book because it works well as a convenient reference for essential analytical strategies and many up-to-date results. Students and newcomers to the field will find the book a handy compendium of techniques that have become indispensable for writing runtime proofs in the evolutionary computation theory community such as black box complexity, drift analysis, fitness-based partitions, and the method of typical runs. Each of these techniques is carefully motivated and presented in a manner that is suitably rigorous, yet again not needlessly arcane. Additionally, at the end of each chapter, there are useful citations to contemporary work that provide more detailed treatments of many of the topics presented in the chapter. Practitioners can also benefit from [the book] since the theoretical foundations it presents serve to illuminate the working principles behind evolutionary algorithms and offer insights into the random processes that govern their behavior. Thus it can cultivate a deeper understanding of these aspects, and such an understanding is crucial for an informed approach to the design of good algorithms." [A.M. Sutton, Genetic Programming and Evolvable Machines (2013) 14:473-475]