Evolutionary Computation: Evolutionary Computation: A TutorialA Tutorial
September 2009September 2009
Biointelligence Laboratory
School of Computer Sci. & Eng.
Seoul National University
http://bi.snu.ac.kr/
ContentsContents
Part I: Introduction to Evolutionary Computation Part II: Genetic Programming Part III: Advanced Topics Part IV: Applications Part V: Summary and Further Info
(C) 2000-2009 SNU CSE Biointelligence Lab 2
Part I: Introduction to Evolutionary Part I: Introduction to Evolutionary ComputationComputation
OverviewOverview
The Basic Concept General Framework of Evolutionary Computation Components of Evolutionary Computation Paradigms in Evolutionary Computation
4(C) 2000-2009 SNU CSE Biointelligence Lab
Basic ConceptBasic Concept
Use of Darwinian-like evolutionary processes to solve difficult computational problems. Hence the name, “Evolutionary Computation”
Biological basis Biological systems adapt themselves to a new environment by
evolution. Generations of descendants are produced that perform better than do
their ancestors.
Biological evolution Production of descendants changed from their parents Selective survival of some of these descendants to produce more
descendants
5(C) 2000-2009 SNU CSE Biointelligence Lab
(C) 2000-2009 SNU CSE Biointelligence Lab
Basic ConceptBasic Concept
What is the Evolutionary Computation? Stochastic search (or problem solving) techniques that
mimic the metaphor of natural biological evolution.
Metaphor
EVOLUTION
Individual
Fitness
Environment
PROBLEM SOLVING
Candidate Solution
Quality
Problem
6
(C) 2000-2009 SNU CSE Biointelligence Lab
General Framework of ECGeneral Framework of EC
Generate Initial PopulationGenerate Initial Population
Evaluate FitnessEvaluate Fitness
Select ParentsSelect Parents
Generate New OffspringGenerate New Offspring
Termination Condition?Termination Condition?Yes
No
Fitness Function
Crossover, Mutation
Best Individual
7
Components of EC (1/9)Components of EC (1/9)
Representations Population Fitness function Selection mechanism Variation operators
Crossover/Mutation
Initialization / Termination
8(C) 2000-2009 SNU CSE Biointelligence Lab
(C) 2000-2009 SNU CSE Biointelligence Lab
Components of EC (2/9)Components of EC (2/9)
An example: the 8 queens problem Place 8 queens
on an 8x8 chessboard in such a way that they cannot check each other.
9
Components of EC (3/9)Components of EC (3/9)
Representations How to represent the space to be searched? Genotype
Internal representation of solutions in EC. Minimum domain knowledge.
Phenotype External representation of solutions for the problem. Require domain knowledge.
Be careful so that every feasible solution can be represented in genotype space.
10(C) 2000-2009 SNU CSE Biointelligence Lab
(C) 2000-2009 SNU CSE Biointelligence Lab
1 23 45 6 7 8
Genotype: a permutation of the numbers 1 - 8
Phenotype: a board configuration
Obvious mapping
11
Representation Example:Representation Example:8 Queens Problem8 Queens Problem
Components of EC (4/9)Components of EC (4/9) Population
Usually has a fixed size and is a multiset of genotypes Some sophisticated EAs also assert a spatial structure on the
population e.g., a grid. Diversity of a population refers to the number of different
fitnesses / phenotypes / genotypes present (note not the same thing).
Population sizing Parent population size (M), offspring population size (K). Typically M = K. In typical ES (explained later), M << K. In steady state algorithms, M > K.
12(C) 2000-2009 SNU CSE Biointelligence Lab
(C) 2000-2009 SNU CSE Biointelligence Lab
Components of EC (5/9)Components of EC (5/9)
Fitness function Represents the requirements that the population should
adapt to a.k.a. quality function or objective function Assigns a single real-valued fitness to each phenotype
which forms the basis for selection So the more discrimination (different values) the
better Typically we talk about fitness being maximised
Some problems may be best posed as minimisation problems, but conversion is trivial.
13
Fitness Function Example:Fitness Function Example:8 Queens Problem8 Queens Problem
Penalty for a queen: The number of queens she can
check
Penalty for a configuration: The sum of penalties of all
queens
Note: penalty is to be minimized
Fitness of a configuration: inverse penalty to be maximized
1 23 45 6 7 8
1
2
1
0
1
2
2
1
14(C) 2000-2009 SNU CSE Biointelligence Lab 10)22110112(
1.022110112
1
or
(C) 2000-2009 SNU CSE Biointelligence Lab
Components of EC (6/9)Components of EC (6/9)
Parent selection mechanism Assigns probabilities for an individual to be selected as parents. Selection probabilities are relative to current population.
Different probabilities can be assigned to the same individuals. Usually depends on the individual’s fitness and probabilistic.
High quality solutions more likely to become parents than low quality ones
Selection pressure – the degree of correlation between the individual’s fitness and its selection probability.
High selection pressure results in reducing search scope. Even worst in current population usually has non-zero probability of
becoming a parent This stochastic nature can aid escape from local optima.
15
Selection Mechanism Example:Selection Mechanism Example:8 Queens Problem8 Queens Problem
1 23 45 6 8 7
6 83 17 5 2 4
6 31 25 7 8 4
8 26 54 1 3 7
1/9 = 0.11
1/10 = 0.1
1/11 = 0.091
1/6 = 0.17
Individual Proportional Ranking
(1) 0.23 0.3
(2) 0.21 0.2
(3) 0.19 0.1
(4) 0.36 0.4
(1)
(2)
(3)
(4)
Different selection mechanisms assign different selection probabilities for the same individual.
16(C) 2000-2009 SNU CSE Biointelligence Lab
(C) 2000-2009 SNU CSE Biointelligence Lab
Components of EC (7/9)Components of EC (7/9) Crossover (Recombination)
Mix information from parents into offspring in stochastic way.
Most offspring may be worse, or the same as the parents. Hope is that some are better by combining elements of
genotypes that lead to good traits. Principle has been used for millennia by breeders of
plants and livestock
Example
8 7 6 42 5311 3 5 24 678
8 7 6 45 1231 3 5 62 874
17
(C) 2000-2009 SNU CSE Biointelligence Lab
Components of EC (8/9)Components of EC (8/9)
Mutation It is applied to one genotype and delivers a (slightly)
modified mutant, the child or offspring of it. Element of randomness is essential. The role of mutation in EC is different in various EC
subtypes.
Example swapping values of two randomly chosen positions
1 23 45 6 7 8 1 23 4 567 8
18
(C) 2000-2009 SNU CSE Biointelligence Lab
Components of EC (9/9)Components of EC (9/9)
Initialization usually done at random Need to ensure even spread and mixture of possible
allele values Can include existing solutions, or use problem-specific
heuristics, to “seed” the population Termination condition checked every generation
Reaching some (known/hoped for) fitness Reaching some maximum allowed number of
generations Reaching some minimum level of diversity Reaching some specified number of generations
without fitness improvement
19
(C) 2000-2009 SNU CSE Biointelligence Lab
Paradigms in ECParadigms in EC
Evolutionary Programming (EP) [L. Fogel et al., 1966] FSMs, mutation only, tournament selection
Evolution Strategy (ES) [I. Rechenberg, 1973] Real values, mainly mutation, ranking selection
Genetic Algorithm (GA) [J. Holland, 1975] Bitstrings, mainly crossover, proportionate selection
Genetic Programming (GP) [J. Koza, 1992] Trees, mainly crossover, proportionate selection
20
Appendix: Evolution StrategyAppendix: Evolution Strategy
Evolution Strategy (ES)Evolution Strategy (ES)
Problem of real-valued optimizationFind extremum (minimum) of function F(X): Rn ->R
Operate directly on real-valued vector X Generate new solutions through Gaussian
mutation of all components Selection mechanism for determining new parents
(C) 2000-2009 SNU CSE Biointelligence Lab 22
ES: RepresentationES: Representation
One individual:
The three parts of an individual:
Ixxa nnn
,,,,,,,, 111
x
: Object variables
: Standard deviations
: Rotation angles
Fitness
Variances
Covariances
)(xf
x
(C) 2000-2009 SNU CSE Biointelligence Lab 23
, where rx, r , r {-, d, D, i, I, g, G}, e.g. rdII rrr x
r
GiSiTiiS
giSiTiS
IiSiTiS
iiSiTiS
DiTiS
diTiS
iS
i
rxxx
rxxx
rxxx
rxxx
rxx
rxx
rx
x
i
i
i
teintermedia dgeneralize panmictic)(
teintermedia dgeneralize)(
teintermedia panmictic2/)(
teintermedia2/)(
discrete panmicticor
discreteor
ionrecombinat no
,,,
,,,
,,,
,,,
,,
,,
,
ES: Operator - RecombinationES: Operator - Recombination
(C) 2000-2009 SNU CSE Biointelligence Lab 24
m{,’,} : I I is an asexual operator. n = n, n = n(n-1)/2
1 < n < n, n = 0
n = 1, n = 0
)),(,0(
)1,0(
))1,0()1,0(exp(
CNxx
N
NN
jjj
iii
0873.0
2
2
1
1
n
n
)1,0(
))1,0()1,0(exp(
iiii
iii
Nxx
NN
)1,0(
))1,0(exp( 0
iii Nxx
N
n/10
ES: Operator - MutationES: Operator - Mutation
(C) 2000-2009 SNU CSE Biointelligence Lab 25
ES: Illustration of Mutation ES: Illustration of Mutation HyperellipsoidsHyperellipsoids
Line of equal probability density to place an offspring
(C) 2000-2009 SNU CSE Biointelligence Lab 26
ES: Evolution Strategy vs. Genetic ES: Evolution Strategy vs. Genetic AlgorithmAlgorithm
Create random initial population
Evaluate population
Select individuals for variation
Vary
Insert intopopulation
Create random initial population
Evaluate population
Vary
Selection
Insert intopopulation
(C) 2000-2009 SNU CSE Biointelligence Lab 27
Part II: Genetic ProgrammingPart II: Genetic Programming
OverviewOverview
Genetic Programming Tree-based Representations Setting Up a Genetic Programming Run Example: Wall-Following Robot Result
29(C) 2000-2009 SNU CSE Biointelligence Lab
(C) 2000-2009 SNU CSE Biointelligence Lab
Genetic Programming (GP)Genetic Programming (GP)
GP is an domain-independent method that evolves a population of programs to solve a problem.
GP uses variable-size tree-representations rather than fixed-length strings of binary values in typical GA.
GP has been successful in many domains.
30
(C) 2000-2009 SNU CSE Biointelligence Lab
Tree-based Representations (1/6)Tree-based Representations (1/6)
Function set: internal nodes Functions, predicates, or actions which take one or
more arguments
Terminal set: leaf nodes Program constants, actions, or functions which take no
arguments
S-expression: (+ 3 (/ ( 5 4) 7))
Terminals = {3, 4, 5, 7}Functions = {+, , /}
31
(C) 2000-2009 SNU CSE Biointelligence Lab
Tree-based Representations (2/6)Tree-based Representations (2/6)
Trees can represent: Arithmetic formula
Logical formula
Program
And many others depending on the definition of terminals and nonterminals.
15)3(2
yx
(x true) (( x y ) (z (x y)))
i =1;while (i < 20){
i = i +1}
32
(C) 2000-2009 SNU CSE Biointelligence Lab
Tree-based Representations (3/6)Tree-based Representations (3/6)
15)3(2
yx
33
(C) 2000-2009 SNU CSE Biointelligence Lab
Tree-based Representations (4/6)Tree-based Representations (4/6)
(x true) (( x y ) (z (x y)))
34
(C) 2000-2009 SNU CSE Biointelligence Lab
Tree-based Representations (5/6)Tree-based Representations (5/6)
i =1;while (i < 20){
i = i +1}
35
(C) 2000-2009 SNU CSE Biointelligence Lab
Tree-based Representations (6/6)Tree-based Representations (6/6)
In GA, ES, EP chromosomes are linear structures (bit strings, integer string, real-valued vectors, permutations)
Tree shaped chromosomes are non-linear structures.
In GA, ES, EP the size of the chromosomes is fixed.
Trees in GP may vary in depth and width.
36
Setting up a GP RunSetting up a GP Run
Users need to specify:1. The terminal / function set
2. The fitness measure
3. Algorithm parameters to control the run Population size, maximum number of generations Selection / variation operators and their probabilities The termination criterion Maximum depth of a GP tree, etc.
37(C) 2000-2009 SNU CSE Biointelligence Lab
(C) 2000-2009 SNU CSE Biointelligence Lab
Example: Wall-Following Robot Example: Wall-Following Robot (Step 1)(Step 1) Program Representation in GP
Functions AND (x, y) = 0 if x = 0; else y OR (x, y) = 1 if x = 1; else y NOT (x) = 0 if x = 1; else 1 IF (x, y, z) = y if x = 1; else z
Terminals Actions: move the robot one cell to each direction
{north, east, south, west} Sensory input: its value is 0 whenever the coressponding cell is
free for the robot to occupy; otherwise, 1. {n, ne, e, se, s, sw, w, nw}
38
(C) 2000-2009 SNU CSE Biointelligence Lab
Program ExampleProgram Example
39
Example: Wall-Following Robot Example: Wall-Following Robot (Step 1)(Step 1) Be careful when specifying function / terminal set.
To avoid syntactic error All programs in the initial population should be valid,
executable programs. The genetic operators during the run should produce valid,
executable programs as offspring.
To avoid run-time error All functions can take any terminal or the results produced by
any other functions as input.
40(C) 2000-2009 SNU CSE Biointelligence Lab
Example: Wall-Following Robot Example: Wall-Following Robot (Step 2)(Step 2) Fitness measures can be
Error between program’s output and the desired output. Accuracy in recognizing patterns or classifying objects into
classes. Payoff a game-playing program produces.
Often each program is executed over a representative sample of fitness cases.
In our wall-following robot problem the number of cells next to the wall that are visited during 60
steps over 10 independent runs. Perfect score (320) : One Run (32) 10 randomly chosen starting points
41(C) 2000-2009 SNU CSE Biointelligence Lab
Example: Wall-Following Robot Example: Wall-Following Robot (Step 3)(Step 3) Genetic operators – crossover (subtree exchange)
+
b
a b
+
b
+
a a b+
a b
a b
+
b
+
a
b
42(C) 2000-2009 SNU CSE Biointelligence Lab
Example: Wall-Following Robot Example: Wall-Following Robot (Step 3)(Step 3) Genetic operators – mutation
(C) 2000-2009 SNU CSE Biointelligence Lab 43
a b
+
b
/
a
+
b
+
b
/
a
-
b a
Example: Wall-Following Robot Example: Wall-Following Robot (Step 3)(Step 3) Population size: 5,000 Termination condition: found perfect solution Creating Next Generation
500 programs (10%) are copied directly into next generation (elitism). Tournament selection
• 7 programs are randomly selected from the population 5,000.• The most fit of these 7 programs is chosen.
4,500 programs (90%) are generated by crossover. Parents are each chosen by tournament selection.
In this example, mutation was not used.
(C) 2000-2009 SNU CSE Biointelligence Lab 44
Example: Wall-Following Robot Example: Wall-Following Robot (Step 3)(Step 3)
(C) 2000-2009 SNU CSE Biointelligence Lab 45
(C) 2000-2009 SNU CSE Biointelligence Lab
Result (1/5)Result (1/5) Generation 0
The most fit program (fitness = 92) Starting in any cell, this program moves east until it reaches a
cell next to the wall; then it moves north until it can move east again or it moves west and gets trapped in the upper-left cell.
46
(C) 2000-2009 SNU CSE Biointelligence Lab
Result (2/5)Result (2/5)
Generation 2 The most fit program (fitness = 117)
Smaller than the best one of generation 0, but it does get stuck in the lower-right corner.
47
(C) 2000-2009 SNU CSE Biointelligence Lab
Result (3/5)Result (3/5)
Generation 6 The most fit program (fitness = 163)
Following the wall perfectly but still gets stuck in the bottom-right corner.
48
(C) 2000-2009 SNU CSE Biointelligence Lab
Result (4/5)Result (4/5)
Generation 10 The most fit program (fitness = 320)
Following the wall around clockwise and moves south to the wall if it doesn’t start next to it.
49
(C) 2000-2009 SNU CSE Biointelligence Lab
Result (5/5)Result (5/5) Fitness Curve
Fitness as a function of generation number The progressive (but often small) improvement from
generation to generation
50
Part III: Advanced Topics and Part III: Advanced Topics and ApplicationsApplications
OverviewOverview
Theoretical topics Mathematical Models of Simple Genetic Algorithms Bloat Phenomena in Genetic Programming
Applications Summary
52(C) 2000-2009 SNU CSE Biointelligence Lab
Mathematical Models of Simple GAs (1/7)Mathematical Models of Simple GAs (1/7)
Based on (Vose & Liepins, 1991). The model simple GA
1. Start with a random population of binary strings of length l.
2. Calculate the fitness f(x) of each string x in the population.
3. Choose (with replacement) two parents from the population with probability proportional to each string’s relative fitness in the population.
4. Crossover the two parents (at single random point) with probability pc to from two offspring and discard one at random.
5. Mutate each bit in the selected offspring with probability pm and replace it in the new population.
6. Go to Step 3 until new population is complete.
7. Go to Step 1.
53(C) 2000-2009 SNU CSE Biointelligence Lab
Notations Each string is represented by binary string between 0
and 2l-1.
Mathematical Models of Simple GAs (2/7)Mathematical Models of Simple GAs (2/7)
1 1
1 1
0 1
1 0
)6667.0,1667.0,1667.0,0()(
)5.0,25.0,25.0,0()(
ts
tpProportion of string i in the population
The selection probability of string i,assuming that fitness is equal to the number of 1’s in the string.
12
0)(
)()( l
jtpF
tpFts
)(
for 0
,
,
ifF
jiF
ii
ji
54(C) 2000-2009 SNU CSE Biointelligence Lab
Mathematical Models of Simple GAs (3/7)Mathematical Models of Simple GAs (3/7)
GA with selection only. Expectation of next population is equal to the selection
probabilities.)())1(( tstpE
)(~))1((
)1(~)1(
tsFtsE
tpFts
55(C) 2000-2009 SNU CSE Biointelligence Lab
Mathematical Models of Simple GAs (4/7)Mathematical Models of Simple GAs (4/7)
Including crossover and mutation. Define recombination matrix M for crossover and
mutation. ri,j(k) – the probability that string k will be produced,
given that string i and j are selected to mate.
Defining ri,j(k) and M is tricky. We will show defining ri,j(0) only.
ji
jijik krtststpE,
, )()()())1((
56(C) 2000-2009 SNU CSE Biointelligence Lab
Mathematical Models of Simple GAs (5/7)Mathematical Models of Simple GAs (5/7)
Defining ri,j(0) Case 1: crossover does not occur and the selected
offspring is mutated to all zeros. Case 2: crossover occurs and the selected offspring is
mutated to all zeros.
Case 1 |i|: the number of 1’s in a string i. The probability that i be mutated to all zeros
|||| )1( ilm
im pp
|||||||| )1()1(12
1 jlm
jm
ilm
imc ppppp
57(C) 2000-2009 SNU CSE Biointelligence Lab
Mathematical Models of Simple GAs (6/7)Mathematical Models of Simple GAs (6/7)
Case 2 Temporary definition
|h|=|i|-|i2|+|j2| & |k|=|j|-|j2|+|i2|.
But, gives the number of 1’s in rightmost c bits of i.
Thus,
i: 0 0 0 1 0 1 0 1
j: 1 1 1 0 1 0 1 0
h: 0 0 0 0 1 0 1 0
k: 1 1 1 1 0 1 0 1
i1 i2
j1 j2
1
1
|||||||| )1()1(1
1
2
1 l
c
klm
km
hlm
hmc pppp
lp
ii c )^12(2 i: 0 0 0 0 1 0 1 0
25-1: 0 0 0 1 1 1 1 1
cjicji
cccji
jkih
jiji
,,,,
22,,
and Then,
)^12()^12(
)1/( mm pp
58(C) 2000-2009 SNU CSE Biointelligence Lab
1
1
1
1,
,,,,
11
11
2
)1()0(
l
c
cc
jl
c
cc
il
mji
cjicji
l
pp
l
pp
pr
Mathematical Models of Simple GAs (7/7)Mathematical Models of Simple GAs (7/7)
For the rest of derivation of ri,j(0) and M, refer to (Vose & Liepins, 1991).
59(C) 2000-2009 SNU CSE Biointelligence Lab
Bloat Phenomena in GP (1/3)Bloat Phenomena in GP (1/3)
Bloat Program growth without (significant) return in terms of
fitness.
Fitness
Program size
60(C) 2000-2009 SNU CSE Biointelligence Lab
Bloat Phenomena in GP (2/3)Bloat Phenomena in GP (2/3)
Why does it happen? No certain explanation. Replication accuracy theory
GP evolves towards (bloated) representations that increase replication accuracy.
Crossover bias theory Short programs are less fit than long ones long programs
have a selective advantage bloat
61(C) 2000-2009 SNU CSE Biointelligence Lab
Bloat Phenomena in GP (3/3)Bloat Phenomena in GP (3/3)
Techniques limiting bloat Fixed size or depth limit: programs exceeding the limit
are discarded and a parent is kept. Dangerous: acts as advantage for programs that violate the
limit.
Parsimony pressure: a penalty term for larger programs is added to the fitness value.
(Fitness_parsimony) = (Fitness_raw) – c * (program_size)
62(C) 2000-2009 SNU CSE Biointelligence Lab
Part IV: ApplicationsPart IV: Applications
(C) 2000-2009 SNU CSE Biointelligence Lab
Applications of ECApplications of EC
Numerical, Combinatorial Optimization System Modeling and Identification Planning and Control Engineering Design Data Mining Machine Learning Artificial Life
64
Co-evolving Soccer Softbots (1/5)Co-evolving Soccer Softbots (1/5)
At RoboCup there are two "leagues": the "real" robot league and the "virtual" softbot league
How do you do this with GP? GP breeding strategies: homogeneous and heterogeneous Decision of the basic set of function with which to evolve players Creation of an evaluation environment for our GP individuals
Application Example 1Application Example 1
Co-evolvingCo-evolving Soccer Softbots Soccer Softbots With Genetic With Genetic ProgrammingProgramming
(C) 2000-2009 SNU CSE Biointelligence Lab 65
Co-evolving Soccer Softbots (2/5)Co-evolving Soccer Softbots (2/5)
Initial Random Population
Application Example 1Application Example 1
(C) 2000-2009 SNU CSE Biointelligence Lab 66
Co-evolving Soccer Softbots (3/5)Co-evolving Soccer Softbots (3/5)
Kiddie Soccer
Application Example 1Application Example 1
(C) 2000-2009 SNU CSE Biointelligence Lab 67
Co-evolving Soccer Softbots (4/5)Co-evolving Soccer Softbots (4/5)
Learning to Block the Goal
Application Example 1Application Example 1
(C) 2000-2009 SNU CSE Biointelligence Lab 68
Co-evolving Soccer Softbots (5/5)Co-evolving Soccer Softbots (5/5)
Becoming Territorial
Application Example 1Application Example 1
(C) 2000-2009 SNU CSE Biointelligence Lab 69
Evolutionary ArtsEvolutionary Arts
Exploits the process of evolution to create an artwork according to an evolutionary algorithm.
Selection may be done by the viewer explicitly by selecting individuals which are aesthetically pleasing, or implicitly according to the length of time a viewer spends near a piece of evolving art.
EvoMUSART workshops 2009 http://evostar.na.icar.cnr.it/EvoWorkshops/
EvoMUSART/EvoMUSART.html
Application Example 2Application Example 2
70(C) 2000-2009 SNU CSE Biointelligence Lab
Part V: Summary & Further Part V: Summary & Further InformationInformation
(C) 2000-2009 SNU CSE Biointelligence Lab
Recapitulation of EARecapitulation of EA
EAs fall into the category of “generate and test” algorithms.
They are stochastic, population-based algorithms. Variation operators (recombination and mutation)
create the necessary diversity and thereby facilitate novelty.
Selection reduces diversity and acts as a force pushing quality.
Fundamental trade-off between exploration and exploitation
72
Exploration vs. ExploitationExploration vs. Exploitation
There are many possibilities to set the parameters to increase the explorative capability of an EA Increase variation probability
Increase mutation rate Increase crossover rate Increase population size
Decrease selection pressure Add noise to fitness function Add noise in selection Increase rank ratio in ranking selection Decrease tournament size in tournament selection
Important is the combined effect of various parameter settings.
(C) 2000-2009 SNU CSE Biointelligence Lab 73
(C) 2000-2009 SNU CSE Biointelligence Lab
Typical Behavior of an EATypical Behavior 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
74
Are Long Runs Beneficial?Are Long Runs Beneficial?
(C) 2000-2009 SNU CSE Biointelligence Lab 75
Be
st fi
tne
ss in
po
pula
tion
Time (number of generations)
Progress in 1st half
Progress in 2nd half
Answer: - It depends how much you want the last bit of progress - It may be better to do more shorter runs
(C) 2000-2009 SNU CSE Biointelligence Lab
Scale of “all” problems
Per
form
ance
of
met
hods
on
prob
lem
s
Random search
Special, problem tailored method
Evolutionary algorithm
EAs as Problem SolversEAs as Problem Solvers
76
(C) 2000-2009 SNU CSE Biointelligence Lab
Advantages of ECAdvantages 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 Provide many alternative solutions
77
(C) 2000-2009 SNU CSE Biointelligence Lab
Disadvantages of ECDisadvantages of EC
No guarantee for optimal solution within finite time
Weak theoretical basis May need parameter tuning Often computationally expensive, i.e. slow
78
(C) 2000-2009 SNU CSE Biointelligence Lab
Further Information on ECFurther Information on EC
Conferences IEEE Congress on Evolutionary Computation (CEC) Genetic and Evolutionary Computation Conference (GECCO) Parallel Problem Solving from Nature (PPSN) Foundation of Genetic Algorithms (FOGA) EuroGP, EvoCOP, and EvoWorkshops Int. Conf. on Simulated Evolution and Learning (SEAL)
Journals IEEE Transactions on Evolutionary Computation Evolutionary Computation Genetic Programming and Evolvable Machines
79
(C) 2000-2009 SNU CSE Biointelligence Lab
ReferencesReferences
Evolutionary Computation by Kenneth A. De Jong, 2006. Evolutionary Computation: Toward a New Philosophy of Machine Intel
ligence, Third Edition (IEEE Press Series on Computational Intelligence) by David B. Fogel, 2005,
Introduction to Evolutionary Computing by A. E. Eiben and J. E Smith, Springer, 2003.
Genetic Programming: On the Programming of Computers by Means of Natural Selection (Complex Adaptive Systems) by John R. Koza, 1992.
Genetic Programming: An Introduction by W. Banzhaf, P. Nordin, R. Keller, and F. Francone, Morgan Kaufmann, 1997.
A Field Guide to Genetic Programming by R. Poli and W. B. Langdon, 2008. Online free book – http://www.gp-field-guide.org.uk/
80
Top Related