04 Evolution Strategies
04 Evolution Strategies
04 Evolution Strategies
Evolution Strategies
1
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
ES quick overview
Developed: Germany in the 1970s
Early names: I. Rechenberg, H.-P. Schwefel
Typically applied to:
numerical optimisation
Attributed features:
fast
good optimizer for real-valued optimisation
relatively much theory
Special:
self-adaptation of (mutation) parameters standard
Evolution Strategies
2 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
ES technical summary tableau
Evolution Strategies
3 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introductory example
Task: minimimise f : Rn R
Algorithm: two-membered ES using
Vectors from Rn directly as chromosomes
Population size 1
Only mutation creating one child
Greedy selection
Evolution Strategies
4 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introductory example: pseudocde
Set t = 0
Create initial point xt = x1t,,xnt
REPEAT UNTIL (TERMIN.COND satisfied) DO
Draw zi from a normal distr. for all i = 1,,n
yit = xit + zi
IF f(xt) < f(yt) THEN xt+1 = xt
ELSE xt+1 = yt
FI
Set t = t+1
OD
Evolution Strategies
5 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introductory example: mutation mechanism
z values drawn from normal distribution N(,)
mean is set to 0
variation is called mutation step size
Evolution Strategies
6 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Illustration of normal distribution
Evolution Strategies
7 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Another historical example:
the jet nozzle experiment
Evolution Strategies
8 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
The famous jet nozzle experiment (movie)
Evolution Strategies
9 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Representation
Evolution Strategies
10 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Mutation
Evolution Strategies
11 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Mutate first
Evolution Strategies
12 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Mutation case 1:
Uncorrelated mutation with one
Chromosomes: x1,,xn,
= exp( N(0,1))
xi = xi + N(0,1)
Evolution Strategies
13 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Mutants with equal likelihood
Evolution Strategies
14 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Mutation case 2:
Uncorrelated mutation with n s
Chromosomes: x1,,xn, 1,, n
i = i exp( N(0,1) + Ni (0,1))
xi = xi + i Ni (0,1)
Two learning rate parameters:
overall learning rate
coordinate wise learning rate
1/(2 n) and 1/(2 n)
Boundary rule: i < 0 i = 0
Evolution Strategies
15 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Mutants with equal likelihood
Evolution Strategies
16 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Mutation case 3:
Correlated mutations
Evolution Strategies
17 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Correlated mutations contd
The mutation mechanism is then:
i = i exp( N(0,1) + Ni (0,1))
j = j + N (0,1)
x = x + N(0,C)
x stands for the vector x1,,xn
C is the covariance matrix C after mutation of the values
1/(2 n) and 1/(2 n) and 5
i < 0 i = 0 and
| j | > j = j - 2 sign(j)
Evolution Strategies
20 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Names of recombinations
Two parents
Two fixed
selected for
parents
each i
Local Global
zi = (xi + yi)/2
intermediary intermediary
zi is xi or yi
chosen Local discrete Global discrete
randomly
Evolution Strategies
21 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Parent selection
Evolution Strategies
22 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Survivor selection
Evolution Strategies
23 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Survivor selection contd
(+)-selection is an elitist strategy
(,)-selection can forget
Often (,)-selection is preferred for:
Better in leaving local optima
Better in following moving optima
Using the + strategy bad values can survive in x, too long if
their host x is very fit
Selective pressure in ES is high compared with GAs,
7 is a traditionally good setting (decreasing over the
last couple of years, 3 seems more popular lately)
Evolution Strategies
24 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Self-adaptation illustrated
Evolution Strategies
25 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Self-adaptation illustrated contd
Evolution Strategies
26 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Prerequisites for self-adaptation
Evolution Strategies
27 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Example application:
the cherry brandy experiment
Task: to create a colour mix yielding a target colour (that of
a well known cherry brandy)
Ingredients: water + red, yellow, blue dye
Representation: w, r, y ,b no self-adaptation!
Values scaled to give a predefined total volume (30 ml)
Mutation: lo / med / hi values used with equal chance
Selection: (1,8) strategy
Evolution Strategies
28 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Example application:
cherry brandy experiment contd
Fitness: students effectively making the mix and
comparing it with target colour
Termination criterion: student satisfied with mixed
colour
Solution is found mostly within 20 generations
Accuracy is very good
Evolution Strategies
29 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Example application:
the Ackley function (Bck et al 93)
The Ackley function (here used with n =30):
exp cos( 2xi ) 20 e
1 n 2 1 n
f ( x) 20 exp 0.2 xi
n i 1 n i 1
Evolution strategy:
Representation:
-30 < xi < 30 (coincidence of 30s!)
30 step sizes
(30,200) selection
Termination : after 200000 fitness evaluations
Results: average best solution is 7.48 10 8 (very good)
Evolution Strategies
30 / 30
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing