Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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