Genetic Algorithms Lecture 5 Addendum to the slides of Jason Noble
Evolutionary Algorithms NNII NI NI NINI NN NI II
Evolutionary Algorithms Binary Genetic Algorithms Variable Encoding and Decoding Generating a Population Generating Offspring: Crossover Mutation Selection Real chromosomes diploid GA almost always (haploid) exception will be explicitly mentioned
Evolutionary Algorithms Example (Haupt & Haupt, 2004) Suppose we have a digital map of a mountain range We want to find the highest peak on the map Automatically! Difficult problem for conventional optimization techniques
Evolutionary Algorithms
Variable Encoding VariableValueDecimalBinary Latitude (min) 40 o, Latitude (max) 40 o, Longitude (min) Longitude (max) Chromosome =[ ] X y
Evolutionary Algorithms Generate an Initial Population Assign each chromosome a fitness (in this case simply the height of the point)
Evolutionary Algorithms Selection (at 50% selection rate) Selection: Choose a selection rate Choose a threshold (all above survive)
Evolutionary Algorithms Assume random mating Selection: Choose a selection rate Choose a threshold (all above survive)
Evolutionary Algorithms Assume random mating Selection: Choose a selection rate Choose a threshold (all above survive)
Evolutionary Algorithms Crossover
Evolutionary Algorithms Crossover Crossover point
Evolutionary Algorithms Crossover Crossover point
Evolutionary Algorithms Crossover Crossover point
Evolutionary Algorithms Crossover Crossover point
Evolutionary Algorithms Crossover Crossover point
Evolutionary Algorithms Crossover Crossover point
Evolutionary Algorithms New generation (almost) Crossover point
Evolutionary Algorithms Mutation
Evolutionary Algorithms Over the generations ….
Evolutionary Algorithms Summary: Canonical Genetic Algorithm S1: Set t= 0 S2: Initialize chromosome population P(t) Usually by random init. S3: Evaluate P(t) by a fitness measure S4: while (termination not satisfied) do: begin S4.1 Select for recombination chromosomes from P(t). Let P 1 be the set of selected chromosomes. Choose individuals from P 1 to enter the mating pool (MP) S4.2 Recombine the chromosomes in MP forming P 2. Mutate chromosomes in P 2 forming P 3 S4.3 Select for replacement from P 3 and P(t) forming P(t+1) t = t + 1 end
Evolutionary Algorithms Generating offspring Weighted random pairing (roulette wheel weighting) Rank weighting Cost weighting Equivalently allow a number of copies to mate (weighted)
Evolutionary Algorithms Generating offspring Roulette wheel selection How many copies take part in mating? Rank weighting Cost weighting
Evolutionary Algorithms Roulette wheel weighting (1) Rank weighting: assign distributions by rank, make sure that total probability is 1.0 pnpn ΣpnΣpn
Evolutionary Algorithms Roulette wheel weighting (2) Fitness based weighting: assign distributions by fitness, make sure that total probability is 1.0 pnpn ΣpnΣpn
Evolutionary Algorithms Roulette wheel weighting (3) = = = = Cost based weighting: assign distributions by cost, make sure that total probability is 1.0 pnpn ΣpnΣpn
Evolutionary Algorithms Pairing offspring Randomly Rank based (1-2) (3-4) Prevents overly quick convergence Tournament: Pick two chromosomes Set parameter k Generate random nr r If (r < k) pick fitter (eg. k = 0.75) Elitism: always pick (a couple of) the best
Evolutionary Algorithms Real valued chromosomes In case of example: (x, y), where x and y are the spatial coordinates Crossover Discrete recombination Intermediate recombination Line recombination
Evolutionary Algorithms Real valued chromosomes Crossover Line recombination (122, 45, 77) and (3,4,3) Generate random positions: (1,2,2) and (1,1,2) Results in: (122, 4, 3) and (122, 45, 3)
Evolutionary Algorithms Real valued chromosomes Intermediate recombination Offspring = parent 1 + α(parent 2 – parent 1) Allow area to be slightly larger than hypercube defined by parents Generate α for each position Line recombination Use a single value for α
Evolutionary Algorithms Genetic Programming (Koza, 1992,1994,…) Example (Mitchell, 1998): Keplers law P 2 = cA 3, P orbital Period, A average distance from sun Programme for Mars: Program Orb // Mars A = 1.52; P = SQRT(A*A*A); PRINT P END
Evolutionary Algorithms Genetic Programming Lisp version (defun orbital_period () ; Mars; (setf A 1.52) (sqrt (A A (* A A))))
Evolutionary Algorithms Parse tree for LISP expression SQRT * A * AA
Evolutionary Algorithms Kozas algorithm Trees consist of functions and terminals Choose a set of functions and terminals, e.g { +, -, *, /, }; {A} Generate random programmes (trees) which are syntactically correct Evaluate fitness Apply crossover (mutation)
Evolutionary Algorithms Crossover / A/ // AAAA * A- * AAA / A/ // AAA * A- *A AA X A