As was shown by Frances H. Arnold, Prof. of California Institute of Technology, in her Nobel Lecture, "Responsible for adaptation, optimization, and innovation in the living world, evolution executes a simple algorithm of diversification and natural selection, an algorithm that works at all levels of complexity from single protein molecules to whole ecosystems." Some of fundamental principles (e.g., natural selection) of biological evolution originated from Alfred Russel Wallace and Charles Robert Darwin. These principles, however, can be and have been employed to solve many (not all) complex computational (e.g., evolutionary algorithms), design (e.g., artificial life), modelling, and engineering (e.g., directed evolution) problems, often (though not always) with practically promising or satisfactory performance. In this open book, we will focus on computational (rather biological) evolution for modeling, optimization, learning, and design from both the historical and modern perspective.
Although initially (especially at the beginning stage) so-called biological evolution-based inspirations (in the form of metaphors) are an attractive and interesting point to many readers, researchers, and practitioners, undoubtedly its increasingly solid mathematical foundations, very flexbile algorithmic frameworks, widely available implementation software, and various application successes (i.e., practical usefulness), which are of our great interest, play cornerstone roles in the growing maturity of the Evolutionary Computation/Computing (EC) field, including but not limited to Evolutionary Algorithms (EAs).
Our modest goal for this open book is to provide modern information regarding to EC and some (not all) advanced EC topics, in order to help perplexed novices foster the desirable ability of judging whether or not it is a good research practice on EC, which we think is very crucial for perplexed novices in the explosion of metaphor-centred methods and the rise of Large Language Models (LLMs). Our main focus on EC is and should be general principles and techniques of designing and analyzing EC (that is, whether, when, why, and how to employ EC) and also their real-world applications, rather than only their biological metaphors (though some metaphors played an interesting and important role in their early formation stage). In fact, these two key aspects (i.e., theories and practices) have been often asked to ourselves and our colleagues. In this sense, we argue that this open book is one (not necessarily perfect yet worthwhile to explore) answer to these often-asked questions (in short, whether, when, why, and how to use and study EC).
Although we believe there may be more or less opportunities to extend it (such as Quality-Diversity and Meta-Evolution) significantly, most of its fundamentally algorithmic structures have been fixed and unchanged over the past 20 years, to some extents. Therefore, we first adopt a historical perspective to summarize classical EC work as the basis of the modern perspective, following the good suggestion (i.e., a unified approach) from e.g., Prof. De Jong. For effectiveness and efficiency, "leveraging (or learning) the statistical and computational structure of problem" no matter explicitly or implicitly is now one of main research goals when desiging different EA versions, variants, extensions, and improvements for different kinds of hard problems (such as, FunSearch, Learned (Black-Box) Optimizers, OpenAI-ES, Population-Based Training (PBT), Surrogate Models, NES, CMA-ES, EDA/CEM, to name a few).
First, an important-yet-difficult research question to be answered is the underlying assumptions behind EAs. Since the black-box (or more generally, complex) nature of hard (e.g., NP-hard) problems tackled approximately by EAs, it is very difficult, if not impossible, to mathematically quantitize these (typically implicit) assumptions behind different EAs, and also their working principles (e.g., from first principles). In this open book, we will first discuss the hard-to-clarify relationships between underlying assumptions and black-box applications. Note that in practice, the level of black-boxes vary on different classes of complex problems.
Up to now, there have been several wonderful books devoted to EC, such as [Eiben&Smith, 2015], [De Jong, 2006], [Fogel, 2006]/[Fogel, 1998], [Mitchell, 1998], [Back, 1996], [Koza, 1990], to name a few. Furthermore, there have been a number of well-written review/survey/perspective papers for EC or one particular class of EAs: e.g., [Miikkulainen&Forrest, 2021, Nature MI], [Lehman et al., 2020, ALJ], [Eiben&Smith, 2015, Nature], [Schoenauer, 2015], [De Jong&Fogel&Schwefel, 1997], [Koza, 1994], [Forrest, 1993, Science], just to name a few. Undoubtedly, all of these above works provide multiple good starting points to learn EAs or one particular algorithm class for practice and to enter the EC research community.
With the renaissance of neural networks (now also called deep learning) for AI/ML, the interesting interactions between learning and evolution (e.g., [Hinton&Nowlan, 1987], [Maynard Smith, 1987, Nature]) are worthwhile to be further investigated. in its infancy
Written by Qiqi Duan (@HIT&SUSTech, Shenzhen, China), Qi Zhao (@SUSTech, Shenzhen, China), Qingquan Zhang (@SUSTech, Shenzhen, China), and Yuhui Shi (@SUSTech, Shenzhen, China).
- https://probml.github.io/pml-book/: This very popular book (Machine Learning: A Probabilistic Perspective) directly motivated the name of our open-access book.
- https://aima.cs.berkeley.edu/: This very popular book (Artificial Intelligence: A Modern Approach) directly motivated the name of our open-access book.
- Eiben, A.E. and Smith, J.E., 2015. Introduction to evolutionary computing. Springer.
- Fogel, D.B., 2006. Evolutionary computation: Toward a new philosophy of machine intelligence. John Wiley & Sons. [David B. Fogel: IEEE Evolutionary Computation Pioneer Award 2008]
- De Jong, K.A., 2006. Evolutionary computation: A unified approach. MIT Press. [[GECCO-2017], [GECCO-2015], [GECCO-2009], [GPME-2007], [ALJ-2007]] (This classical book for EC directly motivated the name of this open-access book.) [Kenneth De Jong: IEEE Evolutionary Computation Pioneer Award 2005]
- Mitchell, M., 1998. An introduction to genetic algorithms. MIT Press.
- Bäck, T., Fogel, D.B. and Michalewicz, Z., 1997. Handbook of evolutionary computation. Oxford University Press. [Thomas Bäck: IEEE Evolutionary Computation Pioneer Award 2015; David B. Fogel: IEEE Evolutionary Computation Pioneer Award 2008]
- Back, T., 1996. Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming, genetic algorithms. Oxford University Press. [Thomas Bäck: IEEE Evolutionary Computation Pioneer Award 2015]
- Schwefel, H.P., 1993. Evolution and optimum seeking: The sixth generation. John Wiley & Sons. [Hans-Paul Schwefel: IEEE Frank Rosenblatt Award 2011 + IEEE Evolutionary Computation Pioneer Award 2002 (with Ingo Rechenberg)]
- Holland, J.H., 1992. Adaptation in natural and artificial systems: An introductory analysis with applications to biology, control, and artificial intelligence. MIT Press. [John H. Holland: IEEE Evolutionary Computation Pioneer Award 2003]
- Koza, J.R., 1990. Genetic programming: A paradigm for genetically breeding populations of computer programs to solve problems. Technical Report, Department of Computer Science, Stanford University. [John Koza: IEEE Evolutionary Computation Pioneer Award 2024]
- Goldberg, D.E., 1989. Genetic algorithms in search, optimization and machine learning. Pearson Education. [David E. Goldberg: IEEE Evolutionary Computation Pioneer Award 2010 (with John Greffenstette)]