Evolutionary Computing Dialects Presented by A.E. Eiben Free University Amsterdam with thanks to the...

36
Evolutionary Computing Dialects Presented by A.E. Eiben Free University Amsterdam with thanks to the EvoNet Training Committee and its “Flying Circus”

Transcript of Evolutionary Computing Dialects Presented by A.E. Eiben Free University Amsterdam with thanks to the...

Page 1: Evolutionary Computing Dialects Presented by A.E. Eiben Free University Amsterdam with thanks to the EvoNet Training Committee and its “Flying Circus”

Evolutionary Computing Dialects

Presented by A.E. EibenFree University Amsterdam

with thanks to the EvoNet Training Committee and its “Flying Circus”

Page 2: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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

Page 3: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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)

Page 4: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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)

Page 5: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 6: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 6

GA: representation

Required accuracy determines the # of bits to represent a trait (variable)

Page 7: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 8: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 8

GA: crossover (2)

Page 9: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 9

GA: mutationMutation: Alter each gene independently with a probability pm

Relatively large chance for not being mutated

(exercise: L=100, pm =1/L)

Page 10: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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.

Page 11: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 12: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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.

Page 13: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 13

GA: Goldberg ‘89 example (1)

Page 14: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 14

GA: Goldberg ‘89 example (2)

Page 15: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 16: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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:

Page 17: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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?)

Page 18: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 18

ES: mutation (2)

Each xi (coordinate direction) has its own step size

Individual: (x1, …, xn, 1, …, n)

0, , ’ are parameters

Page 19: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 19

ES: mutation (3)

Case 1: n = 2, n = 1

Equal probability to place an offspring

Case 2: n = 2, n = 2

Page 20: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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)

Page 21: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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).

Page 22: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 22

ES: recombination (3)

Recombination illustrated

= 3

Page 23: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 24: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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)

Page 25: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 25

Traditional EP: Finite State Machines

Fitnesss = prediction capability: outputi = inputi+1

Initial state: CInput string: 011101Output string: 110111Good predictions: 60%

Page 26: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 27: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 28: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 29: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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!)

Page 30: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 31: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 31

Replace randomly chosen subtree by a randomly generated (sub)tree

GP: mutation

Page 32: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 32

Exchange randomly selected subtrees in the parents

GP: crossover

Page 33: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 34: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 35: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 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

Page 36: Evolutionary Computing Dialects Presented by A.E. Eiben Free 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 36The end