Evolutionary Computing Dialects Presented by A.E. Eiben Free University Amsterdam with thanks to the...
-
Upload
antony-turner -
Category
Documents
-
view
216 -
download
0
Transcript of Evolutionary Computing Dialects Presented by A.E. Eiben Free University Amsterdam with thanks to the...
Evolutionary Computing Dialects
Presented by A.E. EibenFree University Amsterdam
with thanks to the EvoNet Training Committee and its “Flying Circus”
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 2
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 3
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 4
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 5
Genetic algorithm(s)
Developed: USA in the 1970’s Early names: J. Holland, K. DeJong, D. Goldberg Typically applied to:
discrete optimization Attributed features:
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 6
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 7
GA: crossover (1)
Crossover is used with probability pc 1-point crossover:
Choose a random point on the two parents (same for both) Split parents at this crossover point Create children by exchanging tails
n-point crossover: 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 8
GA: crossover (2)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 9
GA: mutationMutation: 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 10
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 11
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 12
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 13
GA: Goldberg ‘89 example (1)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 14
GA: Goldberg ‘89 example (2)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 15
Evolution strategies Developed: Germany in the 1970’s Early names: I. Rechenberg, H.-P. Schwefel Typically applied to:
numerical optimization Attributed features:
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 16
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 17
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 18
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 19
ES: mutation (3)
Case 1: n = 2, n = 1
Equal probability to place an offspring
Case 2: n = 2, n = 2
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 20
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 21
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 22
ES: recombination (3)
Recombination illustrated
= 3
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 23
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 24
Evolutionary programming
Developed: USA in the 1960’s Early names: D. Fogel Typically applied to:
traditional EP: machine learning tasks by finite state machines contemporary EP: (numerical) optimization
Attributed features: 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 25
Traditional EP: Finite State Machines
Fitnesss = prediction capability: outputi = inputi+1
Initial state: CInput string: 011101Output string: 110111Good predictions: 60%
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 26
Mutation:
For FSMs: change a state-transition, add a state, etc. For numerical optimization: see later
Crossover: none !
EP: mutation & crossover
“no crossover between species”
representation naturally determines the operators
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 27
Representation: x1,…,xn, 1,…, n
Mutation: xi is mutated by adding some xi from a normal
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
Modern EP: representation & mutation
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 28
EP: selection
Stochastic variant of ( + )-selection P(t): parents, P’(t): offspring
Selection by conducting pairwise competitions in round-
robin 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 29
Genetic programming Developed: USA in the 1990’s Early names: J. Koza Typically applied to:
machine learning tasks Attributed features:
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 30
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 31
Replace randomly chosen subtree by a randomly generated (sub)tree
GP: mutation
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 32
Exchange randomly selected subtrees in the parents
GP: crossover
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 33
GP: selection Standard GA selection is usual
Sometimes overselection to increase efficiency: rank population by fitness and divide it into two groups:
group 1: best c % of population group 2: other 100-c %
when executing selection 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 34
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 35
• WHAT
• WHEN
• WHY
• WHO
• WHERE
does it work ?(Markov chains, schema theory, BBH)
invented evolutionary algorithms first ? (Turing, Fogel, Holland, Schwefel, …)
are we going next for a nice conference ?
is an evolutionary algorithm ? (HC, SA, TS)
does it work ?(problem X, setup Y, performance Z)
General issues
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 36The end