Introduction to Genetic Algorithms and Evolutionary Computation Andrew L. Nelson Visiting Research Faculty University of South Florida 1 Overview • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Outline to the left • Current topic in red • • • • Introduction Algorithm Formulation Example Case Study Genetic Algorithms 2 References • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Holland, J. J., Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor Michigan, 1975. • D.B. Fogel, Evolutionary Computation, Toward a New Philosophy of Machine Intelligence, 2nd Ed., IEEE Press, Piscataway, NJ, 2000. • M. Mitchell, An Introduction to Genetic Algorithms, The MIT Press, Cambridge, Massachusetts, 1998. Genetic Algorithms 3 Introduction • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Genetic Algorithms • Base on Natural Evolution • Stochastic Optimization • Stochastic Numerical Techniques • Evolutionary Computation • Artificial Life • Machine Learning • Artificial Evolution Genetic Algorithms 4 Introduction • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Population of candidate solutions • Evaluate the quality of each solution • Survival (and reproduction) of the fittest • Crossover and Mutation Genetic Algorithms 5 Sample Application Domain • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Finding the best path between two points in "Grid World" • Creatures in world: Finish • Occupy a single cell • Can move to neighboring cells Start • Goal: Travel from the gray cell to the green cell in the shortest number of steps Genetic Algorithms 6 Algorithm Formulation • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Components of a Genetic Algorithm: • • • • Genome Fitness metric Stochastic modification Cycles of generations • Many variations Genetic Algorithms 7 Genome • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • The genome is used represent candidate solutions • Fixed length Bitstrings • Holland • Traditional • Convergence theorems exist • Real-valued genomes • Artificial evolution • Difficult to prove convergence Genetic Algorithms 8 Genome • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Example: Representation of a path through a square maze: • Representation: N=00, E=10, S=11,W=01 00 10 10 00 10 11 10 10 00 00 10 00 10 10 00 01 00 10 00 10 Genetic Algorithms 9 Population • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers • Population, P is made up of individuals pn where N is the population size p1 = 00 10 10 00 10 11 10 10 00 00 10 00 10 10 00 01 00 10 00 10 p2 = 00 00 10 10 00 10 10 11 10 11 10 00 10 00 00 00 01 00 10 00 p2 = 10 10 00 10 11 10 00 00 01 00 00 10 00 01 00 01 00 10 10 10 pn P : n 1..N 2/9/2004 Genetic Algorithms 10 Fitness Function • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • F(p) called Objective Function • Example: Shortest legal path to goal • F(pn) = S(steps) Genetic Algorithms 11 Selection • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Selection Methods of selection of the parents of the next generation of candidate solutions • Diverse methods • Probabilistic: • Chance of be selected is proportional to fitness • Greedy: • the fittest solutions are selected Genetic Algorithms 12 Propagation • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • The next generation is generated from the fittest members of the current population • Genetic operators: • Crossover (recombination) • Mutation Genetic Algorithms 13 Propagation: Crossover • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Example: 1 point crossover • Two parents generate 1 offspring p2 = 00 00 10 10 00 10 10 11 10 11 10 00 10 00 00 00 01 00 10 00 p2 = 10 10 00 10 11 10 00 00 01 00 00 10 00 01 00 01 00 10 10 10 p1+2 = 00 00 10 10 00 10 10 11 10 11 10 00 00 01 00 01 00 10 10 10 Genetic Algorithms 14 Propagation: Mutation • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Example: Bitstring point mutation • Replace randomly selected bits with their complements • One parent generates one offspring p1 = 00 11 01 10 10 00 00 01 00 10 00 10 11 10 00 00 10 00 10 10 p 1’ = 00 11 00 10 10 00 10 01 00 10 00 10 11 10 00 00 11 00 10 10 Genetic Algorithms 15 Worked Example • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • World size: • 4X4 • Population size: • N=4 • Genome: • 16 bits • Fitness: • F(p) = (8-Steps before reaching goal) (squares from goal) – • Propagation: Greedy, Elitist Genetic Algorithms 16 Ex: Initial Population • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Initial Population P(0): 4 random 16-bit strings Genetic Algorithms 17 Ex: Fitness Calculation • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Fitness calculations: • F(p1) = (8-8) – 4 = -4 • F(p2) = -5 • F(p3) = -6 • F(p4) = -4 Genetic Algorithms 18 Ex: Selection and Propagation • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Select p1 and p4 as parents of the next generation, P(1) • Produce offspring using crossover and mutation 00 01 10 01 11 00 00 00 10 10 11 01 00 11 10 01 10 10 11 01 00 11 10 01 10 00 11 10 01 10 10 01 00 01 10 01 00 11 10 01 10 10 11 10 01 10 10 01 00 01 10 01 00 10 10 00 10 10 11 00 11 10 10 01 Genetic Algorithms 19 Ex: Book Keeping... • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • The next generation is... Genetic Algorithms 20 Ex: Repeat for next Generation • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Repeat: • • • • F(p1) = -4 F(p2) = -4 F(p3) = 0 F(p4) = -4 Genetic Algorithms 21 Case Study • • • • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Evolution of neural networks for autonomous robot control using competitive relative fitness evaluation Genetic Algorithms 22