Introduction
Genetic Algorithm are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might otherwise find in a lifetime (Salvatore Mangano, Computer Design, May 1995)
The solution that you get from a genetic algorithm is the result of the iteratively application of different stochastic operators.
Basically the strucure of Genetic Algorithm is always the same presented below
- produce an initial population of indivuals
- evaluate the fitness of all individuals
- WHILE termination condition not met DO
- select fitter individuals for reproduction
- recombine between individuals
- mutate individuals
- evaluate the fitness of the modified individuals
- generate a new population
- END WHILE
use of GA
if alternate solutions take too much time or become too complicated
if there is a need for new approaches
if the problem is similar to one, that was alreadey solved by GA
if you want to get hybrid approaches
Example
We toss a fair coin 60 times and get the following initial population:
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \color{red}\sum_{i=1}^{6}f(s_i)=34
The new population after performing selection:
We only perform a crossover for the pairs and
Crossover-points: 2 and 5
Before crossover:
After crossover:
Before applying mutation:
After applying mutation with updated fitness-values:
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \sum_{i=1}^{6}f(s_i''')=37
Improvement of 9 percent