Genetic
Algorithms in
Evolutionary Computing
Christopher
Altman
Starlab Research and
Pierre Laclede Honors College
Artificial
life is the branch of computer science that uses algorithms
to model the behavior of living biological systems. The
genetic algorithm employs many of the same rules as Darwinian
evolution.
Recall
that all life on earth can trace its origins to the random
interaction of simple molecules early in the earth’s history.
These molecules combined to form complex proteins, and
those that were easily reproducible naturally overran
the untapped resources of earth's primitive, lifeless
environment. From those early protein strings evolved
DNA, which can itself be seen as a protein-based computer
that processes information in base4 as
opposed to base2 information coding
language. From this primal soup of molecules, all known
life evolved.
A
powerful tool employed in artificial
intelligence research is the genetic algorithm, or GA:
the software equivalent of nature's genetic code. Specific
software instructions can be viewed as the equivalent
of chromosomes found in DNA. A
problem is approached by the creation of a sample population
of GA’s, usually selected randomly. This process is repeated
in parallel until a suitable solution is found.
Each algorithm is rated at a certain fitness level according
to how well it approaches the problem; the highest scoring
algorithms are paired and mated, creating the successive
generation.
Random
mutations are introduced at the time of pairing, introducing
new possibilities into the evolution process. Most
algorithms will not meet fitness standards and quickly
die off, but a few will survive and pass their genes to
the successive generation. Over a period of many generations,
the process can quickly be 'fine-tuned' to produce a remarkably
efficient solution for the given problem, in some cases
providing order of magnitude efficiency gains over human
engineering solutions.
Genetic
algorithms have gained widespread use by computer scientists,
engineers, roboticists, cognitive scientists, physicists,
biologists, and chemists. The remarkable speed at which
computing power is increasing only means that the potential
application domain of genetic algorithms will continue
to expand. What follows is an outline illustrating the
basic steps in their design.
Genetic
Algorithm Design
Preliminary
Setup. Time is set to 0. Successive
steps of the operation are set as integers.
Initialize Population. An
initial population of trial solutions is chosen by randomly
encoding genetic 'chromosomes' via binary representation
of 0 and 1, corresponding to the four
molecules A-T
|| C-G comprising
DNA. These genetic models simulate the major principles
of Darwinian evolution — including genetic crossover,
stochastic perturbation, and survival of the fittest.
This set of simple initial conditions produces rapid evolution
of complex behavior as the system evolves.
Evaluate Fitness. The
fitness of each individual genetic algorithm in the population
is rated correspondingly by its proximity to finding the
required solution.
Test for termination criteria.
This step is the base for a for loop which
continues testing successive generations until a suitable
solution is found. Frequency of testing for termination
criteria is situational and set according to individual
preference.
Select Subpopulation. A
number of the initial genetic algorithms are chosen for
recombination. This subpopulation is chosen with preference
to those algorithms with closest adherence to the desired
solution.
Genome Recombination. The
genetic chromosomes of the selected subpopulation are
paired and their genetic material is combined to produce
a third gene sequence - designated offspring. Two
parents possessing a desirable genetic sequence have a
high likelihood of producing offspring with similar traits.
Mutation. The resulting
offspring is subjected to random mutation. The success
of genetic algorithms stems largely from this crucial
step which allows rapid adaptation to changing conditions
in the population. A number of choices can be made when
introducing mutations, ranging from minor changes in the
chromosomes to drastic shifts which radically alter functionality
of the given algorithm.
Evaluate New Fitness.
Each new sequence is assessed by determining how
closely it approximates the desired solution. Fitness
level of the new population is measured to determine whether
to terminate the algorithm or to continue with successive
generations until a suitable solution is found.
Select Survivors. The
population is sorted according to fitness level and the
highest performing genetic sequences are selected for
future offspring production and mutation. Once a satisfactory
solution is found, the loop is terminated.
Further information available via
intellligence.html