Professional Documents
Culture Documents
A Tutorial
Genetic Algorithms are
good at taking large,
potentially huge search
spaces and navigating
them, looking for optimal
combinations of things,
solutions you might not
otherwise find in a
lifetime.
- Salvatore Mangano
Computer Design, May 1995
Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A
Tutorial
Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A
Tutorial
Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A
Tutorial
Classes of Search
Techniques
S e a rc h te c h n iq u e s
C a lc u lu s - b a s e d t e c h n iq u e s
D ir e c t m e t h o d s
F in o n a c c i
G u id e d ra n d o m s e a rc h te c h n iq u e s
I n d ir e c t m e t h o d s
N e w to n
E v o lu tio n a ry a lg o rith m s
E v o lu t io n a r y s t r a t e g ie s
Wendy Williams
Metaheuristic Algorithms
D y n a m ic p r o g r a m m in g
G e n e tic a lg o rith m s
P a ra lle l
C e n tra liz e d
S im u la t e d a n n e a lin g
E n u m e r a t iv e t e c h n iq u e s
D is trib u te d
S e q u e n tia l
S te a d y -s ta te
G e n e ra tio n a l
Genetic Algorithms: A
Tutorial
Components of a GA
A problem to solve, and ...
Encoding technique
(gene, chromosome)
Initialization procedure
(creation)
Evaluation function
(environment)
Selection of parents
(reproduction)
Genetic operators
(mutation, recombination)
Parameter settings
(practice and art)
Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A
Tutorial
Simple Genetic
Algorithm
{
initialize population;
evaluate population;
while TerminationCriteriaNotSatisfied
{
Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A
Tutorial
The GA Cycle of
Reproduction
reproduction
children
modified
children
parents
population
modification
evaluated children
evaluation
deleted
members
discard
Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A
Tutorial
Population
population
Chromosomes could be:
Bit strings
Real numbers
Permutations of element
Lists of rules
Program elements
... any data structure ...
Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A
Tutorial
Reproduction
reproduction
children
parents
population
Genetic Algorithms: A
Tutorial
Chromosome
Modification
children
modification
modified children
Wendy Williams
Metaheuristic Algorithms
10
Genetic Algorithms: A
Tutorial
Mutation: Local
Modification
Before:
(1 0 1 1 0 1 1 0)
After:
(0 1 1 0 0 1 1 0)
Before:
After:
Wendy Williams
Metaheuristic Algorithms
11
Genetic Algorithms: A
Tutorial
Crossover:
Recombination
P1
P2
(0 1 1 0 1 0 0 0)
(1 1 0 1 1 0 1 0)
(0 1 0 0 1 0 0 0)
(1 1 1 1 1 0 1 0)
C1
C2
12
Genetic Algorithms: A
Tutorial
Evaluation
evaluated
children
modified
children
evaluation
Wendy Williams
Metaheuristic Algorithms
13
Genetic Algorithms: A
Tutorial
Deletion
population
discarded members
discard
Generational GA:
entire populations replaced with each iteration
Steady-state GA:
a few members replaced each generation
Wendy Williams
Metaheuristic Algorithms
14
Genetic Algorithms: A
Tutorial
An Abstract Example
15
Genetic Algorithms: A
Tutorial
A Simple Example
Wendy Williams
Metaheuristic Algorithms
16
Genetic Algorithms: A
Tutorial
A Simple Example
The Traveling Salesman Problem:
Find a tour of a given set of cities so that
each city is visited only once
the total distance traveled is minimized
Wendy Williams
Metaheuristic Algorithms
17
Genetic Algorithms: A
Tutorial
Representation
Representation is an ordered list of city
numbers known as an order-based GA.
1) London
2) Venice
3) Dunedin
4) Singapore
CityList1
(3 5 7 2 1 6 4 8)
CityList2
(2 5 7 6 8 1 3 4)
Wendy Williams
Metaheuristic Algorithms
5) Beijing 7) Tokyo
6) Phoenix 8) Victoria
18
Genetic Algorithms: A
Tutorial
Crossover
Crossover combines inversion and
recombination:
*
*
Parent1
(3 5 7 2 1 6 4 8)
Parent2
(2 5 7 6 8 1 3 4)
Child
(5 8 7 2 1 6 3 4)
19
Genetic Algorithms: A
Tutorial
Mutation
Mutation involves reordering of the list:
Before:
*
*
(5 8 7 2 1 6 3 4)
After:
(5 8 6 2 1 7 3 4)
Wendy Williams
Metaheuristic Algorithms
20
Genetic Algorithms: A
Tutorial
60
50
40
30
20
10
0
0
10
20
30
40
50
60
70
80
90
100
Wendy Williams
Metaheuristic Algorithms
21
Genetic Algorithms: A
Tutorial
Solution i (Distance =
941)
TSP30 (Performance = 941)
100
90
80
70
60
50
40
30
20
10
0
0
10
20
30
40
50
60
70
80
90
100
Wendy Williams
Metaheuristic Algorithms
22
Genetic Algorithms: A
Tutorial
Solution j(Distance =
800)
TSP30 (Performance = 800)
100
90
80
70
60
50
40
30
20
10
0
0
10
20
30
40
50
60
70
80
90
100
Wendy Williams
Metaheuristic Algorithms
23
Genetic Algorithms: A
Tutorial
Solution k(Distance =
652)
TSP30 (Performance = 652)
100
90
80
70
60
50
40
30
20
10
0
0
10
20
30
40
50
60
70
80
90
100
Wendy Williams
Metaheuristic Algorithms
24
Genetic Algorithms: A
Tutorial
60
50
40
30
20
10
0
0
10
20
30
40
50
60
70
80
90
100
Wendy Williams
Metaheuristic Algorithms
25
Genetic Algorithms: A
Tutorial
Overview of
Performance
TSP30 - Overview of Performance
1600
1400
D ista n c e
1200
1000
800
600
400
200
0
1
11
13
15
17
19
Generations (1000)
Wendy Williams
Metaheuristic Algorithms
26
21
23
25
27
29
31
Best
Worst
Average
Genetic Algorithms: A
Tutorial
Considering the GA
Technology
Almost eight years ago ...
people at Microsoft wrote
a program [that] uses
some genetic things for
finding short code
sequences. Windows 2.0
and 3.2, NT, and almost all
Microsoft applications
products have shipped
with pieces of code created
by that system.
- Nathan Myhrvold, Microsoft Advanced
Technology Group, Wired, September 1995
Wendy Williams
Metaheuristic Algorithms
27
Genetic Algorithms: A
Tutorial
Issues for GA
Practitioners
representation
population size, mutation rate, ...
selection, deletion policies
crossover, mutation operators
Termination Criteria
Performance, scalability
Solution is only as good as the evaluation
function (often hardest part)
Wendy Williams
Metaheuristic Algorithms
28
Genetic Algorithms: A
Tutorial
Benefits of Genetic
Algorithms
Wendy Williams
Metaheuristic Algorithms
29
Genetic Algorithms: A
Tutorial
Wendy Williams
Metaheuristic Algorithms
30
Genetic Algorithms: A
Tutorial
When to Use a GA
Wendy Williams
Metaheuristic Algorithms
31
Genetic Algorithms: A
Tutorial
Some GA Application
Types
Domain
Application Types
Control
Design
Scheduling
Robotics
trajectory planning
Machine Learning
Signal Processing
Game Playing
Combinatorial
Optimization
Wendy Williams
Metaheuristic Algorithms
32
Genetic Algorithms: A
Tutorial
Conclusions
Question:
Answer:
Genetic algorithms are rich - rich in
application across a large and growing number of
disciplines.
- David E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning
Wendy Williams
Metaheuristic Algorithms
33
Genetic Algorithms: A
Tutorial