Introduction to Genetic Algorithms

advertisement
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
Download