Morgan Kaufmann, 2001. — 587.
Evolution in nature, an outstanding example of natural adaptation processes at work, has resulted in a fantastic diversity of life-forms with amazing capabilities. Populations of organisms, adapting to their particular environmental conditions, form cooperating and competing teams in an evolutionary interplay of selection and variation mechanisms. The growth plans of organisms, encoded in the genomes of cells, vary from generation ro generation. Finally those individuals will prevail that – largely because of their specific abilities and features – are best able to cope with their environmental conditions.
From these evolutionary principles of adaptation we can derive a number of concepts and strategies for solving learning tasks and develop optimization problems for artificially intelligent systems. Just as natural populations adapt to their environment by evolution, we can selectively modify problem-solving strategies, encode them as programs (e.g., as computer programs), and progressively adjust these programs to a predefined task representing a set of environmental constraints.
Illustrating Evolutionary Computation with Mathematica consists of an introduction and three major parts. The introduction demonstrates key aspects of evolution through simple yet illustrative examples. (I) The two main streams of evolutionary algorithms, genetic algorithms, and evolution strategies are thoroughly explained and are illustrated by example experiments. (II) Focusing on evolutionary programming and genetic programming, we explain how to automatically "breed" computer programs using principles of evolution. (III) Finally, we demonstrate and explore the close connections between developmental and evolutionary processes. We illustrate these concepts by looking at developmental programs found in nature, which we model and evolve in the form of cellular automata and Lindenmayer systems.
Preface: From Darwin to an ArtFlowers Garden
Introduction: The Fascination of Evolution
Part I Evolutionary ComputationEvolutionary Algorithms for Optimization
Genetic Algorithms
Evolution Strategies
Part II If Darwin Had Been a Programmer...Programming by Evolution
Evolutionary Programming
Genetic Programming
Advanced Genetic Programming at Work
Part III Evolution of Developmental ProgramsComputer Models of Developmental Programs
Evolutionary Inference of Lindenmayer Systems
Artificial Plant Evolution