Gabriela Ochoa
School of Cognitive and Computing Sciences
The University of Sussex
Book: An Introduction to Genetic Algorithms by Melanie
Mitchell. (MIT Press, 1996).
Journal: Artificial Life (MIT Press).
Melanie Mitchell's book is one of the last published general books in Genetic Algorithms (GAs). The book introduces this rapidly growing field in a brief (only 200 pages) but effective manner. It is intended to address both students and researchers, and is accessible to anyone with a college-level scientific background interested in learning about or using GAs. Some level of computer programming is, however, required.
The book covers the background and history of the field, as well as the principal motivations behind it. The biological notions and terminology of relevance are adequately discussed. The genetic algorithm is properly characterised in the more general framework of computerised search methods. The algorithm itself is very well described, and several important and informative examples of applications are discussed in ample detail. Moreover, a good account of the status of the theory of Genetic Algorithms is exposed. A complete survey of interesting open problems and important directions for future research topics is provided. No less important a comprehensive list of other resources in GAs and in the more general area of evolutionary computation is supplied. This set of resources includes: (i) a group of selected journals; (ii) a list of selected annual or biannual conferences; and (iii) a group of Internet mailing lists, World Wide WEB sites, and news groups with information and discussion on GAs. These lists of resources are extremely useful for a beginning researcher in the area of evolutionary computation. Finally, the book contains an extensive and complete bibliography comprehending most relevant research in evolutionary biology, computer science and evolutionary computation.
In technology and science GAs have been used as adaptive algorithms for solving practical problems and as a computational models of natural evolutionary systems. What distinguishes this book from other general books in the field, as for instance Goldberg [Gol89], Davis [Dav91], and Michalewicz [Mic92] books, is Mitchell's emphasis in the use of GAs in scientific models, instead of the more common focus on optimisation techniques and engineering application. In her own words ([Mit96], p. vii):
Its [the book] purpose is to describe in depth some of the most interesting work in this field rather than to attempt a complete but less detailed survey. What is ``most interesting'' is, of course, very subjective; the choice of topics reflect my own interests, which lean toward machine learning, scientific modeling, and ``artificial life'' more than toward optimization and engineering.
This emphasis, makes Mitchell's book the more appropriate choice for anyone interested in the use of genetic algorithms in artificial life, and more generally in their use as a tool for scientific inquiry. The book ventures beyond the strict boundaries of computer science into the worlds of dynamical systems theory, game theory, molecular biology, ecology, evolutionary biology, and population genetics. This interdisciplinary flavour is what makes genetic algorithms' research fascinating and highly valuable. GA researchers have to be generalists, willing to step out of their own discipline and learn something about a new one in order to pursue a promising application or model. This spirit is very well captured by Melanie Mitchell in her book.
A whole chapter (chapter 3) is dedicated to the use of genetic algorithms in scientific models. One of the long-term goals of research in Artificial Life is to study natural evolution through artificial evolution [JC91]. Traditionally, biologists have used several ways to study evolution: (a) the mathematics of population genetics, (b) laboratory and field experiments, (c) examination of molecular relationships among modern species, and (d) examination of the fossil records. However, each of these methods have a number of inherent limitations. The invention of computers has permitted a new approach to studying evolution and other natural systems: simulation. A computer program can simulate the evolution of populations of organisms over millions of simulated generations, and such simulations can potentially be used to test theories about the biggest open questions in evolution. Simulation experiments can do what traditional methods typically cannot: experiments can be controlled, they can be repeated for distinct parameter settings, and they can be run for many simulated generations. Genetic algorithms are one obvious method for computer simulation of evolutionary systems. Their use in this scenario is growing given the rising interest among computer scientists in building computational models of biological processes. Thus, in chapter 3, Mitchell describes several computer modelling efforts, undertaken mainly by computer scientist, and aimed at answering the following questions ([Mit96], p. 87):
How can learning during a lifetime affect evolution of a species? What is the evolutionary effect of sexual selection? What is the relative density of different species over time in a given ecosystem? How are evolution and adaptation to be measured in an observed system?
A curious characteristic of the book, that distinguishes it likewise from other books in the field, is the fact that there is not a single line of source code in the text or appendices. This could be considered a disadvantage at first sight, but it is really not the case, as a lot of very good public domain implementations of GAs are available from the Internet. Source code, packages and libraries for different platforms and programming languages can be found. Moreover, as mentioned above, the main pointers to Internet resources in the field are included in the book.
Best of all the book presents its material in clear, straightforward prose, accessible -as we mentioned above-- to anyone with a college-level scientific background. Not mathematics beyond algebra is used, except in the chapter dealing with the theoretical foundations of GAs. In this chapter Holland's theory of schemas analysis of the two-armed bandit problem is derived, and some exact mathematical models of GAs, and statistical-mechanics approaches are exposed. In this chapter, calculus, vector algebra, and probability theory come into play.
Scientists from any discipline could access the book. It could be used, as well, as a text for graduate or upper-level undergraduate courses in which GAs are featured. Thought exercises and computer exercises are given at the end of each chapter.
Finally, this book accomplishes very well their stated purposes and goals: to introduce the field of genetic algorithms in a concise and straightforward way, to encourage interdisciplinary research, and to communicate the enthusiasm and challenge of pursuing research in this still very young, rapidly growing, and fascinating field.
