Professional Documents
Culture Documents
Chapter 2
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
Contents
ecap o! Evolutionary "etaphor #asic scheme o! an EA #asic Components$ % epresentation & Evaluation & 'opulation & 'arent Selection & ecombination & "utation & Survivor Selection & (ermination
E)amples $ eight *ueens & +napsac+ (ypical behaviours o! EAs EC in conte)t o! global optimisation
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
Recap of EC metaphor
A population o! individuals e)ists in an environment ,ith limited resources Competition !or those resources causes selection o! those fitter individuals that are better adapted to the environment (hese individuals act as seeds !or the generation o! ne, individuals through recombination and mutation (he ne, individuals have their !itness evaluated and compete -possibly also ,ith parents. !or survival. /ver time Natural selection causes a rise in the !itness o! the population
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
Recap 2:
EAs !all into the category o! 0generate and test1 algorithms (hey are stochastic, population2based algorithms 3ariation operators -recombination and mutation. create the necessary diversity and thereby !acilitate novelty Selection reduces diversity and acts as a !orce pushing *uality
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
#inary strings $ 5enetic Algorithms eal2valued vectors $ Evolution Strategies 6inite state "achines$ Evolutionary 'rogramming 7IS' trees$ 5enetic 'rogramming
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
Representations
Candidate solutions -individuals. e)ist in phenotype space (hey are encoded in chromosomes, ,hich e)ist in genotype space
% %
Encoding $ phenotype89 genotype -not necessarily one to one. :ecoding $ genotype89 phenotype -must be one to one.
Chromosomes contain genes, ,hich are in -usually !i)ed. positions called loci -sing. locus. and have a value -allele. !n order to find the glo"al optimum# every feasi"le solution must "e represented in genotype space
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
Population
4olds -representations o!. possible solutions ;sually has a !i)ed si<e and is a multiset o! genotypes Some sophisticated EAs also assert a spatial structure on the population e.g., a grid. Selection operators usually ta+e ,hole population into account i.e., reproductive probabilities are relative to current generation :iversity o! a population re!ers to the number o! di!!erent !itnesses & phenotypes & genotypes present -note not the same thing.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
(ariation )perators
ole is to generate ne, candidate solutions ;sually divided into t,o types according to their arity -number o! inputs.$
% % %
Arity = $ mutation operators Arity 9= $ ecombination operators Arity 8 2 typically called crossover
(here has been much debate about relative importance o! recombination and mutation
% %
>o,adays most EAs use both Choice o! particular variation operators is representation dependant
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
'utation
Acts on one genotype and delivers another Element o! randomness is essential and di!!erentiates it !rom other unary heuristic operators Importance ascribed depends on representation and dialect$
%
% %
#inary 5As % bac+ground operator responsible !or preserving and introducing diversity E' !or 6S"?s& continuous variables % only search operator 5' % hardly used
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
Recom"ination
"erges in!ormation !rom parents into o!!spring Choice o! ,hat in!ormation to merge is stochastic "ost o!!spring may be ,orse, or the same as the parents 4ope is that some are better by combining elements o! genotypes that lead to good traits 'rinciple has been used !or millennia by breeders o! plants and livestoc+
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
Survivor Selection
a.+.a. replacement "ost EAs use !i)ed population si<e so need a ,ay o! going !rom -parents @ o!!spring. to ne)t generation /!ten deterministic % 6itness based $ e.g., ran+ parents@o!!spring and ta+e best % Age based$ ma+e as many o!!spring as parents and delete all parents Sometimes do combination -elitism.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
!nitialisation * +ermination
Initialisation usually done at random,
%
>eed to ensure even spread and mi)ture o! possible allele values Can include e)isting solutions, or use problem2speci!ic heuristics, to 0seed1 the population
eaching some -+no,n&hoped !or. !itness eaching some ma)imum allo,ed number o! generations eaching some minimum level o! diversity eaching some speci!ied number o! generations ,ithout !itness improvement
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
'lace A *ueens on an A)A chessboard in such a ,ay that they cannot chec+ each other
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
/bvious mapping
1 3 5 2 6 4 7 8
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
1 3 5 2 6 4 7 8
1 3 7 2 6 4 5 8
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
1 3 5 2 6 4 7 8 8 7 6 5 4 3 2 1
1 3 5 4 2 8 7 6 8 7 6 2 4 1 3 5
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
'ic+ D parents and ta+e best t,o to undergo crossover When inserting a ne, child into the population, choose an e)isting member to replace by$ sorting the ,hole population by decreasing !itness enumerating this list !rom high to lo, replacing the !irst ,ith a !itness lo,er than the given child
% % %
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
>ote that is is only one possible set o! choices o! operators and parameters
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
+ypical "ehaviour of an EA
'hases in optimising on a =2dimensional !itness landscape Early phase$ *uasi2random population distribution "id2phase$ population arranged around&on hills 7ate phase$ population concentrated on high hills
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
B Ans,er$ 2 it depends ho, much you ,ant the last bit o! progress 2 it may be better to do more shorter runs
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
6$ !itness a!ter smart initialisation ($ time needed to reach level 6 a!ter random initialisation
Ans,er $ it depends$
2 possibly, i! good solutions&methods e)ist. 2 care is needed, see chapter on hybridisation
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?
andom search
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing What is an Evolutionary Algorithm?