Você está na página 1de 22

Introduction to Genetic Algorithms and Evolutionary Computation

Andrew L. Nelson
Visiting Research Faculty University of South Florida

Overview
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Outline to the left Current topic in red Introduction Algorithm Formulation Example Case Study
Genetic Algorithms 2

2/9/2004

References
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

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.

2/9/2004

Genetic Algorithms

Introduction
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Genetic Algorithms
Base on Natural Evolution Stochastic Optimization Stochastic Numerical Techniques

Evolutionary Computation
Artificial Life Machine Learning

Artificial Evolution
Genetic Algorithms 4

2/9/2004

Introduction
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Population of candidate solutions Evaluate the quality of each solution Survival (and reproduction) of the fittest Crossover and Mutation

2/9/2004

Genetic Algorithms

Sample Application Domain


References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Finding the best path between two points in "Grid World" Creatures in world:
Occupy a single cell Can move to neighboring cells
Start

Finish

Goal: Travel from the gray cell to the green cell in the shortest number of steps

2/9/2004

Genetic Algorithms

Algorithm Formulation
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Components of a Genetic Algorithm:


Genome Fitness metric Stochastic modification Cycles of generations

Many variations
Genetic Algorithms 7

2/9/2004

Genome
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

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

2/9/2004

Genome
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

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

2/9/2004

Genetic Algorithms

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 = p2 = p2 = 00 10 10 00 10 11 10 10 00 00 10 00 10 10 00 01 00 10 00 10 00 00 10 10 00 10 10 11 10 11 10 00 10 00 00 00 01 00 10 00 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

F(p) called Objective Function Example: Shortest legal path to goal

F(pn) = S(steps)

2/9/2004

Genetic Algorithms

11

Selection
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

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

2/9/2004

Propagation
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

The next generation is generated from the fittest members of the current population

Genetic operators:
Crossover (recombination) Mutation

2/9/2004

Genetic Algorithms

13

Propagation: Crossover
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Example: 1 point crossover Two parents generate 1 offspring


p2 = p2 = 00 00 10 10 00 10 10 11 10 11 10 00 10 00 00 00 01 00 10 00 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

2/9/2004

Genetic Algorithms

14

Propagation: Mutation
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

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

2/9/2004

Genetic Algorithms

15

Worked Example
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

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

2/9/2004

Ex: Initial Population


References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Initial Population P(0): 4 random 16-bit strings

2/9/2004

Genetic Algorithms

17

Ex: Fitness Calculation


References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Fitness calculations: F(p1) = (8-8) 4 = -4 F(p2) = -5 F(p3) = -6 F(p4) = -4


Genetic Algorithms 18

2/9/2004

Ex: Selection and Propagation


References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

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
2/9/2004 Genetic Algorithms

10 10 11 00 11 10 10 01
19

Ex: Book Keeping...


References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

The next generation is...

2/9/2004

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

Repeat: F(p1) = -4 F(p2) = -4 F(p3) = 0 F(p4) = -4

2/9/2004

Genetic Algorithms

21

Case Study
References Introduction Sample Application Formulation Genome Population Fitness Function Selection Propagation Worked Example Case Study: Evolving Neural Controllers

Evolution of neural networks for autonomous robot control using competitive relative fitness evaluation

2/9/2004

Genetic Algorithms

22

Você também pode gostar