Many varieties of the GA have been implemented, but they all have
some basic things in common. A typical GA works like this:
Initialize
An initial population of genotypes is created with random settings
of gene values.
Evaluate
Each genotype's resulting phenotype is evaluated for fitness.
Select
Pairs of genotypes are chosen randomly from the population for mating
- with the chances of being chosen proportional to fitness.
Crossover
These genotypes mate via crossover: they produce one or two offspring
genotypes, which inherit randomly sized, alternating "chunks" of
gene sequences from each parent.
Mutate
Each offspring's genes have a chance of being mutated (isolated
genes can be changed randomly - this encourages experimentation
in the population, across generations).
Update
The offspring genotypes comprise the next generation, and replace
the genotypes in the previous one.
Repeat
The process is repeated, beginning with the Evaluate step, for
a set number of generations, or until the average fitness of
the population reaches a desired level.
Most GA's incorporate variations on this form, and experimenters use different settings
for things like population size, mutation rate, fitness scaling, and crossover rate
(affecting the sizes of the parental chunks which the offspring genotypes inherit).
Artificial Life
Artificial Life is the study of human-made systems which exhibit behaviors
that are characteristic of natural organic processes. It complements the traditional
biological sciences, which are largely concerned with analysis, by attempting to
synthesize life-like systems (Langton, 91). Life, and the myriad systems which
are characteristic of life, are seen as emergent behavior. Many artificial life
researchers use genetic algorithms in modeling the evolution of self-organizing
phenomena, employing a bottom-up methodology. Reproduction, predator/prey
dynamics, primitive communication, locomotion, and functional morphology are
among the phenomena that have been modeled. The influence of artificial life
concepts can be witnessed in a growing number of software products for exploring
evolution and emergent phenomena. These include SimLife and other "Sim" products
by Maxis, and many others.
Interactive Evolution
Genetic algorithm-based
systems which replace the objective function with a human are typically called
Interactive Evolution systems. These have been developed by (Dawkins, 86),
(Sims, 91), Latham (Todd, 92), (Tolson, 93), (Baker, 93), and others. What
distinguishes these systems from other uses of the GA is that they incorporate
a human fitness function. In these systems, abstract forms (typically) are
evolved through the selections of favorable images by a user, through a number of
generations of evaluations. These systems support the notion of an 'aesthetic search'
in which the fitness criteria are based primarily on the visual response of the user.
Interactive evolution is useful when fitness is not measurable by way of any known
computational evaluation techniques. As an example of an interactive evolution
system, Richard Dawkins' Blind Watchmaker is illustrated in Figure 5. The software
was developed as an accompaniment to the book by the same title, as an interactive
illustration of evolutionary principles. In the illustration, the top panel shows
one generation of a population of biomorphs from which a user has chosen an individual
to spawn a new generation, with genetic mutations for variation. By repeating this
action a number of times, one can breed a desired biomorph. This system employs
asexual reproduction (one parent per generation). Many other interactive evolution
systems, including the Character Evolution Tool, allow for sexual reproduction
as well, in which two or more individuals can be chosen from the first generation
for mating, to create the next generation.