You are on page 1of 35

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/216300585

Introduction To Evolutionary Computing

Book in Natural Computing Series · January 2003


DOI: 10.1007/978-3-662-05094-1

CITATIONS READS

4,423 22,056

2 authors:

A. E. Eiben Jim Smith


Vrije Universiteit Amsterdam University of the West of England, Bristol
436 PUBLICATIONS 18,271 CITATIONS 134 PUBLICATIONS 9,681 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Evolutionary design View project

A Distributed Resource Evolutionary Algorithm Machine (DREAM) View project

All content following this page was uploaded by A. E. Eiben on 29 May 2014.

The user has requested enhancement of the downloaded file.


Introduction to
Evolutionary Computing II
A.E. Eiben
Free University Amsterdam
http://www.cs.vu.nl/~gusz/

with thanks to the EvoNet Training Committee and its “Flying Circus”
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

A.E. Eiben, Introduction to EC II 2 EvoNet Summer School 2002


The main evolutionary cycle

Parent selection
Parents
Intialization
Recombination
(crossover)
Population
Mutation

Termination
Offspring
Survivor selection
A.E. Eiben, Introduction to EC II 3 EvoNet Summer School 2002
The two pillars of evolution

There are two competing forces active


 Increasing population  Decreasing population
diversity by genetic diversity by selection
operators  of parents

 mutation
 of survivors

 recombination

Push towards novelty Push towards quality

A.E. Eiben, Introduction to EC II 4 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”):

phenotype: genotype:

a d c a a c b

The link between these levels is called representation

A.E. Eiben, Introduction to EC II 5 EvoNet Summer School 2002


Components:
representation / individiuals (2)

Phenotype space Genotype space

Encoding
(representation) R0c01cd

B0c01cd

G0c01cd
Decoding
(inverse representation)

A.E. Eiben, Introduction to EC II 6 EvoNet Summer School 2002


Components:
representation / individuals (3)

Sometimes producing Problem


 Genotype
the phenotype from the Data
genotype is a simple
and obvious process.
 Other times the
genotype might be a set Growth
of parameters to some Function
algorithm, which works
on the problem data to
produce the phenotype Phenotype

A.E. Eiben, Introduction to EC II 7 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)

A.E. Eiben, Introduction to EC II 8 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 will


expectedly carry the same trait

A.E. Eiben, Introduction to EC II 9 EvoNet Summer School 2002


Components: population

Role: holds the candidate solutions of the problem as


individuals (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

A.E. Eiben, Introduction to EC II 10 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


1/6 = 17%

fitness(A) = 3 A B
C
fitness(B) = 1 3/6 = 50% 2/6 = 33%
fitness(C) = 2

A.E. Eiben, Introduction to EC II 11 EvoNet Summer School 2002


Components: Mutation

Role: causes small (random) variance

before 1 1 1 1 1 1 1

after 1 1 1 0 1 1 1

A.E. Eiben, Introduction to EC II 12 EvoNet Summer School 2002


Components: Recombination

Role: combines features from different sources

cut cut
parents
1 1 1 1 1 1 1 0 0 0 0 0 0 0

offspring
1 1 1 0 0 0 0 0 0 0 1 1 1 1

A.E. Eiben, Introduction to EC II 13 EvoNet Summer School 2002


Example: the 8 queens problem

Place 8 queens on an 8x8 chessboard in


such a way that they cannot check each other

A.E. Eiben, Introduction to EC II 14 EvoNet Summer School 2002


The 8 queens problem
Representation

Phenotype:
a board configuration

Genotype: Obvious mapping


a permutation of
the numbers 1 - 8 1 3 5 2 6 4 7 8

A.E. Eiben, Introduction to EC II 15 EvoNet Summer School 2002


The 8 queens problem
Fitness evaluation

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
A.E. Eiben, Introduction to EC II 16 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 3 5 2 6 4 7 8 1 3 7 2 6 4 5 8

A.E. Eiben, Introduction to EC II 17 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 other
parent:
• in the order they appear there
• beginning after crossover point
• skipping values already in child

1 3 5 2 6 4 7 8 1 3 5 4 2 8 7 6
8 7 6 5 4 3 2 1 8 7 6 2 4 1 3 5

A.E. Eiben, Introduction to EC II 18 EvoNet Summer School 2002


The 8 queens problem
Selection
Parent selection:
Roulette wheel selection, for instance

Survivor selection (replacement)


When inserting a new child into the population, choose
an 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
A.E. Eiben, Introduction to EC II 19 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

A.E. Eiben, Introduction to EC II 20 EvoNet Summer School 2002


Typical run

Best fitness in population

Time (number of generations)

Typical run of an EA shows so-called “anytime behavior”

A.E. Eiben, Introduction to EC II 21 EvoNet Summer School 2002


Best fitness in population Long runs?

Progress in 2nd half

Progress in 1st half

Time (number of generations)

A.E. Eiben, Introduction to EC II 22 EvoNet Summer School 2002


Best fitness in population Smart initialisation?

F F: fitness after smart initialisation

T: time needed to reach level F after random initialisation

T
Time (number of generations)

A.E. Eiben, Introduction to EC II 23 EvoNet Summer School 2002


Performance of methods on problems Goldberg’89 view

Special, problem tailored method

Evolutionary algorithm

Random search

Scale of “all” problems

A.E. Eiben, Introduction to EC II 24 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

A.E. Eiben, Introduction to EC II 25 EvoNet Summer School 2002


Michalewicz’96 view
EA 4
Performance of methods on problems

EA 2
EA 3

EA 1

P
Scale of “all” problems
A.E. Eiben, Introduction to EC II 26 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 this
framework)
 why care about the taxonomy, or label?

A.E. Eiben, Introduction to EC II 27 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

A.E. Eiben, Introduction to EC II 28 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)

A.E. Eiben, Introduction to EC II 29 EvoNet Summer School 2002


Beyond dialects

 Field merging from the early 1990’s


 No hard barriers between dialects, many
hybrids, outliers
 Choice for dialect should be motivated by given
problem
 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

A.E. Eiben, Introduction to EC II 30 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 parallel
implementations

A.E. Eiben, Introduction to EC II 31 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

A.E. Eiben, Introduction to EC II 32 EvoNet Summer School 2002


The performance of EC

 Acceptable performance at acceptable costs on a wide range


of 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)

A.E. Eiben, Introduction to EC II 33 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

A.E. Eiben, Introduction to EC II 34 EvoNet Summer School 2002


View publication stats

You might also like