The Genetic Algorithm
A genetic algorithm is a technique used
to manipulate a sequence of data, based on the ideas of genetics.
To be of use the solution to the problem you are trying to solve
must be capable of being expressed as a sequence of data points
(or string). Initially, strings are filled with random data and
these strings are then evaluated in some way to find out how good
a solution they are. The better the string the greater the
chance of the string producing a child for the next generation.
The next generation of strings is produced by crossover. Crossover
can take many forms but in all cases some of the data in two
"parent" strings is swapped to produce two new child strings.
Crossover is not always 100% perfect and
mutations can occur, which introduce random
data into the strings and provide new genetic material.