Genetic algorithms have been used in science and engineering as adaptive algorithms for solving practical problems
and as computational models of natural evolutionary systems. This brief, accessible introduction describes some
of the most interesting research in the field and also enables readers to implement and experiment with genetic
algorithms on their own. It focuses in depth on a small set of important and interesting topics--particularly in
machine learning, scientific modeling, and artificial life--and reviews a broad span of research, including the
work of Mitchell and her colleagues. The descriptions of applications and modeling projects stretch beyond the
strict boundaries of computer science to include dynamical systems theory, game theory, molecular biology, ecology,
evolutionary biology, and population genetics.
Table of Contents
1. Genetic Algorithms: An Overview
A Brief History of Evolutionary Computation The Appeal of Evolution Biological Terminology
Search Spaces and Fitness Landscapes Elements of Genetic Algorithms A Simple Genetic Algorithm
Genetic Algorithms and Traditional Search Methods Some Applications of Genetic Algorithms Two Brief
Examples How Do Genetic Algorithms Work? Thought Exercises Computer Exercises
2. Genetic Algorithms in Problem Solving
Evolving Computer Programs Data Analysis and Prediction Evolving Neural Networks Thought
Exercises Computer Exercises
3. Genetic Algorithms in Scientific Models
Modeling Interactions Between Learning and Evolution Modeling Sexual Selection Modeling Ecosystems
Measuring Evolutionary Activity Thought Exercises Computer Exercises
4. Theoretical Foundations of Genetic Algorithms
Schemas and the Two-Armed Bandit Problem Royal Roads Exact Mathematical Models of Simple Genetic
Algorithms Statistical-Mechanics Approaches Thought Exercises Computer Exercises
5. Implementing a Genetic Algorithm
When Should a Genetic Algorithm Be Used? Encoding a Problem for a Genetic Algorithm Adapting the
Encoding Selection Methods Genetic Operators Parameters for Genetic Algorithms Thought
Exercises Computer Exercises