8/17/2019 Evolutionary Computing Slides
1/35
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/216300585
Introduction To Evolutionary Computing
Book i n Natural Computing Series · January 2003
DOI: 10.1007/978-3-662-05094-1
CITATIONS
2,166
READS
1,636
2 authors:
A. E. Eiben
VU University Amsterdam
303 PUBLICATIONS 9,328 CITATIONS
SEE PROFILE
Jim Smith
University of the West of England, Bristol
114 PUBLICATIONS 5,159 CITATIONS
SEE PROFILE
Available from: A. E. Eiben
Retrieved on: 04 May 2016
https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_7https://www.researchgate.net/profile/Jim_Smith14?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_7https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/institution/VU_University_Amsterdam?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_6https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_5https://www.researchgate.net/publication/216300585_Introduction_To_Evolutionary_Computing?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_3https://www.researchgate.net/publication/216300585_Introduction_To_Evolutionary_Computing?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_3https://www.researchgate.net/?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_1https://www.researchgate.net/profile/Jim_Smith14?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_7https://www.researchgate.net/institution/University_of_the_West_of_England_Bristol?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_6https://www.researchgate.net/profile/Jim_Smith14?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_5https://www.researchgate.net/profile/Jim_Smith14?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_7https://www.researchgate.net/institution/VU_University_Amsterdam?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_6https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_5https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_1https://www.researchgate.net/publication/216300585_Introduction_To_Evolutionary_Computing?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_3https://www.researchgate.net/publication/216300585_Introduction_To_Evolutionary_Computing?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_2
8/17/2019 Evolutionary Computing Slides
2/35
Introduction to
Evolutionary Computing II
A.E. EibenFree University Amsterdam
http://www.cs.vu.nl/~gusz/
with thanks to the EvoNet Training Committee and its “Flying Circus”
8/17/2019 Evolutionary Computing Slides
3/35
A.E. Eiben, Introduction to EC II 2 EvoNet Summer School 2002
Contents
The evolutionary mechanism and its
components
Examples: the 8-queens problem Working of an evolutionary algorithm
EC dialects and beyond
Advantages & disadvantages of EC
Summary
8/17/2019 Evolutionary Computing Slides
4/35
A.E. Eiben, Introduction to EC II 3 EvoNet Summer School 2002
The main evolutionary cycle
Population
ParentsParent selection
Survivor selectionOffspring
Recombination
(crossover)
Mutation
Intialization
Termination
8/17/2019 Evolutionary Computing Slides
5/35
A.E. Eiben, Introduction to EC II 4 EvoNet Summer School 2002
The two pillars of evolution
Increasing population
diversity by geneticoperators
mutation
recombination
Push towards novelty
Decreasing population
diversity by selection of parents
of survivors
Push towards quality
There are two competing forces active
8/17/2019 Evolutionary Computing Slides
6/35
A.E. Eiben, Introduction to EC II 5 EvoNet Summer School 2002
Components:
representation / individuals (1)
Individuals have two levels of existence• phenotype: object in original problem context, the outside
• genotype: code to denote that object, the inside
(a.k.a. chromosome, “digital DNA”):
a d c a a c b
genotype:phenotype:
The link between these levels is called representation
8/17/2019 Evolutionary Computing Slides
7/35
A.E. Eiben, Introduction to EC II 6 EvoNet Summer School 2002
Genotype spacePhenotype space
Encoding
(representation)
Decoding
(inverse representation)
B 0 c 0 1 c d
G 0 c 0 1 c d
R 0 c 0 1 c d
Components:
representation / individiuals (2)
8/17/2019 Evolutionary Computing Slides
8/35
A.E. Eiben, Introduction to EC II 7 EvoNet Summer School 2002
Sometimes producing
the phenotype from the
genotype is a simple
and obvious process. Other times the
genotype might be a set
of parameters to some
algorithm, which workson the problem data to
produce the phenotype
Problem
DataGenotype
Phenotype
Growth
Function
Components:
representation / individuals (3)
8/17/2019 Evolutionary Computing Slides
9/35
A.E. Eiben, Introduction to EC II 8 EvoNet Summer School 2002
Components:
representation / individuals (4)
• Search takes place in the genotype space
• Evaluation takes place in the phenotype space
• Repr: Phenotypes Genotypes
• Fitness(g) = Value(repr -1(g))
• Repr must be invertible, in other words decoding must be
injective (Q: surjective?)
• Role of representation: defines objects that can be
manipulated by (genetic) operators
• Note back on Darwinism: no mutations on phenotypic
level! (right term: small random variations)
8/17/2019 Evolutionary Computing Slides
10/35
A.E. Eiben, Introduction to EC II 9 EvoNet Summer School 2002
Components: evaluation, fitness
measure
Role:• represents the task to solve, the requirements to adapt to
• enables selection (provides basis for comparison)
Some phenotypic traits are advantageous, desirable,e.g. big ears cool better,
These traits are rewarded by more offspring that willexpectedly carry the same trait
8/17/2019 Evolutionary Computing Slides
11/35
A.E. Eiben, Introduction to EC II 10 EvoNet Summer School 2002
Components: population
Role: holds the candidate solutions of the problem asindividuals (genotypes)
Formally, a population is a multiset of individuals,
i.e. repetitions are possible
Population is the basic unit of evolution,
i.e., the population is evolving, not the individuals
Selection operators act on population level
Variation operators act on individual level
8/17/2019 Evolutionary Computing Slides
12/35
A.E. Eiben, Introduction to EC II 11 EvoNet Summer School 2002
Components: selection
Role:
Gives better individuals a higher chance of becoming parents
surviving
Pushes population towards higher fitness
E.g. roulette wheel selection
fitness(A) = 3
fitness(B) = 1
fitness(C) = 2
A C
1/6 = 17%
3/6 = 50%
B
2/6 = 33%
8/17/2019 Evolutionary Computing Slides
13/35
A.E. Eiben, Introduction to EC II 12 EvoNet Summer School 2002
Components: Mutation
Role: causes small (random) variance
before
1 1 1 0 1 1 1after
1 1 1 1 1 1 1
8/17/2019 Evolutionary Computing Slides
14/35
A.E. Eiben, Introduction to EC II 13 EvoNet Summer School 2002
Components: Recombination
1 1 1 1 1 1 1 0 0 0 0 0 0 0parents
cut cut
1 1 1 0 0 0 0 0 0 0 1 1 1 1offspring
Role: combines features from different sources
8/17/2019 Evolutionary Computing Slides
15/35
A.E. Eiben, Introduction to EC II 14 EvoNet Summer School 2002
Place 8 queens on an 8x8 chessboard in
such a way that they cannot check each other
Example: the 8 queens problem
8/17/2019 Evolutionary Computing Slides
16/35
A.E. Eiben, Introduction to EC II 15 EvoNet Summer School 2002
The 8 queens problem
Representation
1 23 45 6 7 8
Genotype:a permutation of
the numbers 1 - 8
Phenotype:
a board configuration
Obvious mapping
8/17/2019 Evolutionary Computing Slides
17/35
A.E. Eiben, Introduction to EC II 16 EvoNet Summer School 2002
Penalty of one queen:
the number of queens she can check.
Penalty of a configuration:the sum of the penalties of all queens.
Note: penalty is to be minimized
Fitness of a configuration:
inverse penalty to be maximized
The 8 queens problem
Fitness evaluation
8/17/2019 Evolutionary Computing Slides
18/35
A.E. Eiben, Introduction to EC II 17 EvoNet Summer School 2002
The 8 queens problem
Mutation
Small variation in one permutation, e.g.:• swapping values of two randomly chosen positions, or
• inverting a randomly chosen segment
1 23 45 6 7 8 1 23 4 567 8
8/17/2019 Evolutionary Computing Slides
19/35
A.E. Eiben, Introduction to EC II 18 EvoNet Summer School 2002
The 8 queens problem
Recombination
Combining two permutations into two new permutations:
• choose random crossover point
• copy first parts into children
• create second part by inserting values from otherparent:
• in the order they appear there
• beginning after crossover point
• skipping values already in child
8 7 6 42 531
1 3 5 24 678
8 7 6 45 123
1 3 5 62 874
8/17/2019 Evolutionary Computing Slides
20/35
A.E. Eiben, Introduction to EC II 19 EvoNet Summer School 2002
Parent selection:
Roulette wheel selection, for instance
Survivor selection (replacement)
When inserting a new child into the population, choosean existing member to replace by:
sorting the whole population by decreasing fitness
enumerating this list from high to low
replacing the first with a fitness lower than the given child
Note: selection works on fitness values, no need to adjust it
to representation
The 8 queens problem
Selection
8/17/2019 Evolutionary Computing Slides
21/35
A.E. Eiben, Introduction to EC II 20 EvoNet Summer School 2002
Working of an EA
Phases in optimizing on a 1-dimensional fitness landscape
Early phase:
quasi-random population distribution
Mid-phase:
population arranged around/on hills
Late phase:
population concentrated on high hills
8/17/2019 Evolutionary Computing Slides
22/35
A.E. Eiben, Introduction to EC II 21 EvoNet Summer School 2002
Typical run
Typical run of an EA shows so-called “anytime behavior”
B e s t f i t n e s s i n p o p u l a t i o n
Time (number of generations)
8/17/2019 Evolutionary Computing Slides
23/35
A.E. Eiben, Introduction to EC II 22 EvoNet Summer School 2002
B e s t f i t n e s s
i n p o p u l a t i o
n
Time (number of generations)
Progress in 1st half
Progress in 2nd half
Long runs?
8/17/2019 Evolutionary Computing Slides
24/35
A.E. Eiben, Introduction to EC II 23 EvoNet Summer School 2002
Time (number of generations)
B e
s t f i t n e s s i n
p o p u l a t i o n
T: time needed to reach level F after random initialisation
T
F: fitness after smart initialisationF
Smart initialisation?
8/17/2019 Evolutionary Computing Slides
25/35
A.E. Eiben, Introduction to EC II 24 EvoNet Summer School 2002
Scale of “all” problems
P e r f o
r m a n c e o f m e t h
o d s o n p r o b l e m s
Random search
Special, problem tailored method
Evolutionary algorithm
Goldberg’89 view
8/17/2019 Evolutionary Computing Slides
26/35
A.E. Eiben, Introduction to EC II 25 EvoNet Summer School 2002
EAs and domain knowledge
Trend in the 90ies: adding problem specific knowledge
to EAs (special variation operators, repair, etc)
Result: EA performance curve “deformation”:
better on problems of the given type
worse on problems different from given type
Amount of added knowledge is variable
8/17/2019 Evolutionary Computing Slides
27/35
A.E. Eiben, Introduction to EC II 26 EvoNet Summer School 2002
P e r f o
r m a n c e o f m e t h o d s o n p r o b l e m s
EA 1
EA 4
EA 3EA 2
Scale of “all” problems
P
Michalewicz’96 view
8/17/2019 Evolutionary Computing Slides
28/35
A.E. Eiben, Introduction to EC II 27 EvoNet Summer School 2002
General EA framework and dialects
There is a general, formal EA framework (omitted here)
In theory:
every EA is an instantiation of this framework, thus:
specifying a particular EA or a type of EAs (a “dialect”)needs only filling in the characteristic features
In practice
this would be too formalistic
there are many exceptions (EAs not fitting into thisframework)
why care about the taxonomy, or label?
8/17/2019 Evolutionary Computing Slides
29/35
A.E. Eiben, Introduction to EC II 28 EvoNet Summer School 2002
Genetic algorithms &
genetic programming
Genetic algorithms (USA, 70’s, Holland, DeJong): Typically applied to: discrete optimization
Attributed features:
not too fast
good solver for combinatorial problems
Special: many variants, e.g., reproduction models, operators
Genetic programming (USA, 90’s, Koza) Typically applied to: machine learning tasks
Attributed features:
competes with neural nets and alike slow
needs huge populations (thousands)
Special: non-linear chromosomes: trees, graphs
&
8/17/2019 Evolutionary Computing Slides
30/35
A.E. Eiben, Introduction to EC II 29 EvoNet Summer School 2002
Evolution strategies &
evolutionary programming
Evolution strategies (Germany, 70’s, Rechenberg, Schwefel) Typically applied to:
numerical optimization
Attributed features:
fast & good optimizer for real-valued optimization
relatively much theory
Special: self-adaptation of (mutation) parameters standard
Evolutionary programming (USA, 60’s, Fogel et al.) Typically applied to: machine learning (old EP), optimization
Attributed features:
very open framework: any representation and mutation op’s OK
Special:
no recombination
self-adaptation of parameters standard (contemporary EP)
8/17/2019 Evolutionary Computing Slides
31/35
A.E. Eiben, Introduction to EC II 30 EvoNet Summer School 2002
Beyond dialects
Field merging from the early 1990’s
No hard barriers between dialects, manyhybrids, outliers
Choice for dialect should be motivated by givenproblem
Best practical approach: choose representation,operators, population model, etc. pragmatically(and end up with an “unclassifiable” EA)
There are general issues for EC as a whole
8/17/2019 Evolutionary Computing Slides
32/35
A.E. Eiben, Introduction to EC II 31 EvoNet Summer School 2002
Advantages of EC
No presumptions w.r.t. problem space
Widely applicable
Low development & application costs
Easy to incorporate other methods
Solutions are interpretable (unlike NN) Can be run interactively, accommodate user
proposed solutions
Provides many alternative solutions
Intrinsic parallelism,straightforward parallelimplementations
8/17/2019 Evolutionary Computing Slides
33/35
A.E. Eiben, Introduction to EC II 32 EvoNet Summer School 2002
Disadvantages of EC
No guarantee for optimal solution within
finite time
Weak theoretical basis May need parameter tuning
Often computationally expensive, i.e. slow
8/17/2019 Evolutionary Computing Slides
34/35
A.E. Eiben, Introduction to EC II 33 EvoNet Summer School 2002
The performance of EC
Acceptable performance at acceptable costs on a wide rangeof problems
EC niche (where supposedly superior to other techniques):
complex problems with one or more of the following features
many free parameters
complex relationships between parameters
mixed types of parameters (integer, real)
many local optima
multiple objectives noisy data
changing conditions (dynamic fitness landscape)
8/17/2019 Evolutionary Computing Slides
35/35
A E Eiben Introduction to EC II 34 EvoNet Summer School 2002
Summary
Evolutionary Computation:
is a method, based on biological metaphors,
of breeding solutions to problems
has been shown to be useful in a number of
areas
could be useful for your problem
its easy to give it a try
is FUN
Top Related