Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Evolutionary Computing Dialects Presented by A.E. Eiben Free University Amsterdam with thanks to the EvoNet Training Committee and its “Flying Circus”"— Presentation transcript:

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

2 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

3 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 3 General EA Framework t := 0 initialize P(0) = {a 1 (0), …, a n (0)} evaluate F(a 1 (0)), …, F(a n (0)) while (stop(P(t))  true) recombine: P’(t) = r par(r) (P(t)) mutate: P’’(t) = m par(m) (P’(t)) evaluate F(a 1 ’’(t)), …, F(a n ’’(t)) select: P(t + 1) = s par(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)

4 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)

5 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

6 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)

7 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 7 GA: crossover (1) Crossover is used with probability p c 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

8 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 8 GA: crossover (2)

9 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 9 GA: mutation Mutation: Alter each gene independently with a probability p m Relatively large chance for not being mutated (exercise: L=100, p m =1/L)

10 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.

11 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

12 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 p c. 4. For each ‘new-born’ apply mutation. 5. Replace the whole population by the mating pool.

13 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 13 GA: Goldberg ‘89 example (1)

14 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 14 GA: Goldberg ‘89 example (2)

15 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

16 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:

17 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 17 ES: mutation (1) One step size for each x i (coordinate direction) Individual: (x 1, …, x n,  ) x i is mutated by adding some  x i from a normal probability distribution  is mutated by a “log-normal” scheme: multiplying by e , with  from a normal distribution  is mutated first ! (why?)

18 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 18 ES: mutation (2) Each x i (coordinate direction) has its own step size Individual: (x 1, …, x n,  1, …,  n )  0, ,  ’ are parameters

19 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

20 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)

21 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 21 ES: recombination (2) The “standard” operator: 1For each object variable: aChoose two parents bApply discrete recombination on the corresponding variables 2For each strategy parameter: aChoose two parents bApply 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).

22 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 22 ES: recombination (3) Recombination illustrated  = 3

23 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

24 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)

25 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 25 Traditional EP: Finite State Machines Fitnesss = prediction capability: output i = input i+1 Initial state: C Input string: 011101 Output string: 110111 Good predictions: 60%

26 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

27 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 27 Representation:  x 1,…,x n,  1,…,  n  Mutation: x i is mutated by adding some  x i from a normal probability distribution  is mutated by a “normal” scheme (ES: log-normal)  ’ i =  i  (1 +   N i (0, 1)) x’ i = x i +  ’ I  N i (0, 1)  is mutated first ! other prob. distributions, e.g., Cauchy, are also applied Modern EP: representation & mutation

28 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

29 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!)

30 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

31 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

32 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

33 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

34 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

35 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

36 EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 2001 36 The end


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

Similar presentations


Ads by Google