Vous êtes sur la page 1sur 33

1

Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
'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
omputer Design, May 1995
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. !f the red x still appears, you may have to delete
the image and then insert it again.
GcnctIc A!gnrIthms: GcnctIc A!gnrIthms:
A TutnrIa! A TutnrIa!
2
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
Thc GcnctIc A!gnrIthm
Directed search algorithms based on
the mechanics of biological evolution
Developed by John Holland, University
of Michigan (1970's)
%o understand the adaptive processes of
natural systems
%o design artificial systems software that
retains the robustness of natural systems
3
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
Thc GcnctIc A!gnrIthm (cnnt.)
!rovide efficient, effective techniques
for optimization and machine learning
applications
Widely-used today in business,
scientific and engineering circles
4
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
!asscs nf 5carch TcchnIqucs
inonacci Newton
Direct methods ndirect methods
Calculus-based techniques
Evolutionary strategies
CentraIized Distributed
ParaIIeI
Steady-state GenerationaI
SequentiaI
Genetic aIgorithms
EvoIutionary aIgorithms Simulated annealing
Guided random search techniques
Dynamic programming
Enumerative techniques
Search techniques
5
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
nmpnncnts nf a GA
problem to solve, and ...
Encoding technique (gene, chromosome)
nitialization procedure creation)
Evaluation function environment)
Selection of parents reproduction)
enetic operators mutation, recombination)
!arameter settings practice and art)
6
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
5Imp!c GcnctIc A!gnrIthm

initialize population;
evaluate population;
while %erminationCriteriaNotSatisfied

select parents for reproduction;


perform recombination and mutation;
evaluate population;
}
}
7
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
Thc GA c!c nf RcprnductInn
reproduction
population evaluation
modification
discard
deleted
members
parents
children
modified
children
evaluated children
8
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
!npu!atInn
Chromosomes could be:
Bit strings (0101 ... 1100)
Real numbers (43.2 -33.1 ... 0.0 89.2)
!ermutations of element (E11 E3 E7 ... E1 E15)
Lists of rules (R1 R2 R3 ... R22 R23)
!rogram elements (genetic programming)
... any data structure ...
population
9
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
RcprnductInn
reproduction
population
parents
children
!arents are selected at random with
selection chances biased in relation to
chromosome evaluations.
10
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
hrnmnsnmc MndIfIcatInn
modification
children
Modifications are stochastically triggered
Operator types are:
Mutation
Crossover (recombination)
modified children
11
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
MutatInn: Lnca! MndIfIcatInn
Before: (1 0 1 1 0 1 1 0)
fter: (0 1 1 0 0 1 1 0)
Before: (1.38 -69.4 326.44 0.1)
fter: (1.38 -67.5 326.44 0.1)
Causes movement in the search space
(local or global)
Restores lost information to the population
12
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
rnssnvcr: RccnmbInatInn
!1 (0 1 1 0 1 0 0 0) (0 1 0 0 1 0 0 0) C1
!2 (1 1 0 1 1 0 1 0) (1 1 1 1 1 0 1 0) C2
Crossover is a critical feature of genetic
algorithms:
t greatly accelerates search early in
evolution of a population
t leads to effective combination of
schemata (subsolutions on different
chromosomes)

