L.D. Davis, Handbook of Genetic Algorithms : Artificial Intelligence
L.D. Davis, Handbook of Genetic Algorithms : Artificial Intelligence
L.D. Davis, Handbook of Genetic Algorithms : Artificial Intelligence
Intelligence
ELSEVIER Artificial Intelligence 100 ( 1998) 325-330
Book Review
Mimicking biological evolution and harnessing its power for adaptation are problems
that have intrigued computer scientists for at least three decades. Genetic algorithms
(GAS), invented by John Holland in the 196Os, are the most widely used approaches
to computational evolution. In his book Adaptation in Natural and Ar@cial Systems
(see [ 7,8] also reviewed in this issue), Holland presented GAS in a general theoretical
framework for adaptation in nature. Holland’s motivation was largely scientific-he was
attempting to understand and link diverse types of natural phenomena-but he also
proposed potential engineering applications of GAS. Since the publication of Holland’s
book, the field of GAS has grown into a significant sub-area of artificial intelligence and
machine learning. Nowadays one can find several international conferences each year
as well as at least one journal devoted to GAS and other “evolutionary computation”
approaches. Research on GAS has spread from computer science to engineering and,
more recently, to fields such as molecular biology, immunology, economics, and physics.
One result of this growth in interest has been a division of the field of GAS into
several subspecies. One major division is between research on GAS as engineering tools
and research on GAS as scientific models of evolutionary processes. This split roughly
parallels the split of artificial intelligence research into work on engineering tools and
work on models of cognition. In the GA world, in spite of some overlap between these
two groups, it is usually clear which camp a particular project falls into. In scanning
recent proceedings of the International Conference on Genetic Algorithms (e.g., [ 1,5] )
or the Parallel Problem Solving from Nature conference [ 10,131, one finds that most
papers have a distinct engineering bent. GA evolutionary modelers tend to publish
instead in the Artificial Life and European Artificial Life conference proceedings, in
the Simulation of Adaptive Behavior conference proceedings, or in journals such as
Adaptive Behavior or Biological Cybernetics. A third group concentrates on the theory
of GAS, usually apart from any particular application or model. These theorists tend to
publish in the Foundations of Genetic Algorithms conference proceedings or in special
You should know that, although the findings of evolutionary biologists inspired
the held of genetic algorithms in its early years, and although the findings of
biologists and geneticists continue to influence the field somewhat, this influence
is for the most part unidirectional. I know of no genetic algorithm application
in the area of genetics, nor, to my knowledge, have the findings in our field
impacted the theories of biologists. (p. 3)
This statement is a bit outdated, since there is now a growing literature of GA appli-
cations in molecular genetics (e.g., DNA fragment assembly [3,1 I]) and in human
genetics (e.g., clustering of genetic traits for predicting disease [4]); but Davis is cor-
rect in saying that theoretical biology has not to date been widely influenced by findings
in GAS. My suspicion is that this will change as modelers incorporate more biologi-
cally realistic elements into their GAS such as endogenous rather than explicit fitness,
diploidy, co-evolution, and interactions between evolution and learning. There is already
some interest in GA-like models in the theoretical population genetics literature (e.g.,
[2] ) and in the ecology literature (e.g., [9]).
The Ha,ldbook of Gerletic Algorithms is meant to give just enough information about
GAS to help an interested scientist or engineer apply them to a particular problem. The
book does not give a history of computational evolution or a review of past and current
research such as that given in David Goldberg’s textbook [6]. Instead, Davis’ book
consists of two main parts: a loo-page tutorial written by Davis, giving his admittedly
idiosyncratic approach to GAS, and thirteen chapters (“case studies”) by various authors
describing real-world GA applications. There is also a short third part that describes two
GA software packages-GENESIS (in C) and OOGA (in Common Lisp with CLOS)-
available for order. An order form is provided in the book.
The tutorial in Part 1 is based on Davis’ philosophy of GAS, which emphasizes
carefully tailoring a GA to each application rather than attempting to develop a robust,
general purpose algorithm that performs well on a range of problems. Davis asserts
that the latter approach “is a goal orthogonal to that of producing the best optimization
M. Mitchcll/Ahjicid Intelligmcr 100 (1998) 325-330 327
algorithms for a particular problem.” (p. 64.) He makes the important point that while
GAS are robust weak methods-they work reasonably well across a range of problems
and are robust in the presence of noisy evaluations-they are almost never the best
optimization method for any particular problem. Davis’ approach is to tailor the GA
to the problem at hand, to incorporate domain knowledge into the GA as much as
possible, and to hybridize the GA with other optimization methods that work well.
Assuming that there is a method currently in use for a given problem and the GA
is to be hybridized to improve the current method, Davis gives three principals of
hybridization:
( 1 ) Use the current encoding. That is, represent candidate solutions in the same
way that they are represented under the current method. For example, suppose
that the problem is to find weights for a neural network that will perform a
classification task, and that back-propagation starting from random weights is
the current method. Then a candidate solution should be encoded as it is for
back-propagation, as a real-valued weight vector. Davis points out that until
recently most GA practitioners have used bit-string representations to represent
candidate solutions, largely because the theory of GAS as developed by Holland
and others relies on such representations. But Davis finds such representations
unnatural and unnecessary in most cases. For the neural-network example, a
real-valued weight vector is a more natural representation for the problem, or at
least is a more widely used and understood representation.
(2) HyDridky where possible. That is, combine useful features of the current al-
gorithm with the GA wherever possible. For the neural-network example, one
might hybridize back-propagation with the GA by using back-propagation until
no more improvements are found, and then using the GA on a population of
mutants of the current weight vector in order to make bigger jumps in the search
space via crossover.
(3) Adupt the getletic operntors to the proldem. That is, invent new forms of muta-
tion and crossover that are appropriate to the problem and the natural encoding.
For example, mutation on real-valued weight vectors might consist of randomly
incrementing or decrementing particular weights. Likewise, crossover might con-
sist of producing two offspring from two parents by exchanging sets of weights
that are on the incoming links to a given node. An alternative crossover scheme
might averaging together the corresponding weights of the parents.
The expectation is that, with these guidelines, the hybrid algorithm will perform better
than the current algorithm or the GA alone. Such adaptations of the GA to a particular
problem and other to optimization methods are, according to Davis, the art of real-world
application of GAS.
In the tutorial section, Davis guides the reader through his approach to GAS with a
friendly and conversational tone. The tutorial starts with a description of the simplest
GA, and in each subsequent chapter the simple version is augmented with a number of
more sophisticated strategies. The effect of each new strategy is illustrated by graphing
the new GA’s performance (fitness versus number of evaluations) on the same numerical
optimization problem called “binary f6”. Each new strategy is shown to yield improved
performance on that problem.
328 M. Mitchell /Ar@cial intelligence 100 (1998) 325-330
I say “starting point”, because readers cannot expect to go away and instantly build
a successful GA application. A good deal of tinkering with representations, operators,
and parameters will typically be necessary. The tutorial does not give detailed advice
on how to actually implement a GA-this is not a book of “GA recipes”. However,
some help can be found via the software packages Davis discusses, and also by read-
ing the case studies found in Part 2 of the book. The case studies-each given as a
chapter written by a different group of authors-detail real-world applications of GAS
and GA hybrids. Many of these applications were done in industrial rather than univer-
sity settings; names such as Lockheed, the US Bureau of Mines, Honeywell, General
Electric, US West, and Hewlett Packard are the author affiliations in about half the
chapters. This is a striking demonstration of the extent to which GAS have penetrated
into industry and will probably soon be the source of a number of marketed products.
In addition to the industries represented in this book, there is currently widespread
work on using GAS in biotechnology and financial forecasting, among other applica-
lions.
These case studies taken together give a very good answer to the question, “What are
some successful applications of GAS ?” They include descriptions of how GAS have been
used to optimize the parametric design of aircraft, air-injected hydrocyclones (mineral-
separating devices), and in other engineering design problems. We also find descriptions
of GAS optimizing call routing in a US West telecommunications network, path planning
for robot-arm motion, and parameters for a model of international arms races. The GA
is also seen evolving strategies (encoded as production systems) for aircraft missile
avoidance, neural network architectures, diagnoses for faults in a microwave communi-
cation network, and DNA conformations based on spectrometric data. Finally, we see a
GA optimizing parameters for an expert system that processes sonar signals, weights for
a neural network that performs a sonar-signal classification task, schedules for activities
in a laboratory, and tours for the Traveling Salesman Problem. These case studies make
for very interesting reading for those involved in the engineering applications side of
GAS. Many of the case studies include detailed comparisons between the GA and other
methods, and numerous examples of hybridization, generally following the guidelines
Davis outlines in the tutorial section. They provide a good survey of the state of the art
in GA applications.
The Handbook of Genetic Algorithms is meant to be a practical guide for practitioners,
not, say. a textbook for a Machine Learning course. As a high-level introduction, the
tutorial serves this purpose well, and is strongly supplemented by the case studies. The
book is clearly written and enjoyable to read, and, short of hiring Davis himself as a
consultant, reading his book is probably the quickest and easiest way to get off the
ground for a first real GA application.
References
I I I R.K. Relew. L.H. Booker (Eds.). Proceedings Fourth International Conference on Genetic Algorithms,
Morgan Kaufmann, San Mateo, CA, I99 I
I2 I A. Bergman, M. Feldman, Recombination dynamics and the fitness landscape, Physica D 56 ( 1992)
57 -67.
13) W. Cedeno, V. Vemuri. An investigation of DNA mapping with genetic algorithms: preliminary results,
in: Proceedings Fifth Workshop on Neural Networks: An International Conference on Computational
Intelligence: Neural Networks, Fuzzy Systems, Evolutionary Programming, and Virtual Reality, The
Society for Computer Simulation, San Diego, CA, 1993, pp. 133-140.
[ 4 1 C.B. Congdon, C.F. Sing, S.L. Reilly, Genetic algorithms for identifying combinations of genes and other
risk factors associated with coronary artery disease, in: Proceedings Workshop on Artificial Intelligence
and the Genome, International Joint Conference on Artificial Intelligence (IJCAI-93), Chambery, France,
199.7.
( 5 1 S. Forrest (Ed.), Proceedings Fifth International Conference on Genetic Algorithms, Morgan Kaufmann,
San Mateo, CA, 1993.
16 1 D.E. Goldberg, Genetic Algorithms in Search. Optimization. and Machine Learning, Addison-Wesley,
Reading, MA. 1989.
171 J.H. Holland. Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor,
MI, 1975.
181 J.H. Holland, Adaptation in Natural and Artificial Systems, 2nd ed., MIT Press, Cambridge, MA, 1992.
191 J.R. Koza, J.P. Rice, J. Roughgarden, Evolution of food foraging strategies for the Caribbean Anolis
lizard using genetic programming, Adaptive Behavior I (2) ( 1992) 47-74.
1101R. Miinner. B. Manderick (Ed%), Parallel Problem Solving from Nature, Vol. 2, Lecture Notes in
Computer Science. Springer, Berlin, 1992.
IllI R. Parsons, S. Forrest. C. Burks, Genetic operators for the DNA fragment assembly problem, Machine
Learning, 1993, submitted.
1121 G. Rawlins (Ed.), Foundations of Genetic Algorithms, Morgan Kaufmann, San Mateo, CA, 1991.
1131 H.-P. Schwefel, R. Miinner (Eds.), Parallel Problem Solving from Nature, Lecture Notes in Computer
Science, Springer, Berlin. 1990.
1141 L.D. Whitley (Ed.). Foundations of Genetic Algorithms, Vol. 2, Morgan Kaufmann, San Mateo, CA,
1993.