Professional Documents
Culture Documents
Genetic Algorithms: A Tutorial
Genetic Algorithms: A Tutorial
Genetic Algorithms: A Tutorial
z Ant-colony optimization
z Swarm intelligence
z Neural networks
Genetic Algorithms:
A Tutorial
“Genetic Algorithms are
good at taking large,
potentially huge search
spaces and navigating
them, looking for optimal
combinations of things,
solutions you might not
otherwise find in a
lifetime.”
- David E. Goldberg
Computer Design, May 1995
Charles Darwin
1809–1882
Evolutionary Computation
A collection of computational methods inspired by
biological evolution:
z A population of candidate solutions evolves over
time, with the fittest at each generation contributing
the most offspring to the next generation
Components of a GA
discard
Reproduction
children
reproduction
parents
population
P2 (1 1 0 1 1 0 1 0) (1 1 1 1 1 0 1 0) C2
Evaluation
modified
evaluated children
children
evaluation
discard
z Generational GA:
entire populations replaced with each
iteration
z Steady-state GA:
a few members replaced each generation
Research Methodology 15 Genetic Algorithms: A Tutorial
Genetic Programming
A Simple Example
CityList1 (3 5 7 2 1 6 4 8)
CityList2 (2 5 7 6 8 1 3 4)
Crossover
Crossover combines inversion and
recombination:
* *
Parent1 (3 5 7 2 1 6 4 8)
Parent2 (2 5 7 6 8 1 3 4)
Child (8 5 7 2 1 6 3 4)
* *
Before: (8 5 7 2 1 6 3 4)
After: (8 5 6 2 1 7 3 4)
100
90
80
70
60
50
y
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
x
100
90
80
70
60
50
y
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
x
100
90
80
70
60
50
y
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
x
100
90
80
70
60
50
y
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
x
100
90
80
70
60
50
y
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
x
1800
1600
1400
1200
Distance
1000
800
600
400
200
0 Bes t
11
13
15
17
19
21
23
25
27
29
31
1
W ors t
Ge n e r atio n s (1000)
A v erage
When to Use a GA
z Alternate solutions are too slow or much
complicated
z Need an exploratory tool to examine new
approaches
z Problem is similar to one that has already been
successfully solved.
z Want to hybridize with an existing solution
z Benefits of the GA technology meet key problem
requirements
Some Applications of
Genetic Algorithms
z Optimization and design
i numerical optimization, circuit design, airplane
design, factory scheduling, drug design, network
optimization
z Automatic programming
i evolving computer programs (e.g., for image
processing), evolving cellular automata
Evolutionary process
Essentials of evolutionary
Essentials of Darwinian algorithms:
i
evolution: Computer “organisms”
i Organisms reproduce in (e.g., programs)
proportion to their fitness reproduce in proportion
in the environment to their fitness of
problem environment
i Offspring inherit all traits (e.g., how well they
from parents perform a desired task)
DEFINITION OF THE
GENETIC ALGORITHM (GA)
The genetic algorithm is a probabilistic search algorithm that
(a) iteratively transforms a set (called a population) of mathematical
ANTENNA DESIGN
ANTENNA GENOME
X1 Y1 Z1 X2 Y2 Z2 …
+0010 -1110 +0001 +0011 -1011 +0011 …
180q
z The smaller the value of fitness, the better
PREPARATORY STEPS
Objective: Find a computer program with one
input (independent variable X) whose
output equals the given data
1 Terminal set: T = {X, Random-Constants}
Conclusions