A Gentle Introduction to Genetic Algorithms
By:
Noman Islam
Introduction
Introduction – continued
Introduction – continued
Introduction – continued
A Simple Genetic Algorithm
{
initialize population;
evaluate population;
while TerminationCriteriaNotSatisfied
{
select parents for reproduction;
perform recombination and mutation;
evaluate population;
}
}
Initialization of parent population
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
Evaluation
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
Parent population
2
2
4
3
fitness
Selection
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
Parent population
2
2
4
3
fitness
1
0
1
0
1
1
4
0
1
0
0
1
1
3
0
1
0
0
1
1
3
1
0
1
1
0
1
4
selection
fitness
Crossover/Recombination
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
Selected Solution
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
Child Population After Crossover
Mutation
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
Child Population After Crossover
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
Child Population After mutation
Replace with parent population and repeat process
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
Replaced Parent Population
1
2
4
6
fitness
x2 example: selection
f(x) = {MAX(x2): 0 <= x <= 32 }
X2 example: crossover
X2 example: mutation
How GA are Different than Traditional Search Methods?
Advantages of GA
Conclusion
Further Readings