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 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 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)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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 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 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 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
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School GA: crossover (2)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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 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 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.
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School GA: Goldberg ‘89 example (1)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School GA: Goldberg ‘89 example (2)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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 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 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?)
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School ES: mutation (2) Each x i (coordinate direction) has its own step size Individual: (x 1, …, x n, 1, …, n ) 0, , ’ are parameters
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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 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 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).
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School ES: recombination (3) Recombination illustrated = 3
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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 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 Traditional EP: Finite State Machines Fitnesss = prediction capability: output i = input i+1 Initial state: C Input string: Output string: Good predictions: 60%
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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 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
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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 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 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 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 Exchange randomly selected subtrees in the parents GP: crossover
EC Dialects by A.E. Eiben, Free University Amsterdam, for the EvoNet Summer School 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 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 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 The end