Genetic Algorithm Info

Crossover Operators

Mutation Operators

Genetic Algorithms

Genetic algorithms are a special breed of algorithm. They seek to solve Hard Problems by facilitating evolution! To many this sounds crazy, but it works and yields some pretty amazing results.


Step 1. Population 0

The first step is to generate a population of randomly generated solutions to a problem. Clearly, randomly generated solutions to a problem will be pretty bad, but we have to start somewhere.

Step 2. Fitness Determination

The second step is to calculate a fitness value for each solution (or chromosome). A fitness value is calculated by a fitness function that judges the strength of a particular chromosome.

Step 3. Parent Selection

The third step is to select parents in anticipation of step four, reproduction. Several techniques exist for parent selection, but in general, stronger chromosomes are selected as parents more often than weaker parents. The result of this step is a set of parent chromosomes. Selecting more-fit parents is referred to as selection bias.

Step 4. Offspring Production

The fourth step is the production of offspring. Usually two parent chromosomes are run through a crossover operator to produce one or more children. A crossover operator is a function that produces an offspring chromosome that has genetic material from both parents.

Step 5. Offspring Mutation

The fifth step is the mutation of offspring. Typically, 1 to 5 percent of offspring are mutated. A chromosome selected for mutation will be passed to a mutation operator. Genetic material is randomly altered to introduce new genetic material into the population.

Population 1

After Offspring production and mutation is complete, Population 1 is complete. In general, each successive generation is more-fit than the previous. The pressure applied by selection bias is powerful at removing weak genetic material while propagating strong genetic material. Thousands of generations can typically be computed every minute; therefore, with many genetic algorithm implementations it is possible to evolve very strong solutions in a relatively short period of time.

Chromosome

A chromosome is an individual solution to a problem. It is usually made up of a string or permutation of numbers or letters. Each individual value of a chromosome is called an allele.

Population

A population is a set of chromosome. Population 0 refers to the initially randomly generated set of chromosomes.

Crossover

A Crossover Operator usually combines the genetic material of two parents to produce one or two offspring chromosomes.

Mutation

A Mutation Operator modifies the genetic material of a single chromsome.