Introduction to Genetic Algorithms and Evolutionary Computation Andrew

  • Slides: 22
Download presentation
Introduction to Genetic Algorithms and Evolutionary Computation Andrew L. Nelson Visiting Research Faculty University

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 •

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 •

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, 2 nd 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 •

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 •

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 •

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: • Occupy a single cell • Can move to neighboring cells • 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

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 •

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 •

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 Genetic Algorithms 9

Population • • • References Introduction Sample Application Formulation • Genome • Population •

Population • • • References Introduction Sample Application Formulation • Genome • Population • Fitness Function • Selection • Propagation Worked Example Case Study: Evolving Neural Controllers 2/9/2004 • Population, P is made up of individuals pn where N is the population size Genetic Algorithms 10

Fitness Function • • • References Introduction Sample Application Formulation • Genome • Population

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 •

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 •

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

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 Genetic Algorithms 14

Propagation: Mutation • • • References Introduction Sample Application Formulation • Genome • Population

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 Genetic Algorithms 15

Worked Example • • • References Introduction Sample Application Formulation • Genome • Population

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: • 4 X 4 • 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 •

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 •

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(p 1) = (8 -8) – 4 = -4 • F(p 2) = -5 • F(p 3) = -6 • F(p 4) = -4 Genetic Algorithms 18

Ex: Selection and Propagation • • • References Introduction Sample Application Formulation • Genome

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 p 1 and p 4 as parents of the next generation, P(1) • Produce offspring using crossover and mutation Genetic Algorithms 19

Ex: Book Keeping. . . • • • References Introduction Sample Application Formulation •

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 •

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(p 1) = -4 F(p 2) = -4 F(p 3) = 0 F(p 4) = -4 Genetic Algorithms 21

Case Study • • • References Introduction Sample Application Formulation • Genome • Population

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