Evolutionary Computing Dialects, Gusz Eiben
Download
Report
Transcript Evolutionary Computing Dialects, Gusz Eiben
Evolutionary Computing
Dialects
Presented by A.E. Eiben
Free University Amsterdam
with thanks to the EvoNet Training Committee and its
“Flying Circus”
Contents
General formal famework
Dialects:
genetic algorithms
evolution strategies
evolutionary programming
genetic programming
Beyond dialects
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
2
General EA Framework
t := 0
initialize
P(0) = {a1(0), … , an(0)}
evaluate
F(a1(0)), … , F(an(0))
while (stop(P(t)) true)
recombine: P’(t) = rpar(r)(P(t))
mutate:
P’’(t) = mpar(m)(P’(t))
evaluate
F(a1’’(t)), … , F(an’’(t))
select:
P(t + 1) = spar(s)(P’’(t) Q)
t := t + 1
where
• F is the fitness function
• r, m, s are recombination, mutation, selection operators
• par(x) contains the paramteres of operator x
• Q is either or P(t)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
3
From framework to dialects
In theory:
every EA is an instantiation of this framework,
thus:
specifying a dialect needs only filling in the
characteristic features
In practice
this would be too formalistic
there are many exceptions (EAs not fitting into this
framework)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
4
Genetic algorithm(s)
Developed: USA in the 1970’s
Early names: J. Holland, K. DeJong, D. Goldberg
Typically applied to:
Attributed features:
discrete optimization
not too fast
good solver for combinatorial problems
Special:
many variants, e.g., reproduction models, operators
formerly: the GA, nowdays: a GA, GAs
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
5
GA: representation
Required accuracy determines the # of bits to represent a trait (variable)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
6
GA: crossover (1)
Crossover is used with probability pc
1-point crossover:
n-point crossover:
Choose a random point on the two parents (same for both)
Split parents at this crossover point
Create children by exchanging tails
Choose n random crossover points
Split along those points
Glue parts, alternating between parents
uniform crossover:
Assign 'heads' to one parent, 'tails' to the other
Flip a coin for each gene of the first child
Make an inverse copy of the gene for the second child
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
7
GA: crossover (2)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
8
GA: mutation
Mutation:
Alter each gene independently with a probability pm
Relatively large chance for not being mutated
(exercise: L=100, pm =1/L)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
9
GA: crossover OR mutation?
If we define distance in the search space as Hamming distance then:
Crossover is explorative, it makes a big jump to an area somewhere
‘in between’ two (parent) areas.
Mutation is exploitative, it creates random small variations, thereby
staying near the parent.
To hit the optimum you often need a lucky mutation.
GA community: crossover is mission critical.
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
10
GA: selection
Basic idea: fitness proportional selection.
Implementation: roulette wheel technique.
Assign to each individual a part of the roulette wheel (size proportional
to its fitness).
Spin the wheel n times to select n individuals.
Example:
f max
3 individuals
f (A) = 6, f (B) = 5, f (C ) = 1
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
11
GA: reproduction cycle
Generational GA model
1. Select parents for the mating pool (size of mating pool equals population size).
2. Shuffle the mating pool.
3. For each consecutive pair apply crossover with probability pc.
4. For each ‘new-born’ apply mutation.
5. Replace the whole population by the mating pool.
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
12
GA: Goldberg ‘89 example (1)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
13
GA: Goldberg ‘89 example (2)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
14
Evolution strategies
Developed: Germany in the 1970’s
Early names: I. Rechenberg, H.-P. Schwefel
Typically applied to:
Attributed features:
numerical optimization
fast
good optimizer for real-valued optimization
relatively much theory
Special:
self-adaptation of (mutation) parameters standard
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
15
ES: representation
Problem: optimize f : n
Phenotype space (solution space): n
Genotype space (individual space):
object values directly (no encoding)
strategy parameter values:
standard deviations (’s) and
rotation angles (‘s) of mutation
One individual:
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
16
ES: mutation (1)
One step size for each xi (coordinate direction)
Individual: (x1, …, xn, )
xi is mutated by adding some xi from a normal
probability distribution
is mutated by a “log-normal” scheme: multiplying
by e, with from a normal distribution
is mutated first ! (why?)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
17
ES: mutation (2)
Each xi (coordinate direction) has its own step
size
Individual: (x1, …, xn, 1, …, n)
0, , ’ are parameters
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
18
ES: mutation (3)
Case 1: n = 2, n = 1
Case 2: n = 2, n = 2
Equal probability to place an offspring
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
19
ES: recombination (1)
Basic ideas:
I I, parents yield 1 offspring
Applied times, typically >>
Applied to object variables as well as strategy parameters
Per offspring gene two corresponding parent genes are involved
Two ways to recombine two parent alleles:
Discrete recombination: choose one of them randomly
Intermediate recombination: average the values
Might involve two or more parents (global recombination)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
20
ES: recombination (2)
The “standard” operator:
1 For each object variable:
a Choose two parents
b Apply discrete recombination on the corresponding variables
2 For each strategy parameter:
a Choose two parents
b Apply intermediate recombination on the corresponding
parameters
Global recombination: re-choosing the two parents for each variable
anew (step a above).
Local recombination: same two parents for each variable (position i).
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
21
ES: recombination (3)
Recombination
illustrated
=3
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
22
ES: selection
Strictly deterministic, rank based
The best ranks are handled equally
The best individuals survive from
the offspring: (, ) selection
the parents and the offspring: ( + ) selection
(, ) selection often preferred for it is
important for self-adaptation
applicable also for noisy objective functions, moving optima
Selective pressure: very high
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
23
Evolutionary programming
Developed: USA in the 1960’s
Early names: D. Fogel
Typically applied to:
Attributed features:
traditional EP: machine learning tasks by finite state machines
contemporary EP: (numerical) optimization
very open framework: any representation and mutation op’s OK
crossbred with ES (contemporary EP)
consequently: hard to say what “standard” EP is
Special:
no recombination
self-adaptation of parameters standard (contemporary EP)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
24
Traditional EP: Finite State Machines
Initial state: C
Input string: 011101
Output string: 110111
Good predictions: 60%
Fitnesss = prediction capability: outputi = inputi+1
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
25
EP: mutation & crossover
Mutation:
representation naturally determines the operators
For FSMs: change a state-transition, add a state, etc.
For numerical optimization: see later
Crossover: none !
“no crossover between species”
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
26
Modern EP:
representation & mutation
Representation: x1,…,xn, 1,…, n
Mutation:
x is mutated by adding some x from a normal
i
i
probability distribution
is mutated by a “normal” scheme (ES: log-normal)
’i = i (1 + Ni(0, 1))
x’i = xi + ’I Ni(0, 1)
is mutated first !
other prob. distributions, e.g., Cauchy, are also applied
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
27
EP: selection
Stochastic variant of ( + )-selection
P(t): parents, P’(t): offspring
Selection by conducting pairwise competitions in roundrobin format:
Each solution x P(t) P’(t) is evaluated against q other
randomly chosen solutions from the population
For each comparison, a "win" is assigned if x is better than its
opponent
The solutions with the greatest number of wins are retained
to be parents of the next generation
Typically: q = 10
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
28
Genetic programming
Developed: USA in the 1990’s
Early names: J. Koza
Typically applied to:
Attributed features:
machine learning tasks
competes with neural nets and alike
slow
needs huge populations (thousands)
Special:
non-linear chromosomes: trees, graphs
mutation possible but not necessary (disputed!)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
29
GP: representation
Problem domain: modelling (forecasting, regression,
classification, data mining, robot control).
Fitness: the performance on a given (training) data set,
e.g. the nr. of hits/matches/good predictions
Representation: implied by problem domain, i.e.
individual = model = parse tree
parse trees sometimes viewed as LISP expressions
GP = evolving computer programs
parse trees sometimes viewed as just-another-genotype
GP = a GA sub-dialect
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
30
GP: mutation
Replace randomly chosen subtree by a randomly
generated (sub)tree
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
31
GP: crossover
Exchange randomly selected subtrees in the parents
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
32
GP: selection
Standard GA selection is usual
Sometimes overselection to increase efficiency:
rank population by fitness and divide it into two groups:
when executing selection
group 1: best c % of population
group 2: other 100-c %
80% of selection operations chooses from group 1
20% from group 2
for pop. size = 1000, 2000, 4000, 8000 the portion c is
c = 32%, 16%, 8%, 4%
%’s come from rule of thumb
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
33
Beyond dialects
Field merging from the early 1990’s
No hard barriers between dialects, many
hybrids, outliers
Choice for dialect should be motivated by given
problem
Best practical approach: choose representation,
operators, pop. model pragmatically (and end
up with an “unclassifiable” EA)
There are general issues for EC as a whole
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
34
General issues
• WHAT
is an evolutionary algorithm ?
(HC, SA, TS)
• WHEN does it work ?
(problem X, setup Y, performance Z)
• WHY
does it work ?
(Markov chains, schema theory, BBH)
• WHO
invented evolutionary algorithms first ?
(Turing, Fogel, Holland, Schwefel, …)
• WHERE are we going next for a nice conference ?
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
35
The end
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001
36