ABSTRACT

Genetic algorithms (GA) solve problems using the Darwinian concept of evolution. They were first described by John Holland in the 1970s. Genetic programming is similar to GAs, but differs in the fact that the genotypes are executable code. The initial population should be diverse, since the genotypes will be combined to create new solutions that did not previously exist in the population. One of the advantages of GAs is that they can investigate new solutions that humans don’t have the time to think about or generate. The crossover operation allows genotypes to exchange genes. Crossover is not essential for success, but it does allow genotypes to essentially exchange genetic information. Mutation is used to inject an element of diversity into the population of genotypes. A GA that uses mutation will randomly select a genotype, and, within that genotype, randomly select a gene to mutate.