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