13
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
va!uatInn
%he evaluator decodes a chromosome and
assigns it a fitness measure
%he evaluator is the only link between a
classical and the problem it is solving
evaluation
evaluated
children
modified
children
14
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
c!ctInn
enerational :
entire populations replaced with each
iteration
$teady-state :
a few members replaced each generation
population
discard
discarded members
15
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
An Abstract amp!c
Distribution of Individuals in Generation 0
Distribution of Individuals in Generation N
16
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
A 5Imp!c amp!c
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. !f the red x still appears, you may have to delete the image and then insert it again.
%he Gene is by far the most sophisticated program around
- ll Gates, usiness Week, June 27, 1994
17
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
A 5Imp!c amp!c
%he %raveling Salesman !roblem:
ind a tour of a given set of cities so that
each city is visited only once
the total distance traveled is minimized
18
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
RcprcscntatInn
Representation is an ordered list of city
numbers known as an order-based .
1) London 3) Dunedin 5) Beijing 7) %okyo
2) Venice 4) Singapore 6) !hoenix 8) Victoria
CityList1 (3 5 7 2 1 6 4 8)
CityList2 (2 5 7 6 8 1 3 4)
19
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
rnssnvcr
Crossover combines inversion and
recombination:
* *
!arent1 (3 5 7 2 1 6 4 8)
!arent2 (2 5 7 6 8 1 3 4)
Child (5 8 7 2 1 6 3 4)
%his operator is called the rder1 crossover.
20
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
Mutation involves reordering of the list:
* *
Before: (5 8 7 2 1 6 3 4)
fter: (5 8 6 2 1 7 3 4)
MutatInn
21
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
T5! amp!c: 30 ItIcs
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
x
y
22
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
5n!utInn
I
(Istancc = 941)
TSP30 (Performance = 941)
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
x
y
23
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
5n!utInn
j
(Istancc = 800)
TSP30 (Performance = 800)
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
x
y
24
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
5n!utInn
k
(Istancc = 652)
TSP30 (Performance = 652)
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
x
y
25
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
cst 5n!utInn (Istancc = 420)
TSP30 SoIution (Performance = 420)
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
x
y
26
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
vcrvIcw nf !crfnrmancc
TSP30 - Overview of Performance
0
200
400
600
800
1000
1200
1400
1600
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
Generations (1000)
D
i
s
t
a
n
c
e
Best
Worst
verage
27
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
nnsIdcrIng thc GA Tcchnn!ng
'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, N%, and almost all
Microsoft applications
products have shipped
with pieces of code created
by that system.`
- Nathan Myhrvold, M.rosoIt Advan.ed
Te.hnology Group, Wired, September 1995
28
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
ssucs fnr GA !ractItInncrs
Choosing basic implementation issues:
representation
population size, mutation rate, ...
selection, deletion policies
crossover, mutation operators
%ermination Criteria
!erformance, scalability
Solution is only as good as the evaluation
function (often hardest part)
29
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
cncfIts nf GcnctIc A!gnrIthms
Concept is easy to understand
Modular, separate from application
Supports multi-objective optimization
ood for "noisy environments
lways an answer; answer gets better
with time
nherently parallel; easily distributed
30
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
cncfIts nf GcnctIc A!gnrIthms (cnnt.)
Many ways to speed up and improve a
-based application as knowledge
about problem domain is gained
Easy to exploit previous or alternate
solutions
lexible building blocks for hybrid
applications
Substantial history and range of use
31
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
hcn tn Usc a GA
lternate solutions are too slow or overly
complicated
Need an exploratory tool to examine new
approaches
!roblem is similar to one that has already been
successfully solved by using a
Want to hybridize with an existing solution
Benefits of the technology meet key problem
requirements
32
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
5nmc GA App!IcatInn Tpcs
Domain AppIication Types
ControI
gas pipeline, pole balancing, missile evasion, pursuit
Design
semiconductor layout, aircraft design, keyboard
configuration, communication networks
ScheduIing
manufacturing, facility scheduling, resource allocation
Robotics
trajectory planning
Machine Learning
designing neural networks, improving classification
algorithms, classifier systems
SignaI Processing
filter design
Game PIaying
poker, checkers, prisoner's dilemma
CombinatoriaI
Optimization
set covering, travelling salesman, routing, bin packing,
graph colouring and partitioning
33
Wendy WiIIiams
Metaheuristic AIgorithms
Genetic AIgorithms: A TutoriaI
nnc!usInns
"uestion. If GAs are so smart, why aint they rich?
Answer. Genetic algorithms ,70 rich - rich in
application across a large and growing
number of disciplines.
- David E. oldberg, enetic Algorithms in $earch, ptimization and Machine Learning

Vous aimerez peut-être aussi