Evolutionary Computation -...
Transcript of Evolutionary Computation -...
![Page 1: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/1.jpg)
Evolutionary Computation
DEIS-CesenaAlma Mater Studiorum Universita di Bologna
Cesena (Italia)
![Page 2: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/2.jpg)
Evolutionary Computation
Inspiring principle: theory of natural selection
“Species face the problem of searching for beneficialadaptations to the environment. The knowledge that eachspecies has gained is embodied in the makeup of thechromosomes of its members.” (Davis, Genetic Algorithms andSimulated Annealing, 1987)
Example: rabbits. . .
![Page 3: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/3.jpg)
Evolutionary Computation
Evolutionary Computation (EC) encompasses:
• Genetic Algorithms
• Genetic Programming
• Evolution Strategies
• Estimation of Distribution Algorithms
![Page 4: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/4.jpg)
Characteristics
• Robustness
• Adaptivity
• Subsymbolic models(no explicit symbolic computation)
![Page 5: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/5.jpg)
Objectives
• Problem solving
• Optimization
• Adaptive systems design
• Simulation
![Page 6: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/6.jpg)
Some applications
⊲ System design (e.g., airplanes, electronic circuits,mechanical elements)
⊲ Neural network training (e.g., robotics)
⊲ Signal processing (e.g., artificial vision)
⊲ Optimization (discrete and continuous)
![Page 7: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/7.jpg)
More applications
⊲ Time series analysis and forecasting (e.g., financialforecasting)
⊲ Artificial Life (e.g., cellular automata, analysis of complexadaptive systems)
⊲ Games (e.g., Prisoner’s Dilemma)
Challenge: find a problem where EC has NOT been applied!
![Page 8: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/8.jpg)
Genetic Algorithms
The Metaphor
NATURAL EVOLUTION ARTIFICIAL SYSTEMSIndividual ↔ A possible solutionFitness ↔ Quality
Environment ↔ Problem
![Page 9: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/9.jpg)
A bit of terminology
• A population is the set of individuals (solutions)
• Individuals are also called genotypes or chromosomes (ifone solution↔ one chromosome)
• Chromosomes are made of units called genes• The domain of values of a gene is composed of alleles
(e.g., a binary variable/gene has two alleles)
![Page 10: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/10.jpg)
The Evolutionary Cycle
POPULATION
PARENTSSELECTION
RECOMBINATION
MUTATION
OFFSPRINGREPLACEMENT
![Page 11: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/11.jpg)
Genetic operators
• Mutation
• Recombination
• Selection
• Replacement/insertion
![Page 12: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/12.jpg)
Genetic operators
⊲ EC algorithms define a basic computational procedure whichuses the genetic operators.
⊲ The definition of the genetic operators specifies the actualalgorithm.
⊲ The definition of the genetic operators depends upon theproblem at hand.
![Page 13: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/13.jpg)
Genetic Algorithms
Developed by John Holland (early ’70) with the aim of:
• Understand adaptive processes of natural systems
• Design robust (software) artificial systems
![Page 14: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/14.jpg)
Simple Genetic Algorithm
• Derived from the natural metaphor
• Very simple model
• ‘Programming oriented’
You can take it as a first step toward evolutionary algorithms ingeneral
![Page 15: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/15.jpg)
Simple Genetic Algorithm
Solutions are coded as bit strings
0 0 0 1 01 1 1 1 1
CHROMOSOME
GENE
Integer
Plan
Real
Rules
.....
GENOTYPE PHENOTYPE
![Page 16: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/16.jpg)
Example
Optimization of a function of integer variable x ∈ [0, 100]:
• binary coding→ string of 7 bit
• 4 bits per digit→ string of 12 bit
![Page 17: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/17.jpg)
Genetic operators (1)
Mutation: each gene has probability pM of being modified(’flipped’)
0 0 0 1 01 1 0 1 1
0 0 0 1 01 1 1 1 1
![Page 18: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/18.jpg)
Genetic operators (2)
Crossover: cross-combination of two chromosomes (looselyresembling human crossover)
1 1 0 01 0 0 0 1 0 1 1 0 01 0
0 1 1 1
0 1 1 1
0 0 1 00 0 0 11 10 0 0 11 1
![Page 19: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/19.jpg)
Genetic operators (3)
Selection acts in the choice of parents and produces themating pool .
→ Proportional selection: the probability for an individual tobe chosen is proportional to its fitness.
![Page 20: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/20.jpg)
Genetic operators (3)
Roulette wheel
50%10%
10%
25%
5%
I1 50I2 25I3 10I4 10I5 5
![Page 21: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/21.jpg)
Genetic operators (4)
Generational replacement: The new generation replacesentirely the old one.
• Advantage: very simple, computationally not (extremely)expensive, easier theoretical analysis.
• Disadvantage: we could loose good solutions
![Page 22: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/22.jpg)
High-level algorithm
Initialize PopulationEvaluate Populationwhile Termination conditions not met do
while New population not completed doSelect two parents for matingApply crossoverApply mutation to each new individual
end whilePopulation← New populationEvaluate Population
end while
![Page 23: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/23.jpg)
Termination conditions
The basic question is: when to stop?
• Execution time limit reached
• We are satisfied with the solution(s) obtained
• Stagnation (limit: the population converged to the sameindividual)
![Page 24: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/24.jpg)
Simple Genetic Algorithm
Initialize Population{Npop individuals X1, . . . , XNpop}for i = 1 to Npop do
Xi ← InitialSolution() {e.g., random}end for
Evaluate Population{Individual Xi has fitness Fi}for i = 1 to Npop do
Fi ← Eval(Xi)end for
![Page 25: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/25.jpg)
Simple Genetic Algorithm
Select parents: G1, G2{Roulette wheel selection}lung ← 0for i = 1 to Npop do {all fitness values are summed up}
lung ← lung + Fi
end forfor m = 1 to 2 do
r ← Random(0,lung); sum← 0; i ← 1while i < Npop AND sum < r do
sum← sum + Fi ; i ← i + 1end whileGm ← Xi
end for
![Page 26: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/26.jpg)
Simple Genetic Algorithm
Apply crossover: from G1, G2 we get G′
1, G′
2
r ← Random(1,lchromosome){crossover point}for i = 1 to r − 1 do
G′
1[i]← G1[i]G′
2[i]← G2[i]end forfor i = r to lchromosome do
G′
1[i]← G2[i]G′
2[i]← G1[i]end for
![Page 27: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/27.jpg)
Simple Genetic Algorithm
Apply mutation to individual Xfor i = 1 to lchromosome do
r ← Random(0,1)if r ≤ pM then
Complement X [i]end if
end for
![Page 28: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/28.jpg)
Fitness Landscape
Representation of the space of all possible genotypes, alongwith their fitness.
![Page 29: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/29.jpg)
Fitness Landscape
Caution!
• Different landscapes for different operators
• In many cases fitness landscapes are dynamic
• Landscape ‘intuition’ might be misleading
• Use of term local optimum used and abused everywhere
![Page 30: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/30.jpg)
Why does it work?
Intuition:
• Crossover combines good parts from good solutions (but itmight also destroy. . . sometimes)
• Mutation introduces diversity
• Selection drives the population toward high fitness
![Page 31: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/31.jpg)
Why does it work?
Holland explains (also theoretically, but with strong hypotheses)why the SGA ’works’
Two basic elements:
• Schemata• Building blocks
![Page 32: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/32.jpg)
Schemata
• A schema is a kind of mask: 001 ∗ 1 ∗ ∗0
• The symbol ∗ represents a wildcard: both 0 and 1 fit
• E.g., 1 ∗ 0 represents 100 and 110
![Page 33: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/33.jpg)
Building blocks
• A building block is a pattern of contiguous bits
• HP: good solutions are composed of good building blocks
• The crossover puts together short building blocks anddestroys large ones
![Page 34: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/34.jpg)
Implicit parallelism
• Every individual corresponds to a set of schemata
• The number of the best schemata increases exponentially
• The solution space is searched through schemata (henceimplicit parallelism)
![Page 35: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/35.jpg)
When does it work well?
A SGA works well if:
1 Short good building blocks (correlate genes are adjacent)
2 Loose interaction among genes (low epistasis)
![Page 36: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/36.jpg)
SGA: pros and cons
Pros:
• Extremely simple
• General purpose
• Theoretical models
Cons:
• Coding
• Too simple genetic operators
![Page 37: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/37.jpg)
A recipe
The ingredients to prepare a GA:
• Solution coding (e.g., bit strings, programs, arrays of realvariables, etc.)
• Define a way of evaluating solutions (e.g., objective functionvalue, result of a program, behavior of a system, etc.)
• Define recombination operators (crossover , mutation)
• Define the selection and replacement/insertion mechanisms
![Page 38: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/38.jpg)
Toward less simple GA
Recombination:
• Multi-point crossover (recombination of more than 2“pieces” of chromosomes)
• Multi-parent crossover (an individual is generated by morethan 2 parents)
• Uniform crossover (children created by randomly shufflingthe parent variables at each site)
![Page 39: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/39.jpg)
Multi-point crossover
111
1 0 0 0 1 0
0 1 1 1
0 0 1 01 0 0 0 0 11 1
0 0 01 1
1 1 0 01 0
![Page 40: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/40.jpg)
Multi-parent crossover
1 1 0 0
0 1 1 0
0 0 1 0
0 1 1 1
1
00 1
1 1
0 1
0 0 0
1
0 0
1 0
1 0 1 01 0
1 1 0
0 1 1
0 1 1
1 1 01 0
11
1 1 0 1 1 0
![Page 41: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/41.jpg)
Toward less simple GA
Mutation:
• Learning applied to modify the chromosome
• In optimization, hill-climbing or more complex local searchalgorithms can be applied
Interesting topic: Evolution & Learning,www.cogs.susx.ac.uk/users/ezequiel/alife-page/evolearn.html
![Page 42: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/42.jpg)
Toward less simple GA
Selection:
• Different probability distribution (e.g., probabilitydistribution based on the ranking of individuals)
• Tournament Selection (iteratively pick two or moreindividuals and put in the mating pool the fittest)
![Page 43: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/43.jpg)
Ex: real valued variables
- Solution: x ∈ [a, b], a, b ∈ R
- Mutation: random perturbation x → x ± δ, accepted ifx ± δ ∈ [a, b]
- Crossover: linear combination z = λ1x + λ2y , with λ1, λ2
such that a ≤ z ≤ b.
![Page 44: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/44.jpg)
Example: permutations
- Solution: x = (x1, x2, . . . , xn) is a permutation of(1, 2, . . . , n)
- Mutation: random exchange of two elements in the n-ple
- Crossover: like 2-point crossover, but avoiding valuerepetition (see next example).
![Page 45: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/45.jpg)
Eight Queens
Place 8 queens on a 8× 8 chessboard in such a way that thequeens cannot attack each other.
![Page 46: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/46.jpg)
Eight Queens
Genotype: a permutation of the numbers 1 through 8
7 13 2 4 6 5 8
![Page 47: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/47.jpg)
Eight Queens
Mutation: exchanging two numbers
21 11 3 5 4 8 7 2 3 5 8 74 1
![Page 48: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/48.jpg)
Eight Queens
Crossover: combining two parents
7
1
8 7
5
6
8 7 6 5 4 3 2
3 5 2 6 41
8 7 6 2 4 1 3
3 5 4 2 81
![Page 49: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/49.jpg)
Eight Queens
Fitness: penalty of a queen is the number of queens it cancheck.
The fitness of the configuration is the sum of the singlepenalties.
![Page 50: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/50.jpg)
Genetic Programming
• Can be seen as a ‘variant’ of GA: individuals are programs• Used to build programs that solve the problem at hand (⇒
specialized programs)
• Extended to automatic design in general (e.g., controllersand electronic circuits)
![Page 51: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/51.jpg)
Genetic Programming
Individuals are trees which encode programs.
>
1
+
2 IF
3 4
T 6
Fitness given by the evaluation of the program “behavior”(based upon some defined criteria)
![Page 52: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/52.jpg)
Operators
Mutation: Random selection of a subtree which is substitutedby a well formed random generated subtree
>
1
+
2 IF
3 4
6T
>
6*
1
+
2 IF
3 4
2Y
![Page 53: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/53.jpg)
Operators
Crossover: Exchange two randomly picked subtrees.
4
+
4
+
5
5>
+
2 IF
3 4
T 6
>
IF
3 4
T 6
IF
<
1
+
2
2
IF
<
1
2
![Page 54: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/54.jpg)
Operators
Selection and replacement
Fitness is evaluated depending on the application.
• For assembler worms the fitness can be the memory theyoccupied.
• For controllers, the fitness can be the percentage of correctactions
![Page 55: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/55.jpg)
The realm of GP
• Black art problems. E.g.,automated synthesis of analogelectrical circuits, controllers, antennas, and other areas ofdesign
• Programming the unprogrammable, involving the automaticcreation of computer programs for unconventional computingdevices. E.g.,cellular automata, parallel systems, multi-agentsystems, etc.
![Page 56: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/56.jpg)
Coevolution
Species evolve in the same environment
→ dynamic environment
Two kinds:
• Competitive
• Cooperative
![Page 57: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/57.jpg)
Competitive Coevolution
⊲ Species evolve trying to face each other
• E.g., prey/predator, herbivore/plants.
Applications: ALU design for Cray computer, (pseudo-)randomnumber generator.
![Page 58: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/58.jpg)
Cooperative Coevolution
⊲ Species evolve complementary capabilities to survive in theirenvironment
• E.g., host/parasite.
Applications: ‘niche’ genetic algorithms for multi-criteriaoptimization.
![Page 59: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/59.jpg)
EC and Artificial Life
Tierra
• Artificial evolution of computer programs (T. Ray, early’90s)
• Environment: virtual computer
• Individuals: self-replicating assembler programs
• Resources: CPU time and memory
![Page 60: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/60.jpg)
Tierra
Results of evolution: several kinds of nontrivial behaviors anddynamics
• parasites
• immunity to parasites
• circumvention of immunity to parasites
• social individuals
• . . . and others
![Page 61: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/61.jpg)
EC and Games
Axelrod and The Prisoner’s Dilemma
• Game strategies evolved through genetic algorithms
• Dynamic environment (a player plays against otherdifferent players)
• Best strategy evolved by GA is the best human strategy
• Analysis of the arising of cooperation
![Page 62: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/62.jpg)
The Prisoner’s Dilemma
• The two players in the game can choose between twomoves, either cooperate or defect .
• Each player gains when both cooperate, but if only one ofthem cooperates, the other one, who defects, will gainmore.
• If both defect, both lose (or gain very little) but not as muchas the ”cheated” cooperator whose cooperation is notreturned.
![Page 63: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/63.jpg)
The payoff matrix
Action of A \ Action of B Cooperate DefectCooperate +5 −10Defect +10 0
![Page 64: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/64.jpg)
Problem encoding
Suppose that the memory of each player is one previous move.E.g., player A cooperated and player B defected becomes: CD.
The strategy is defined with a move for each possible pastmove. E.g.:
If CC then CIf CD then DIf DC then CIf DD then D
→ the string is CDCD
![Page 65: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/65.jpg)
Classifier Systems
Systems composed of rules like
IF [conditions] THEN [actions]
IF (sensor1 is active) THEN (move)IF (sensor3 is inactive and sensor4 is active) THEN (stop)IF (sensor4 is inactive) THEN (turn right)
Rules are usually coded as bitstrings and evolved by means ofusual application of EC operators.
![Page 66: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/66.jpg)
Classifier Systems
MESSAGES
REINFORCE
ACTIONS
ENVIRONMENT
CLASSIFIER
SYSTEM
![Page 67: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/67.jpg)
Classifier Systems
![Page 68: Evolutionary Computation - unibo.itlia.deis.unibo.it/.../lucidi/seminari/roli/evolutionary_computation.pdfEvolutionary Computation Inspiring principle: theory of natural selection](https://reader033.fdocuments.in/reader033/viewer/2022060213/5f0550d17e708231d4125b93/html5/thumbnails/68.jpg)
Some references
• M.Mitchell. Genetic Algorithms. MIT Press, 1999.
• Z.Michalewicz. Genetic Algorithms + Data Structures =Evolution Programs, Springer, 1992.
• D.E.Golberg. Genetic Algorithms in Search, Optimizationand Machine Learning. Addison-Wesley, 1989.
• W.B.Langdon, R.Poli. Foundations of GeneticProgramming. Springer, 2001.