A Genetic Algorithm Tutorial
A Genetic Algorithm Tutorial
net/publication/2425017
CITATIONS READS
1,722 2,147
1 author:
Darrell Whitley
Colorado State University
359 PUBLICATIONS 14,736 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Darrell Whitley on 29 October 2015.
Abstract
This tutorial covers the canonical genetic algorithm as well as more experimental
forms of genetic algorithms, including parallel island models and parallel cellular genetic
algorithms. The tutorial also illustrates genetic search by hyperplane sampling. The
theoretical foundations of genetic algorithms are reviewed, include the schema theorem
as well as recently developed exact models of the canonical genetic algorithm.
1 Introduction
In its most general usage, Genetic Algorithms refer to a family of computational models
inspired by evolution. These algorithms encode a potential solution to a specic problem
on a simple chromosome-like data structure and apply recombination operators to these
structures so as to preserve critical information. Genetic algorithms are often viewed as
function optimizers, although the range of problems to which genetic algorithms have been
applied is quite broad.
An implementation of a genetic algorithm begins with a population of (typically random)
chromosomes. One then evaluates these structures and allocates reproductive opportunities
in such a way that those chromosomes which represent a better solution to the target problem
are given more chances to \reproduce" than those chromosomes which are poorer solutions.
The \goodness" of a solution is typically dened with respect to the current population
average, or the population median.
This particular description of a genetic algorithm is intentionally abstract because in
some sense, the term genetic algorithm has two meanings. In a strict interpretation, the
genetic algorithm refers to a model introduced and investigated by John Holland (1975) and
by students of Holland (e.g., DeJong, 1975). It is still the case that most of the existing
theory for genetic algorithms applies either solely or primarily to the model introduced by
Holland, as well as variations on what will be referred to in this paper as the canonical
genetic algorithm. Recent theoretical advances in modeling genetic algorithms also apply
primarily to the canonical genetic algorithm (Vose, 1993).
1
In a broader usage of the term, a genetic algorithm is any population-based model that
uses selection and recombination operators to generate new sample points in a search space.
Many genetic algorithm models have been introduced by researchers largely working from
an experimental perspective. Many of these researchers are application oriented and are
typically interested in genetic algorithms as optimization tools.
The goal of this tutorial is to present genetic algorithms in such a way that students new
to this eld can grasp the basic concepts behind genetic algorithms as they work through
the tutorial. It should allow the more sophisticated reader to absorb this material with
relative ease. The tutorial also covers topics, such as inversion, which have sometimes been
misunderstood and misused by researchers new to the eld.
The tutorial begins with a very low level discussion of optimization to both introduce
basic ideas in optimization as well as basic concepts that relate to genetic algorithms. In
Section 2 variants of the canonical genetic algorithm are reviewed. In Section 3 the principle
of hyperplane sampling is explored and some basic crossover operators are introduced. In
Section 4 various versions of the schema theorem are developed in a step by step fashion
and other crossover operators are discussed. In Section 5 binary alphabets and their eects
on hyperplane sampling is considered. In Section 6 an exact model of the genetic algorithm
is developed which assumes innite population sizes. The last three sections of the tuto-
rial covers alternative forms of genetic algorithms and evolutionary computational models,
including specialized parallel implementations.
Most users of genetic algorithms typically are concerned with problems that are nonlinear:
in other words, it is not possible to treat each parameter as an independent variable which
can be solved in isolation from the other variables. There are interactions such that the
combined eects of the parameters must be considered in order to maximize or minimize
the output of the black box. In the genetic algorithm community, the interaction between
variables is sometimes referred to as epistasis.
The rst assumption that is typically made is that the variables representing parameters
can be represented by bit strings. This means that the variables are discretized in an a
priori fashion, and that the range of the discretization corresponds to some power of 2. For
example, with 10 bits per parameter, we obtain a range with 1024 discrete values. If the
parameters are actually continuous then this discretization is not a particular problem. This
2
assumes, of course, that the discretization provides enough resolution to make it possible to
adjust the output with the desired level of precision. It also assumes that the discretization
is in some sense representative of the underlying function.
If some parameter can only take on an exact nite set of values then the coding issue
becomes more dicult. For example, what if there are exactly 1200 discrete values which
can be assigned to some variable Xi . We need at least 11 bits to cover this range, but this
codes for a total of 2048 discrete values. The 848 unnecessary bits patterns may result in
no evaluation (i.e., a default worst possible evaluation) or some parameter settings may be
represented twice so that all binary strings result in a legal set of parameter values which can
be evaluated. Solving such coding problems is usually considered to be part of the design of
the evaluation function.
Aside from the coding issue, the evaluation function is usually given as part of the problem
description. On the other hand, developing an evaluation function can sometimes involve
developing a simulation. In other cases, the evaluation may be performance based and
may represent only an approximate or partial evaluation. For example, consider a control
application where the system can be in any one of an exponentially large number of possible
states. Assume a genetic algorithm is is used to optimize some form of control strategy. In
such cases, the state space must be sampled in a limited fashion and the resulting evaluation
of control strategies is approximate and noisy (c.f., Fitzpatrick and Grefenstette, 1988).
The evaluation function must also be relatively fast. This is typically true for any opti-
mization method, but it may particularly pose an issue for genetic algorithms. Since genetic
algorithms work with a population of potential solutions, it incurs the cost of evaluating this
population. Furthermore, the population is replaced (all or in part) on a generational basis.
The members of the population reproduce, and their ospring must then be evaluated. If it
takes 1 hour to do an evaluation, then it takes over 1 year to do 10,000 evaluations. This
would be approximately 100 generations for a population of 100, but only 10 generations
using a population of 1000 strings.
of the search space of possible board congurations in chess. (This assumes the eective
3
branching factor at each possible move to be 16 and that a game is made up of 100 moves;
16 = (2 ) = 2 ). Winston states that this is \a ridiculously large number. In fact, if
100 4 100 400
all the atoms in the universe had been computing chess moves at picosecond rates since the
big bang (if any), the analysis would be just getting started."
The point is that as long as the number of \good solutions" to a problem are sparse with
respect to the size of the search space, then random search or search by enumeration of a large
search space is not a practical form of problem solving. On the other hand, any search other
than random search imposes some bias in terms of how it looks for better solutions and where
it looks in the search space. Genetic algorithms indeed introduce a particular bias in terms
of what new points in the space will be sampled. Nevertheless, genetic algorithms belong
to the class of methods known as \weak methods" in the Articial Intelligence community
because it makes relatively few assumptions about the problem that is being solved.
Of course, there are many optimization methods that have been developed in mathe-
matics and operations research. What role do genetic algorithms play as an optimization
tool? Genetic algorithms are often described as a global search method that does not use
gradient information. Thus, nondierentiable functions as well as functions with multiple
local minima represent classes of problems to which genetic algorithms might be applied.
Genetic algorithms, as a weak method, are robust but very general. If there exists a good
specialized optimization method for a specic problem, then genetic algorithm may not be
the best optimization tool for that application. On the other hand, some researchers work
with hybrid algorithms that combine existing methods with genetic algorithms.
4
Selection Recombination
(Duplication) (Crossover)
String 1 String 1 Offspring-A (1 X 2)
String 2 String 2 Offspring-B (1 X 2)
String 3 String 2 Offspring-A (2 X 4)
String 4 String 4 Offspring-B (2 X 4)
It is useful to view the execution of the genetic algorithm as a two stage process. It
starts with the current population. Selection is applied to the current population to create an
intermediate population. Then recombination and mutation are applied to the intermediate
population to create the next population. The process of going from the current population
to the next population constitutes one generation in the execution of a genetic algorithm.
Goldberg (1989) refers to this basic implementation as a Simple Genetic Algorithm (SGA).
We will rst consider the construction of the intermediate population from the current
population. In the rst generation the current population is also the initial population. After
calculating fi =f for all the strings in the current population, selection is carried out. In the
canonical genetic algorithm strings in the current population are copied (i.e., duplicated) in
proportion to their tness and placed in the intermediate generation.
There are a number of ways that the selection process can be carried out. For example,
we might view the entire population as mapping onto a roulette wheel, where each individual
is represented on the roulette wheel by a space that proportionally corresponds to its tness.
By repeatedly spinning the roulette wheel, individuals are chosen to ll the intermediate
population. This amounts to \stochastic sampling with replacement."
5
A selection process that will more closely match the expected tness values is \remainder
stochastic sampling." For each string i where fi=f is greater than 1.0, the integer portion of
this number indicates how many copies of that string are directly placed in the intermediate
population. All strings (including those with fi =f less than 1.0) then place additional copies
in the intermediate population with a probability corresponding to the fractional portion of
fi=f. For example, a string with fi=f = 1:36 places 1 copy in the intermediate population,
and then receives a 0:36 chance of placing a second copy. A string with a tness of fi=f = 0:54
has a 0:54 chance of placing one string in the intermediate population.
One can view \remainder stochastic sampling" as using a roulette wheel which represents
the fractional parts of the tness values in the correct proportions. In sampling with replace-
ment, the same roulette wheel is used to pick copies of strings until the population is full.
In sampling without replacement, the number of strings represented on the roulette wheel is
reduced by one each time a string is chosen to be placed in the intermediate population.
After selection has been carried out the construction of the intermediate population is
complete and recombination can occur. This can be viewed as creating the next population
from the intermediate population. Crossover is applied to randomly paired strings with
a probability denoted pc . (The population should already be suciently shued by the
random selection process.) Pick a pair of strings. With probability pc \recombine" these
strings to form two new strings that are inserted into the next population.
Consider the following binary string: 1101001100101101. The string would represent a
possible solution to some parameter optimization problem. New sample points in the space
are generated by recombining two parent strings. Consider the string 1101001100101101 and
another binary string, yxyyxyxxyyyxyxxy, in which the values 0 and 1 are denoted by x and
y. Using a single randomly chosen crossover point, recombination occurs as follows.
11010 \/ 01100101101
yxyyx /\ yxxyyyxyxxy
Swapping the fragments between the two parents produces the following ospring.
11010yxxyyyxyxxy and yxyyx01100101101
After recombination, we can apply a mutation operator. For each bit in the population,
mutate with some low probability m. Typically the mutation rate is applied with less than
1% probability. In some cases, mutation is interpreted as randomly generating a new bit,
in which case, only 50% of the time will the \mutation" actually change the bit value. In
other cases, mutation is interpreted to mean actually
ipping the bit. The dierence is no
more than an implementation detail as long as the user/reader is aware of the dierence
and understands that the rst form of mutation produces a change in bit values only half as
often as the second, and that one version of mutation is just a scaled version of the other.
After the process of selection, recombination and mutation are complete, the next pop-
ulation can be evaluated. The process of evaluation, selection, recombination and mutation
forms one generation in the execution of a genetic algorithm.
6
The algorithm that has just been described is not precisely the genetic plan rst described
by Holland. All strings are selected according to tness in the preceding version of the
canonical genetic algorithm. However, Holland (1975) assumed that one string was picked
according to tness, and the second was picked randomly. These strings were then placed in
the intermediate population as a pair. Holland's original algorithm can be summarized as
follows. We will now characterize the process as one of directly constructing a new population
from the old population.
1. Initialize Population.
2. Evaluate each member of the Population.
3. Select a chromosome from the Population based on tness.
4. Perform crossover with probability pc . If crossover is not performed, put chromosome
into the New Population and Goto Step 5. Otherwise:
(a) Select mate from population with uniform probability.
(b) Select crossover point between 1 and L-1 with uniform probability.
(c) Recombine chromosomes and place both ospring in the New Population.
5. If New Population not full, Goto step 3.
6. New Population full, Population = New Population. Goto step 2.
One reason for considering both the simple genetic algorithm and Holland's original
genetic plan is to understand the dierent theoretical constructs which can be found in the
literature. Some literature is based on one form of the algorithm, while other works are
based on the alternative form. See Schaer (1987) for a nice discussion of these two forms.
1Holland initially used the term intrinsic parallelism in his 1975 monograph, then decided to switch to
implicit parallelism to avoid confusion with terminology in parallel computing. Unfortunately, the term
implicit parallelism in the parallel computing community refers to parallelism which is extracted from code
written in functional languages that have no explicit parallel constructs. Implicit parallelism does not refer to
the potential for running genetic algorithms on parallel hardware, although genetic algorithms are generally
viewed as highly parallelizable algorithms.
8
110
111
010 011
100 101
000 001
0110
0111
1110
0010
1010
1101
0101
1000
1001
0000
0001
Figure 2: A 3-dimensional cube and a 4-dimensional hypercube. The corners of the inner
cube and outer cube in the bottom 4-D example are numbered in the same way as in the upper
3-D cube, except a 1 is added as a prex to the labels of inner cube and a 0 is added as a
prex to the labels of the outer cube. Only select points are labeled in the 4-D hypercube.
9
Implicit parallelism implies that many hyperplane competitions are simultaneously solved
in parallel. The theory indicates that through the process of reproduction and recombina-
tion, the schemata of competing hyperplanes increase or decrease their representation in
the population according to the relative tness of the strings that lie in those hyperplane
partitions. Because genetic algorithms operate on populations of strings one can track the
proportional representation of a single schema representing a particular hyperplane in a pop-
ulation and indicate whether that hyperplane will increase or decrease its representation in
the population over time when tness based selection is combined with crossover to produce
ospring from existing strings in the population.
F(X)
0
0 K/2 K
Variable X
F(X)
0
0 K/8 K/4 K/2 K
Variable X
F(X)
0
0 K/8 K/4 K/2 K
Variable X
11
Strings and Fitness Values
String Fitness Random copies
001b ; ...b ;L
14 1 2.0 { 2
101b ; ...b ;L
24 2 1.9 0.93 2
111b ; ...b ;L
34 3 1.8 0.65 2
010b ; ...b ;L
44 4 1.7 0.02 1
111b ; ...b ;L
54 5 1.6 0.51 2
101b ; ...b ;L
64 6 1.5 0.20 1
011b ; ...b ;L
74 7 1.4 0.93 2
001b ; ...b ;L
84 8 1.3 0.20 1
000b ; ...b ;L
94 9 1.2 0.37 1
100b ; ...b ;L 1.1
10 4 10 0.79 1
010b ; ...b ;L 1.0
11 4 11 { 1
011b ; ...b ;L 0.9
12 4 12 0.28 1
000b ; ...b ;L 0.8
13 4 13 0.13 0
110b ; ...b ;L 0.7
14 4 14 0.70 1
110b ; ...b ;L 0.6
15 4 15 0.80 1
100b ; ...b ;L 0.5
16 4 16 0.51 1
011b ; ...b ;L 0.4
17 4 17 0.76 1
000b ; ...b ;L 0.3
18 4 18 0.45 0
001b ; ...b ;L 0.2
19 4 19 0.61 0
100b ; ...b ;L 0.1
20 4 20 0.07 0
010b ; ...b ;L 0 0
21 4 21 { 0
Table 1: A population with tness assigned to strings according to rank. Random is used
to determine whether or not to award a copy of a string for the fractional portion of the
tness measure.
If the random value is greater than the fractional remainder, then an additional copy is
awarded to the corresponding individual.
Since the theory behind genetic algorithms suggests that many hyperplanes are processed
implicitly in parallel when selection acts on the population of strings, Table 2 enumerates the
27 hyperplanes (3 ) that can be dened over the rst three bits of the strings in the population
3
and explicitly calculates the tness of the sample of the corresponding hyperplane partition.
The true value of the tness associated with that hyperplane partition corresponds to the
average tness of all strings that lie in that hyperplane partition. The genetic algorithm
uses the population as a sample for estimating the tness of that hyperplane partition. Of
course, the only time the sample is random is during the rst generation. After this, the
sampling is biased toward regions that have proven to contain strings that are above average
with respect to previous populations.
12
Schemata and Fitness Values
Schema Avg Exp Obs Schema Avg Exp Obs
101*...* 1.70 3.40 3 *0**...* 0.99 10.9 10
111*...* 1.70 3.40 4 00**...* 0.96 5.76 4
1*1*...* 1.70 6.80 7 0***...* 0.93 9.30 10
01*...* 1.38 6.90 6 011*...* 0.90 2.70 4
*1*...* 1.30 13.00 14 010*...* 0.90 2.70 2
11*...* 1.22 6.10 8 01**...* 0.90 5.40 6
11**...* 1.17 4.68 6 0*0*...* 0.83 4.98 3
001*...* 1.16 3.48 3 *10*...* 0.80 4.00 4
1***...* 1.09 8.72 11 000*...* 0.76 2.28 1
0*1*...* 1.03 6.18 7 **0*...* 0.72 7.92 7
10**...* 1.02 5.10 5 *00*...* 0.66 3.96 4
1**...* 1.01 10.1 12 110*...* 0.65 1.95 2
***...* 1.00 21.0 21 1*0*...* 0.60 3.00 4
100*...* 0.50 1.00 1
Table 2: The average tnesses (Avg) associated with the samples from the 27 hyperplanes
dened over the rst three bit positions are explicitly calculated. The Expected representation
(Exp) and Observed representation (Obs) are shown.
If the genetic algorithm works as advertised, the number of copies of strings that actu-
ally fall in a particular hyperplane partition after selection should approximate the expected
number of copies that should fall in that partition. The expected number of strings sampling
a hyperplane partition after selection can be calculated by multiplying the number of copies
in the current population before selection by the average tness of the strings in the popu-
lation that fall in that partition. Both the expected and observed number of copies in all 27
hyperplane partitions are given in Table 2. As can be seen, in most cases the match between
expected and observed sampling rate is fairly good: the error is largely a result of sampling
error due to the small population size.
At this point it is useful to begin formalizing the idea of tracking the sampling rate of a
particular hyperplane, H. Let M (H; t) be the number of strings sampling hyperplane H at
the current generation t in some population. Let (t + intermediate) index the generation t
after selection, and f (H ) be the average evaluation of the sample of strings in partition H in
the current population. Formally, the notion that we are implicitly sampling a hyperplane
H according to hyperplane tness is expressed as follows.
13
3.1 Crossover Operators and Schemata
The expected representation of hyperplanes in Table 2 corresponds to the representation in the
intermediate population after selection but before recombination. What does recombination
do to the observed sampling rate of the hyperplane partitions? It is easy to see that the
order-1 hyperplane samples are not aected by recombination, since the single critical bit is
always inherited by one of the ospring. However, the observed sampling rate of hyperplane
partitions of order-2 and higher can be aected by crossover. Furthermore, all hyperplanes
of the same order are not necessarily aected with the same probability. Consider 1-point
crossover. This recombination operator is nice because it is relatively easy to quantify its
eects on dierent schemata representing hyperplanes. To keep things simple, assume we
are are working with a string encoded with just 12 bits. Now consider the following two
schemata.
11********** and 1**********1
The probability that the bits in the rst schema will be separated during 1-point crossover
is only 1=L ? 1, since in general there are L ? 1 crossover points in a string of length L. The
probability that the bits in the second rightmost schema are disrupted by 1-point crossover
however is (L ? 1)=(L ? 1), or 1.0, since each of the L-1 crossover points separates the bits in
the schema. This leads to a general observation: when using 1-point crossover the positions
of the bits in the schema are important in determining the likelihood that those bits will
remain together during crossover.
When viewed in this way, 1-point crossover is a special case of 2-point crossover where
one of the crossover points always occurs at the wrap-around position between the rst
and last bit. Maximum disruptions for order-2 schemata now occur when the 2 bits are at
complementary positions on this ring.
For 1-point and 2-point crossover it is clear that schemata which have bits that are close
together on the string encoding are less likely to be disrupted by crossover. More precisely,
hyperplanes represented by schemata with more compact representations should be sampled
14
at rates that are closer to those achieved under selection without crossover. To be even
more precise, we need to dene what is meant by a compact representation with respect to
schemata. For current purposes a compact representation with respect to schemata is one
that minimizes the probability of disruption during crossover. Note that this denition is
operator dependent, since both of the 2 order-2 schemata examined in section 3.1 are equally
and maximally compact with respect to 2-point crossover, but are maximally dierent with
respect to 1-point crossover.
16
where disruptions overestimates losses by assuming crossover is always disruptive. We might
wish to consider one exception: if two strings that both sample H are recombined, then no
disruption occurs. In Holland's original algorithm a mate is chosen uniformly without bias.
Thus the probability of a mate sampling H is just M (H; t) divided by the population size
which will be denoted by P (H; t): Disruption is thus given by:
(H ) (1 ? P (H; t)):
L?1
At this point, the inequality can be simplied. Both sides can be divided by the popula-
tion size to convert this into an expression for P (H; t + 1), the proportional representation
of H at generation t + 1: Furthermore the expression can be rearranged with respect to pc .
" #
P (H; t + 1) P (H; t) f (fH ) (H )
1 ? pc L ? 1 (1 ? P (H; t))
We now have a useful version of the schema theorem (although it does not yet consider
mutation); but it is not the only version in the literature. For example, this version is
consistent with the fact that selection for the rst parent string is tness based and the second
parent is chosen randomly. But we have also examined a form of the simple genetic algorithm
where both parents are chosen based on tness. This can be added to the schema theorem
by merely indicating the alternative parent is chosen from the intermediate population after
selection.
" #
P (H; t + 1) P (H; t) f (fH ) (H ) f (H )
1 ? pc L ? 1 (1 ? P (H; t) f )
Finally, mutation is included. Let o(H ) be a function that returns the order of the
hyperplane H. The order of H exactly corresponds to a count of the number of bits in the
schema representing H that have value 0 or 1. Let the mutation probability be pm where
mutation always
ips the bit. Thus the probability that mutation does aect the schema
representing H is (1 ? pm)o H . This leads to the following expression of the schema theorem.
( )
" #
P (H; t + 1) P (H; t) f (fH
) 1 ? p (H ) (1 ? P (H; t) f (H ) ) (1 ? p )o H
c
L?1 f m
( )
17
in some position to a single value: either 0 or 1. If this happens without the genetic algo-
rithm converging to a satisfactory solution, then the algorithm has prematurely converged.
This may particularly be a problem if one is working with a small population. Without a
mutation operator, there is no possibility for reintroducing the missing bit value. Also, if the
target function is nonstationary and the tness landscape changes over time (which is cer-
tainly the case in real biological systems), then there needs to be some source of continuing
genetic diversity. Mutation, therefore acts as a background operator, occasionally changing
bit values and allowing alternative alleles (and hyperplane partitions) to be retested.
This particular interpretation of mutation ignores its potential as a hill-climbing mech-
anism: from the strict hyperplane sampling point of view imposed by the schema theorem
mutation is a necessary evil. But this is perhaps a limited point of view. There are several
experimental researchers that point out that genetic search using mutation and no crossover
often produces a fairly robust search. And there is little or no theory that has addressed the
interactions of hyperplane sampling and hill-climbing in genetic search.
Another problem related to premature convergence is the need for scaling the population
tness. As the average evaluation of the strings in the population increases, the variance
in tness decreases in the population. There may be little dierence between the best and
worst individual in the population after several generations, and the selective pressure based
on tness is correspondingly reduced. This problem can partially be addressed by using
some form of tness scaling (Grefenstette, 1986; Goldberg 1989). In the simplest case, one
can subtract the evaluation of the worst string in the population from the evaluations of
all strings in the population. One can now compute the average string evaluation as well
as tness values using this adjusted evaluation, which will increase the resulting selective
pressure. Alternatively, one can use some rank based form of selection.
(It doesn't matter which ospring inherits the rst critical bit, but all other bits must be
18
inherited by that same ospring. This is also a worst case probability of disruption which
assumes no alleles found in the schema of interest are shared by the parents.) Thus, for
any order-3 schemata the probability of uniform crossover separating the 2 critical bits is
always 1 ? (1=2) = 0:75. Consider for a moment a string of 9 bits. The dening length
2
of a schema must equal 6/8 before the disruptive probabilities of 1-point crossover match
those associated with uniform crossover. We can dene 84 dierent order-3 schemata over
any particular string of 9 bits (i.e., 9 choose 3). Of these schemata, only 19 of the 84
order-2 schemata have a disruption rate higher than 0.75 under 1-point crossover. Another
15 have exactly the same disruption rate, and 50 of the 84 order-2 schemata have a lower
disruption rate. It is relative easy to show that, while uniform crossover is unbiased with
respect to dening length, it is also generally more disruptive than 1-point crossover. Spears
and DeJong (1991) have shown that uniform crossover is in every case more disruptive than
2-point crossover for order-3 schemata for all dening lengths.
Despite these analytical results, several researchers have suggested that uniform crossover
is sometimes a better recombination operator. One can of course point to its lack of rep-
resentational bias with respect to schema disruption as a possible explanation, but this is
unlikely since it is uniformly worse than 2-point crossover. However, Spears and DeJong
(1991:314) speculated that, \With small populations, more disruptive crossover operators
such as uniform or n-point (n >> 2) may yield better results because they help overcome
the limited information capacity of smaller populations and the tendency for more homo-
geneity." Eshelman (1991) has made similar arguments outlining the advantages of disruptive
operators.
There is another sense in which uniform crossover is unbiased. Assume we wish to
recombine the bits string 0000 and 1111. We can conveniently lay out the 4-dimensional
hypercube as shown in Figure 4. We can also view these strings as being connected by a set
of minimal paths through the hypercube. To dene a minimal path though the hypercube,
pick one parent string as the origin and the other as the destination. Now change a single
bit in the binary representation corresponding to the point of origin. Any such move will
reach a point that is one move closer to the destination. In the following graph, which is
arranged with respect to 0000 and 1111, it is easy to see that changing a single bit is a move
up or down in this graph.
All of the points between 0000 and 1111 are reachable by some single application of
uniform crossover. However, 1-point crossover only generates strings that lie along two com-
plementary paths (in the gure, the leftmost and rightmost paths) through this 4-dimensional
hypercube. In general, uniform crossover will draw a complementary pair of sample points
with equal probability from all points that lie along any complementary minimal paths in
the hypercube between the two parents, while 1-point crossover samples points from only
two specic complementary minimal paths between the two parent strings. It is also easy to
see that 2-point crossover is less restrictive than 1-point crossover, since it can sample pairs
of points where the bits inherited from each parent appears as a continuous substring{in
this case all strings except 0101 and 1010. But, of course, this coverage does not hold for
spaces of higher dimensions. The number of bits that are dierent between two strings is
just the Hamming distance, H. Not including the original parent strings, uniform crossover
can generate 2H? dierent strings, while 1-point crossover can generate 2(H ? 1) dierent
1
19
1111
0000
Figure 4: This graph illustrates paths though 4-D space. A 1-point crossover of 1111 and
0000 can only generate ospring that reside along the dashed paths at the edges of this graph.
strings since there are H crossover points that produce unique ospring (see the discussion
in the next section)
and each crossover produces 2 ospring. The 2-point crossover operator
can generate 2 H = H ?H dierent ospring since there are H choose 2 dierent crossover
2
2
points that will result in ospring that are not copies of the parents and each pair of crossover
points generates 2 strings.
Both strings lie in the hyperplane 0001**101*01001*. The
ip side of this observation
is that crossover is really restricted to a subcube dened over the bit positions that are
dierent. We can isolate this subcube by removing all of the bits that are equivalent in
the two parent structures. Booker (1987) refers to strings such as ----11---1-----1 and
----00---0-----0 as the \reduced surrogates" of the original parent chromosomes.
When viewed in this way, it is clear that recombination of these particular strings occurs in
a 4-dimensional subcube, more or less identical to the one examined in the previous example.
Uniform crossover is unbiased with respect to this subcube in the sense that uniform crossover
will still sample in an unbiased, uniform fashion from all of the pairs of points that lie
along complementary minimal paths in the subcube dened between the two original parent
strings. On the other hand, simple 1-point or 2-point crossover will not. To help illustrate
this idea, we recombine the original strings, but examine the ospring in their \reduced"
forms. For example, simple 1-point crossover will generate ospring ----11---1-----0
and ----00---0-----1 with a probability of 6/15 since there are 6 crossover points in the
20
original parent strings between the third and fourth bits in the reduced subcube and L-1
= 15. On the other hand, ----10---0-----0 and ----01---1-----1 are sampled with a
probability of only 1/15 since there is only a single crossover point in the original parent
structures that falls between the rst and second bits that dene the subcube.
One can remove this particular bias, however. We apply crossover on the reduced surro-
gates. Crossover can now exploit the fact that there is really only 1 crossover point between
any signicant bits that appear in the reduced surrogate forms. There is also another benet.
If at least 1 crossover point falls between the rst and last signicant bits in the reduced
surrogates, the ospring are guaranteed not to be duplicates of the parents. (This assumes
the parents dier by at least two bits). Thus, new sample points in hyperspace are generated.
Note that recombining the original parent strings between any of the rst four bits results
in ospring that are duplicates of the parents.
The debate on the merits of uniform crossover and operators such as 2-point reduced sur-
rogate crossover is not a closed issue. To fully understand the interaction between hyperplane
sampling, population size, premature convergence, crossover operators, genetic diversity and
the role of hill-climbing by mutation requires better analytical methods.
21
are based on the assumption that we are interested in hyperplane representations associated
with the initial random population, since selection changes the distributions over time. In
a population of size N there should be N/2 samples of each of the 2L order-1 hyperplane
partitions. Therefore 50% of the population falls in any particular order-1 partition. Each
order-2 partition is sampled by 25% of the population. In general then, each hyperplane of
order i is sampled by 1=2i of the population.
Notice that this counts only those schemata that are exactly of order-. While it is true
that the number of schemata of order- is the dominating factor when counting the total
number of schemata processed, the sum of all schemata from order-1 to order- that are
processed is given by: Px 2x Lx .
=1
This is also part of an idealized model of a simple genetic algorithm (Goldberg, 1987).
In the current formulation, Z might refer to either a string or a schema representing a
hyperplane. Since modeling strings models the highest order schemata, the model implicitly
includes all lower schemata. In the remainder of this paper, the equations are developed
only for strings. Given a specication of Z, one can calculate string losses and gains. Losses
occur when a string crosses with another string and the resulting ospring fails to preserve
the original string. Gains occur when two dierent strings cross and independently create
a new copy of some string. For example, if Z = 000 then recombining 100 and 001 will
always produce a new copy of 000. Assuming 1-point crossover is used as an operator, the
probability of \losses" and \gains" for the string Z = 000 are calculated as follows:
losses = (111) (111 ) +
f (101) (101 ) f
PI 0
f
I0
P
;t P
f
P ;t
+ I 2 (001) P
(010)
(001 ) (010 )
f
f
P ;t
f
f
P ;t :
23
When Z is a string PI = 1 and represents the probably of crossover somewhere on the
0
string. For Z = 000 there are two other order-2 schemata that are of interest. The rst
order-2 schema of interest, h , spans from the rst to the second bit and the second order-2
1
schema of interest, h , spans from the second to the third bit. These are of interest because
2
the dening lengths of these order-2 schemata provide probability information about the
disruption of the order-3 schema. The probability that one-point crossover will fall between
the rst and second bit is merely (h )=(L ? 1), which will be referred to as PI . Likewise,
1 1
PI will denote the probability that one-point crossover will fall between the second and
2
third bit which is given by (h )=(L ? 1).
2
The equations can be generalized to cover the remaining 7 strings in the space. This trans-
lation is accomplished using bitwise addition modulo 2 (i.e., a bitwise exclusive-or denoted
by . See Figure 4 and Section 6.4). The function (Si Z ) is applied to each bit string, Si,
contained in the equation presented in this section to produce the appropriate corresponding
strings for generating an expression for computing all terms of the form P(Z,t+1).
24
1###1
/ \
/ \
01##1 1##10
/ \ / \
/ \ / \
001#1 01#10 1#100
/ \ / \ / \
/ \ / \ / \
00011 00110 01100 11000
The graph structure allows one to visualize the set of all generators for string losses. In
general, the root of this graph is dened by a string with a sentry bit in the rst and last bit
positions, and the generator token \#" in all other intermediate positions. A move down
and to the left in the graph causes the leftmost sentry bit to be shifted right; a move down
and to the right causes the rightmost sentry bit to be shifted left. All bits outside
PL?
the sentry
positions are \0" bits. Summing over the graph, one can see that there are j j 2L?j?
1
=1
1
where (Si) is a function that calculates the number of crossover points between sentry bits
in string Si, thus dening the critical crossover region for this particular string.
25
A [S ; ] = ##:::##1? 0:::0l?
0 1 1 and
[S ; !] = 0 :::0L?!? 1L?! ##:::##:
0 0 1
These generators can again be presented as a directed acyclic graph structure composed
of paired templates which will be referred to as the upper A-generator and lower
-generator.
The following are the generators in a 5 bit problem.
10000
00001
/ \
/ \
#1000 10000
00001 0001#
/ \ / \
/ \ / \
##100 #1000 10000
00001 0001# 001##
/ \ / \ / \
/ \ / \ / \
###10 ##100 #1000 10000
00001 0001# 001## 01###
In this case, the root of the directed acyclic graph is dened by starting with the most
specic generator pair. The A-generator of the root has a \1" bit as the sentry bit in the
rst position, and all other bits are \0." The
-generator of the root has a \1" bit as the
sentry bit in the last position, and all other bits are \0." A move down and left in the graph
is produced by shifting the left sentry bit of the current upper A-generator to the right.
A move down and right is produced by shifting the right sentry bit of the current lower
-generator to the left. Each vacant bit position outside of the sentry bits which results
from a shift operation is lled using the # symbol.
This graph structure allows one to observe that the number of generator pairs at each
level of the tree is equal to the depth of the level at which the pair is located (where the
root is level 1). Also, for any level k, the number of string pairs generated at that level is
2k? for each pair of generators. Therefore, the total number of stringPpairs that must be
1
included in the equations to calculate string gains for S of length L is kL? k 2k? :
0
1
=1
1
Let S x and S! y be two strings produced by a generator pair, such that S x was
+ + +
produced by the A-generator and has a sentry bit at location ? 1 and S! y was produced
+
by the
-generator with a sentry bit at L?!. (The x and y terms are simply correction factors
added to and ! in order to uniquely index a string in S .) Let the critical crossover region
associated with S x and S! y be computed by a corresponding function (S x; S! y ) =
+ + + +
L ? ! ? : For each string pair S x and S! y a term of the following form is added to the
+ +
gains equations:
(S x; S! y ) + 1 f (S x P (S ; t) f (S! y ) P (S ; t)
+ + + ) +
L?1 f x +
f ! y +
26
where ((S x; S! y ) + 1)=(L ? 1) is the probability that 1-point crossover will fall within
+ +
the critical region dened by the sentry bits located at ? 1 and L ? !.
The generators are used as part of a two stage computation where the generators are
rst used to create an exact equation in standard form. This allows the resulting equations
to be implemented in an executable form with a simple transformation function for all other
strings in the space.
i;j
To further generalize this model, the function ri;j (k) is used to construct a mixing matrix
M where the i; j th entry mi;j = ri;j (0). Note that this matrix gives the probabilities that
crossing strings i and j will produce the string S : For current purposes, assume no mutation
0
is used and 1-point crossover is used as the recombination operator. Then matrix M is
obviously symmetric and is zero everywhere on the diagonal except for entry m ; which is
00
1.0. Note that M is expressed entirely in terms of string gain information. Therefore, the
rst row/column of the matrix is the inverse of that portion of the string losses probabilities
that corresponds to (Si), where each string in the set S is crossed with S . For completeness,
0
the (Si) for strings not produced by the string generators is 0.0 and, thus, the probability
of obtaining S during reproduction is 1.0. The remainder of the matrix can be calculated
0
using string gain generators and S+xL;S?!+y : For each pair of strings produced by the
(
1
)+1
27
A Transform Function to Redene Equations
000 010 ) 010 100 010 ) 110
001 010 ) 011 101 010 ) 111
010 010 ) 000 110 010 ) 100
011 010 ) 001 111 010 ) 101
Figure 5: The operator is bit-wise exclusive-or. Let ri;j (k) be the probability that k results
from the recombination of strings i and j. If recombination is a combination of crossover and
mutation then ri;j (k 0) = rik;jk (0). The strings shown here are reordered with respect to
010.
string gains generators determine their index and enter the value returned by the function
into the corresponding location in M. For completeness, (Sj ; Sk ) = ?1 for all arbitrary
pairs of strings not generated by the string gains generators, which implies entry mj;k = 0.
Once dened M does not change since it is not aected by variations in tness or pro-
portional representation in the population. Thus, given the assumption of no mutations,
that
is updated each generation to correct for changes in the population average, and that
1-point crossover is used, then the standard form of the executable equations corresponds to
the following portion of the Liepins and Vose model:
sT Ms
where T denotes transpose.
While the tness terms are dened explicitly in the executable equation, so far it has
been assumed that s includes tness information without explicitly indicating how this is
calculated. Fitness information is later added to the Vose and Liepins model. For now,
however, this expression is rst generalized to cover all strings in the search space. Vose and
Liepins formalize the notion that bitwise exclusive-or can be used to remap all the strings in
the search space, in this case represented by the vector s. They show that if recombination
is a combination of crossover and mutation then
ri;j (k q) = rik;jk (q) and specically ri;j (k) = ri;j (k 0) = rik;jk (0):
This allows one to reorder the elements in s with respect to any particular point in the
space. This reordering is equivalent to remapping the variables in the executable equations
(See Figure 4). A permutation function, , is dened as follows:
j < s ; :::; sV ? >T = < sj ; :::; sj V ? >T
0 1 0 ( 1)
where the vectors are treated as columns and V is the size of the search space. A general
operator M can now be dened over s which remaps sT Ms to cover all strings in the search
space.
M(s) = < ( s)T M s; :::; (N ? s)T MN ? s >T
0 0 1 1
28
Recall that s carries tness information such that it corresponds to the intermediate
phase of the population (after selection, but before recombination) as the genetic algorithm
goes from generation t to t + 1: Thus, to complete the cycle and reach a point at which the
Vose and Liepins models can be executed in an iterative fashion, tness information is now
explicitly introduced to transform the population at the beginning of iteration t + 1 to the
next intermediate population. A tness matrix F is dened such that tness information is
stored along the diagonal; the i; i th element is given by f (i) where f is the tness function.
The transformation from the vector pt to the next intermediate population represented
+1
by st is given as follows:
+1
st F M(st):
+1
Vose and Liepins give equations for calculating the mixing matrix M which not only
includes probabilities for 1-point crossover, but also mutation. More complex extension of
the Vose and Liepins model include nite population models using Markov Models (Nix and
Vose, 1992). Vose (1993) surveys the current state of this research.
29
have been dened for evolutionary strategies, but they tend to look dierent from Holland-
style crossover, allowing operations such as averaging parameters, for example, to create an
ospring. There is also generally a much greater emphasis on mutation.
7.1 Genitor
Genitor (Whitley 1988; 1989) was the rst of what Syswerda (1989) has termed \steady
state" genetic algorithms. The name \steady state" is somewhat of a misnomer, since
Syswerda (1991) has shown that such genetic algorithms show more variance that canonical
genetic algorithms in the terms of hyperplane sampling behavior. Such algorithms are there-
fore more susceptible to sample error and genetic drift. These algorithms would not closely
conform to the kind of \idea sampling behavior" seem in the executable models of canonical
genetic algorithms. The advantage, on the other hand, is that the best points found in the
search are maintained in the population. This often results in a more aggressive form of
search that in practice is often quite eective.
On the surface, there are three main dierences between Genitor-style algorithms and
canonical genetic algorithms. First, reproduction occurs one individual at a time. Two
parents are selected for reproduction and produce an ospring that is immediately placed
back into the population. The second major dierence is in how that ospring is placed
back in the population. In Genitor, the worst individual in the population is replaced. The
important thing is that ospring do not replace parents, but rather some the least t (or
some relatively less t) member of the population.
The third major dierence between Genitor and other forms of genetic algorithms is
that tness is assigned according to rank rather than by tness proportionate reproduction.
Ranking helps to maintain a more constant selective pressure over the course of search.
As pointed out in a recent paper by DeJong and Sarma (1993) Holland examined both
generational reproductive plans such as the canonical genetic algorithm and plans where
a single individual was produced and inserted into the population; replacement was done
by deleting one individual using a random uniform distribution. Holland also showed that
generational reproduction and one-at-a-time selection and reproduction were theoretically
equivalent, but that one-at-a-time selection was more subject to genetic drift.
One real dierence between algorithms such as Genitor and the canonical genetic algo-
rithm lies in the replacement scheme. Goldberg and Deb (1991) have shown that by replacing
the worst member of the population Genitor generates much higher selective pressure that
the canonical genetic algorithm. But higher selective pressure is not the only dierence be-
tween Genitor and the canonical genetic algorithm. To borrow from the terminology used by
the Evolution Strategy community (as suggested by Larry Eshelman), Genitor is a ( + )
strategy while the canonical genetic algorithm is a (; ) strategy. This implies that the
accumulation of improved strings in the population is monotonic in Genitor.
30
7.2 CHC
Another genetic algorithm that monotonically collects the best strings found so far is the
CHC algorithm developed by Larry Eshelman (1991). CHC stands for Crossover using gener-
ational elitist selection, Heterogeneous recombination (by incest prevention) and Cataclysmic
mutation, which is used to restart the search when the population starts to converge.
CHC explicitly borrows from the ( + ) strategy of Evolution Strategies. After recom-
bination, the N best unique individuals are drawn from the parent population and ospring
population to create the next generation. This also implies that duplicates are removed from
the population. As Goldberg has shown with respect to Genitor, this kind of \survival of the
ttest" replacement method already imposes considerable selective pressure, so that there
is no real need to use other selection mechanism. Thus CHC used random selection, except
restrictions are imposed on which strings are allowed to mate. Strings with binary encod-
ings must be a certain Hamming distance away from one another before they are allowed
to reproduce. This form of \incest prevention" is designed to promote diversity. Eshelman
also uses a form of uniform crossover called HUX where exactly half of the diering bits
are swapped during crossover. CHC is typically run using small population sizes (e.g. 50);
thus using uniform crossover in this context is consistent with DeJong and Spears (1991)
conjecture that uniform crossover can provide better sampling coverage in the context of
small populations.
The rationale behind CHC is to have a very aggressive search (by using monotonic se-
lection through survive of the best strings) and to oset the aggressiveness of the search by
using high disruptive operators such as uniform crossover. With such small population sizes,
however, the population convergences to the point that the population begins to more or
less reproduce many of the same strings. At this point the CHC algorithm uses cataclysmic
mutation; this is the only time mutation is used in the CHC algorithm. All strings undergo
heavy mutation, except that the best string is preserved intact. After mutation, the search
is restarted using only crossover. Eshelman and Schaer have reported quite good results
using CHC on a wide variety of test problems (Eshelman 1991; Eshelman and Schaer 1991).
31
the canonical genetic algorithm. Thus, Davis often uses real valued encodings instead of
binary encodings, and employs \recombination operators" that may be domain specic.
Other researchers, such as Michalewicz (1992) also use nonbinary encoding and specialized
operations in combination with genetic based model of search.
Muhlenbein takes a similar opportunistic view of hybridization. In a description of a
parallel genetic algorithm Muhlenbein (1991) states, after the initial population is created,
\Each individual does local hill-climbing." Furthermore, after each ospring is create, \The
ospring does local hill-climbing."
Researchers interested in theory and those interested in practical results tend to have very
dierent view toward problem encodings. But the experimental researchers and theoreticians
are particularly divided on the issue of hybridization.
By adding hill-climbing or hybridizing with some other optimization methods, learning
is being added to the evolution process. Coding the learned information back onto the chro-
mosome means that the search utilizes a form of Lamarckian evolution. The chromosomes
improved by local hill-climbing or other methods are placed in the genetic population and
allowed to compete for reproductive opportunities.
The main criticism is that if we wish to preserve the schema processing capabilities of
the genetic algorithm, then Lamarckian learning should not be used. Changing information
in the ospring inherited from the parents results in a loss of inherited schemata. This
alters the statistical information about hyperplane partitions that is implicitly contained in
the population. Therefore using local optimization to improve each ospring undermines
the genetic algorithm's ability to search via hyperplane sampling. Hybrid algorithms that
incorporate local optimizations should result in greater reliance on hill-climbing and less
emphasis on hyperplane sampling. It follows that the resulting search should be less global,
since it is hyperplane sampling that gives the genetic algorithm its global search ability.
Despite the theoretical objections, hybrid genetic algorithms typically do well at opti-
mization tasks. There may be several reasons for this. First, the hybrid genetic algorithm
is hill-climbing from multiple points in the search space. Unless the objective function is
severely multimodal it may be likely that some strings (ospring) will be in the basin of
attraction of the global solution, in which case hill-climbing is a fast and eective form of
search. Second, a hybrid strategy impairs hyperplane sampling, but does not disrupt it en-
tirely. For example, using learning or local optimization to improve the initial population
of strings only biases the initial hyperplane samples, but does not interfere with subsequent
hyperplane sampling. Third, in general hill-climbing may nd a small number of signicant
improvements, but may not dramatically change the ospring. In this case, the eects on
schemata and hyperplane sampling may be minimal.
32
\many nonstandard genetic algorithms work well and the standard genetic algorithm per-
forms poorly." (1992:24).
Whitley et al. (1991) analyzed the behavior of a Genitor-style genetic algorithm to inves-
tigate its hill-climbing behavior. The test problem was a small neural network optimization
problem. Each parameter (i.e., weight) was represented a single real-valued number instead
of a bit encoding. Relatively high mutation rates were also used. The experiments showed
that as the population size was decreased down to a population of 1 individual, search
became faster but that the probability of converging to a satisfactory solution decreased.
Convergence was 90% for a population of 50 strings, 80% for a population of 5 strings and
72% for a population of 1 string that used only mutation. But the population of 1 string
converged (when it converged) a order of magnitude faster than the population of 50 strings.
This raised a very interesting issue. When is a genetic algorithm a hyperplane sampler and
when it is a hill-climber? This is a nontrivial question since it is the hyperplane sampling
abilities of genetic algorithms that are usually touted as the source of global sampling.
On the other hand, researchers in the evolutionary programming community tend to argue
that crossover is unnecessary and that mutation is sucient for robust and eective search.
It should be emphasized that all of the theory concerning hyperplane sampling has been
developed with respect to the canonical genetic algorithm. And the alternative forms of
genetic algorithms often use mechanisms, such as monotonic selection of the best strings,
which could easily lead to increased hill-climbing. This is a question which the genetic
algorithm community needs to consider in more detail. Of course, the answer may often be
that many genetic algorithms exploit a bit of both. In practice, however, there may some
clues as to when hill-climbing is a dominant factor in a search.
First, hyperplane sampling requires larger population. Small populations are much more
likely to rely on hill-climbing. A population of 20 individuals just doesn't provide very much
information about hyperplane partitions, except perhaps the very low order hyperplanes
(note that there are only 5 samples of each order-2 hyperplane in a population of 20).
Second, very high selective pressure suggests hill-climbing may a dominant role in a search.
Some researchers use an exponential bias toward the best individuals. But if one has a
population of 100 strings and the 5 best individuals reproduce 95% of the time, then the
eect population size is probably not large enough to support hyperplane sampling.
34
Tournament
odd Selection
even
odd
even
odd
even Crossover and
odd Mutation
even
35
An Island Model Genetic Algorithm A Cellular Genetic Algorithm
Figure 7: An example of both an island models and a cellular genetic algorithm. The coloring
of the cells in the cellular genetic algorithm represents genetically similar material that forms
virtual islands isolated by distance.
(Whitley and Starkweather, 1990; Gorges-Schleuter, 1991; Tanese 1989; Starkweather et al.,
1991.)
Assume for a moment that one executes 16 separate genetic algorithms, each using a
population of 100 string without migration. In this case, 16 independent searches occurs.
Each search will be somewhat dierent since the initial populations will impose a certain
sampling bias; also, genetic drift will tend to drive these populations in dierent directions.
Sampling error and genetic drift are particularly signicant factors in small populations and,
as previous noted, are even more pronounced in genetic algorithms such as Genitor and CHC
when compared to the canonical genetic algorithm.
By introducing migration, the Island Model is able to exploit dierences in the various
subpopulation, which in fact represent a source of genetic diversity. Each subpopulation is
an island, and there is some designated way in which genetic material is moved from one
island to another. If a large number of strings migrate each generation, then global mixing
occurs and local dierences between islands will be driven out. If migration is too infrequent,
it may not be enough to prevent each small population from prematurely converging.
36
west: NSEW). But, the processors on the left edge of the grid wrap around so that they
are directly connected to the processors in the same row on the right edge. Likewise, the
processors on the bottom row are connect to the processors in the same column in the
top row, thus forming a torus. How should one implement a genetic algorithm on such an
architecture?
One can of course assign one string per processor or cell. But global random mating
would now seen inappropriate given the communication restrictions. Instead, it is much
more practical to have each string (i.e., processor) seek a mate close to home. One way to do
this would be to have each processor check the location to the north, south, east and west,
make a copy of the best string that it nds, then recombine the resident string with the
selected string. Alternatively, some form of local probabilistic selection could be used. In
either case, only one ospring would be produced. (Either one of the two possible ospring
could be randomly selected, or they both could be evaluated and the best retained.) The
ospring would become the new resident at that processor.
There are no explicit islands in the model, but there is the potential for similar eects.
Assuming that mating is restricted to adjacent processors (i.e., NSEW), if one neighborhood
of strings is 20 or 25 moves away from another neighbor of strings, these neighborhoods
are just as isolated as two subpopulations on separate islands. This kind of separation is
referred to as isolation by distance. (Wright, 1932; Collins and Jeerson, 1991; Muhlenbien,
1991; Gorges-Schleuter, 1991). Of course, neighbors that are only 4 or 5 moves away have a
greater potential for interaction.
After the rst random population is evaluated, the pattern of string over the set of
processors tends to be itself rather random. After a few generations, however, there are
many small local pockets of similar strings with similar tness values. This is because local
mating and selection creates local evolutionary trends, again due to sampling eects in the
initial population and genetic drift. After several more generations, competition between
these local groups means that now there are fewer dierent kinds of neighborhoods and of
course the remaining neighborhoods are larger.
The mating scheme outlined for the cellular genetic algorithm is one of many possible
schemes. The common theme is that selection and mating is typically restricted to a local
neighborhood. Manderick (personal communication) reports that the population must be
composed of at least 1000 individuals before local trends can emerge. Search proceeds by
one neighborhood taking over another, although interesting new genetic mixes often appear
at the boundaries between neighborhoods and may give rise to the emergence of a whole
new local neighborhood.
10 Conclusions
One thing that is striking after reviewing the various genetic algorithms and the various
parallel models is the richness of this form of computation. What may seem like simple
changes in the algorithm often result in surprising kinds of emergent behavior. Recent
theoretical advances have also improved out understanding of genetic algorithms and have
37
opened to the door to using more advanced analytical methods. We now need to use these
tools in combination with empirical experiments to decide to which classes of problems
genetic algorithms are best suited, as well as what kinds of problems are best solved using
other algorithms.
Acknowledgements
A paper such as this is really a product of years of interaction with many people. It not only
represents information transmitted through scholarly works, but also through conference
presentations, personal discussions, debates and even disagreements. My thanks to all of the
people in the Genetic Algorithm community who have educated me over the years. Work
presented in the tutorial has been supported by NSF grant IRI-9010546.
References
Ackley, D. (1987) A Connectionist Machine for Genetic Hillclimbing. Kluwer Academic Publishers.
Antonisse, H.J. (1989) A New Interpretation of the Schema Notation that Overturns the Binary
Encoding Constraint. Proc 3rd International Conf on Genetic Algorithms, Morgan-Kaufmann.
Back, T., Homeister, F. and Schwefel, H.P. (1991) A Survey of Evolution Strategies. Proc. 4th
International Conf. on Genetic Algorithms, Morgan-Kaufmann.
Baker, J. (1985) Adaptive selection methods for genetic algorithms. Proc. International Conf. on
Genetic Algorithms and Their Applications. J. Grefenstette, ed. Lawrence Erlbaum.
Booker, L. (1987) Improving Search in Genetic Algorithms. In, Genetic Algorithms and Simulating
Annealing, L. Davis, ed. Morgan Kaufman, pp. 61-73.
Bridges, C. and Goldberg, D. (1987) An analysis of reproduction and crossover in a binary-coded
genetic Algorithm. Proc. 2nd International Conf. on Genetic Algorithms and Their Applications.
J. Grefenstette, ed. Lawrence Erlbaum.
Collins, R. and Jeerson, D. (1991) Selection in Massively Parallel Genetic Algorithms. Proc. 4th
International Conf. on Genetic Algorithms, Morgan-Kaufmann, pp 249-256.
Davidor, Y. (1991) A Naturally Occurring Niche & Species Phenomenon: The Model and First
Results. Proc 4th International Conf on Genetic Algorithms, Morgan-Kaufmann, pp 257-263.
Davis, L.D. (1991) Handbook of Genetic Algorithms. Van Nostrand Reinhold.
DeJong, K. (1975) An Analysis of the Behavior of a Class of Genetic Adaptive Systems. PhD
Dissertation. Department of Computer and Communication Sciences, University of Michigan, Ann
Arbor.
DeJong, K. and Sarma, J. (1993) Generation Gaps Revisited. Foundations of Genetic Algorithms
-2-, D. Whitley, ed. Morgan-Kaufmann.
Eshelman, L. (1991) The CHC Adaptive Search Algorithm. Foundations of Genetic Algorithms,
G. Rawlins, ed. Morgan-Kaufmann. pp 256-283.
Eshelman, L. and Schaer, J.D. (1991) Preventing Premature Convergence in Genetic Algorithms
by Preventing Incest. Proc 4th International Conf on Genetic Algorithms, Morgan-Kaufmann.
Fitzpatrick, J.M. and Grefenstette, J.J. (1988) Genetic Algorithms in Noisy Environments. Ma-
chine Learning, 3(2/3): 101-120.
38
Fogel, L.J., Owens, A.J., and Walsh, M.J. (1966) Articial Intelligence Through Simulated Evolu-
tion. John Wiley.
Fogel, D., and Atmar, J.W. (1990) Comparing Genetic Operators with Gaussian Mutations in
Simulated Evolutionary Processes Using Linear Systems. Biological Cybernetics 63:111-114.
Fogel, D., and Atmar, J.W., eds. (1992) First Annual Conference on Evolutionary Programming.
Goldberg, D. and Bridges, C. (1990) An Analysis of a Reordering Operator on a GA-Hard Problem.
Biological Cybernetics, 62:397-405.
Goldberg, D. (1987) Simple Genetic Algorithms and the Minimal, Deceptive Problem. In, Genetic
Algorithms and Simulated Annealing, L. Davis, ed., Pitman.
Goldberg, D. (1989) Genetic Algorithms in Search, Optimization and Machine Learning. Reading,
MA: Addison-Wesley.
Goldberg, D. (1990) A Note on Boltzmann Tournament Selection for Genetic Algorithms and
Population-oriented Simulated Annealing. TCGA Report 90003, Department of Engineering Me-
chanics, University of Alabama.
Goldberg, D. (1991) The Theory of Virtual Alphabets. Parallel Problem Solving from Nature,
Springer Verlag.
Goldberg, D., and Deb, K. (1991) A Comparative Analysis of Selection Schemes Used in Genetic
Algorithms. Foundations of Genetic Algorithms, G. Rawlins, ed. Morgan-Kaufmann. pp 69-93.
Gordon, S., Whitley, D., and Bohm, A. (1992) Data
ow Parallelism in Genetic Algorithms. Parallel
Problem Solving from Nature -2-, R. Manner and B. Manderick, eds. North Holland.
Gorges-Schleuter, M. (1991) Explicit Parallelism of Genetic Algorithms through Population Struc-
tures. Parallel Problem Solving from Nature, Springer Verlag, pp 150-159.
Grefenstette, J.J. (1986) Optimization of Control Parameters for Genetic Algorithms. IEEE Trans.
Systems, Man, and Cybernetics, 16(1): 122-128.
Holland, J. (1975) Adaptation In Natural and Articial Systems. University of Michigan Press.
Liepins, G. and Vose, M. (1990) Representation Issues in Genetic Algorithms. Journal of Experi-
mental and Theoretical Articial Intelligence, 2:101-115.
Michalewicz, Z. (1992) Genetic Algorithms + Data Structures = Evolutionary Programs. Springer-
Verlag, AI Series, New York.
Muhlenbein, H. (1991) Evolution in Time and Space - The Parallel Genetic Algorithm. Foundations
of Genetic Algorithms, G. Rawlins, ed. Morgan-Kaufmann. pp 316-337.
Muhlenbein, H. (1992) How genetic algorithms really work: I. Mutation and Hillclimbing, Parallel
Problem Solving from Nature -2-, R. Manner and B. Manderick, eds. North Holland.
Nix, A. and Vose, M. (1992) Modeling Genetic Algorithms with Markov Chains. Annals of Math-
ematics and Articial Intelligence. 5:79-88.
Rechenberg, I. (1973) Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der
biologischen Evolution. Frommann-Holzboog Verland, Stuttgart.
Schaer, J.D. (1987) Some Eects of Selection Procedures on Hyperplane Sampling by Genetic
Algorithms. In, Genetic Algorithms and Simulated Annealing, L. Davis, ed. Pitman.
Schaer, J.D., and Eshelman, L. (1993) Real-Coded Genetic Algorithms and Interval Schemata.
Foundations of Genetic Algorithms -2-, D. Whitley, ed. Morgan-Kaufmann.
39
Schwefel, H.P. (1975) Evolutionsstrategie und numerische Optimierung. Dissertation, Technische
Universitat Berlin.
Schwefel, H.P. (1981) Numerical Optimization of Computer Models. Wiley.
Spears, W. and DeJong, K. (1991) An Analysis of Multi-Point Crossover. Foundations of Genetic
Algorithms, G. Rawlins, ed. Morgan-Kaufmann.
Syswerda, G. (1989) Uniform Crossover in Genetic Algorithms. Proc 3rd International Conf on
Genetic Algorithms, Morgan-Kaufmann, pp 2-9.
Syswerda, G. (1991) A Study of Reproduction in Generational and Steady-State Genetic Algo-
rithms. Foundations of Genetic Algorithms, G. Rawlins, ed. Morgan-Kaufmann. pp 94-101.
Starkweather, T., Whitley, D., and Mathias, K. (1991) Optimization Using Distributed Genetic
Algorithms. Parallel Problem Solving from Nature, Springer Verlag.
Tanese, R. (1989) Distributed Genetic Algorithms. Proc 3rd International Conf on Genetic Algo-
rithms, Morgan-Kaufmann, pp 434-439.
Vose, M. (1993) Modeling Simple Genetic Algorithms. Foundations of Genetic Algorithms -2-, D.
Whitley, ed., Morgan Kaufmann.
Vose, M. and Liepins, G. (1991) Punctuated Equilibria in Genetic Search. Complex Systems 5:31-
44.
Whitley, D. (1989) The GENITOR Algorithm and Selective Pressure. Proc 3rd International Conf
on Genetic Algorithms, Morgan-Kaufmann, pp 116-121.
Whitley, D. (1991) Fundamental Principles of Deception in Genetic Search. Foundations of Genetic
Algorithms. G. Rawlins, ed. Morgan Kaufmann.
Whitley, D. (1993a) An Executable Model of a Simple Genetic Algorithm. Foundations of Genetic
Algorithms -2-. D. Whitley, ed. Morgan Kaufmann.
Whitley, D. (1993b) Toward Models of Island and Cellular Parallel Genetic Algorithms. submitted
to International Conference on Genetic Algorithms, 1993.
Whitley, D., and Kauth, J. (1988) GENITOR: a Dierent Genetic Algorithm. Proceedings of the
Rocky Mountain Conference on Articial Intelligence, Denver, CO. pp 118-130.
Whitley, D. and Starkweather, T. (1990) Genitor II: a Distributed Genetic Algorithm. Journal
Expt. Theor. Artif. Intell., 2:189-214
Whitley, D., Dominic, S., and Das, R. (1991) Genetic Reinforcement Learning with Multilayer
Neural Networks. Proc 4th International Conf on Genetic Algorithms, Morgan-Kaufmann.
Whitley, D., Das, R., and Crabb, C. (1992) Tracking Primary Hyperplane Competitors During
Genetic Search. Annals of Mathematics and Articial Intelligence. 6:367-388.
Winston, P. (1992) Articial Intelligence, Third Edition. Addison-Wesley.
Wright, A. (1991) Genetic Algorithms for Real Parameter Optimization. Foundations of Genetic
Algorithms. G. Rawlins, ed. Morgan Kaufmann.
Wright, S. (1932) The Roles of Mutation, Inbreeding, Crossbreeding, and Selection in Evolution.
Proc. 6th Int. Congr. on Genetics, pp 356-366.
40