Evolutionary Evolutionary
Algorithms Algorithms
Andrea G. B. Tettamanzi
Contents of the Lectures
• Taxonomy and History;
• Evolutionary Algorithms basics;
• Theoretical Background;
• Outline of the various techniques: plain genetic algorithms, evolutionary programming, evolution strategies, genetic programming;
• Practical implementation issues;
• Evolutionary algorithms and soft computing;
• Selected applications from the biological and medical area;
• Summary and Conclusions.
Bibliography
Th. Bäck. Evolutionary Algorithms in Theory and Practice. Oxford University Press, 1996
L. Davis. The Handbook of Genetic Algorithms. Van Nostrand &
Reinhold, 1991
D.B. Fogel. Evolutionary Computation. IEEE Press, 1995
D.E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, 1989
J. Koza. Genetic Programming. MIT Press, 1992
Z. Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Springer Verlag, 3rd ed., 1996
H.-P. Schwefel. Evolution and Optimum Seeking. Wiley & Sons, 1995
J. Holland. Adaptation in Natural and Artificial Systems. MIT Press 1995
Taxonomy
(1)Genetic Algorithms
Evolutionary Algorithms
Evolutionary Programming
Evolution Strategies
Genetic Programming
Simulated Annealing
Taboo Search
Monte Carlo methods
Stochastic optimization methods
Taxonomy
(2)Distinctive features of Evolutionary Algorithms:
• operate on appropriate encoding of solutions;
• population search;
• no regularity conditions requested;
• probabilistic transitions.
History
(1)I. Rechenberg, H.-P. Schwefel TU Berlin, ‘60s
John H. Holland University of Michigan, L. Fogel
John Koza
Stanford University
‘80s
History
(2)1859 Charles Darwin: inheritance, variation, natural selection 1957 G. E. P. Box: random mutation & selection for optimization 1958 Fraser, Bremermann: computer simulation of evolution 1964 Rechenberg, Schwefel: mutation & selection
1966 Fogel et al.: evolving automata - “evolutionary programming”
1975 Holland: crossover, mutation & selection - “reproductive plan”
1975 De Jong: parameter optimization - “genetic algorithm”
1989 Goldberg: first textbook 1991 Davis: first handbook
1993 Koza: evolving LISP programs - “genetic programming”
Evolutionary Algorithms Basics
• what an EA is (the Metaphor)
• object problem and fitness
• the Ingredients
• schemata
• implicit parallelism
• the Schema Theorem
• the building blocks hypothesis
• deception
The Metaphor
Environment Object problem Individual
Fitness
Candidate solution Quality
EVOLUTION PROBLEM SOLVING
Object problem and Fitness
genotype solution
M
c S
c S :
min ( )
R s s
s
f
fitness
The Ingredients
t t + 1
mutation
recombination reproduction
selection
The Evolutionary Cycle
Recombination
Mutation
Population
Offspring Parents
Selection
Replacement
Reproduction
Pseudocode
generation = 0;
SeedPopulation(popSize); // at random or from a file while(!TerminationCondition())
{
generation = generation + 1;
CalculateFitness(); // ... of new genotypes
Selection(); // select genotypes that will reproduce Crossover(pcross); // mate pcross of them on average
Mutation(pmut); // mutate all the offspring with Bernoulli // probability pmut over genes
}
A Sample Genetic Algorithm
• The MAXONE problem
• Genotypes are bit strings
• Fitness-proportionate selection
• One-point crossover
• Flip mutation (transcription error)
The MAXONE Problem
Problem instance: a string of l binary cells,
l:
Objective: maximize the number of ones in the string.
f i
i l
( )
1
Fitness:
Fitness Proportionate Selection
Implementation: “Roulette Wheel”
P f
( ) ( ) f
Probability of
being selected:2 f f
( )
One Point Crossover
0 0
0 0
0 1 1 1 1 1
0 1
1 0
1 1 0 0 1 0
crossover point
0 1
0 0
0 1 0 0 1 0
0 0
1 0
1 1 1 1 1 1
parents offspring
Mutation
1 1
1 0
1 1 0 0 1 0
pmut
0 1
1 0
1 1 1 0 1 0
independent Bernoulli transcription errors
Example: Selection
0111011011 f = 7 Cf = 7 P = 0.125 1011011101 f = 7 Cf = 14 P = 0.125 1101100010 f = 5 Cf = 19 P = 0.089 0100101100 f = 4 Cf = 23 P = 0.071 1100110011 f = 6 Cf = 29 P = 0.107 1111001000 f = 5 Cf = 34 P = 0.089 0110001010 f = 4 Cf = 38 P = 0.071 1101011011 f = 7 Cf = 45 P = 0.125 0110110000 f = 4 Cf = 49 P = 0.071 0011111101 f = 7 Cf = 56 P = 0.125
Random sequence: 43, 1, 19, 35, 15, 22, 24, 38, 44, 2
Example: Recombination & Mutation
0111011011 0111011011 0111111011 f = 8 0111011011 0111011011 0111011011 f = 7 110|1100010 1100101100 1100101100 f = 5 010|0101100 0101100010 0101100010 f = 4 1|100110011 1100110011 1100110011 f = 6 1|100110011 1100110011 1000110011 f = 5 0110001010 0110001010 0110001010 f = 4 1101011011 1101011011 1101011011 f = 7 011000|1010 0110001011 0110001011 f = 5 110101|1011 1101011010 1101011010 f = 6
TOTAL = 57
Schemata
Don’t care symbol:
1 0 1
a schema S matches 2l - o(S) strings
a string of length l is matched by 2l schemata order of a schema: o(S) = # fixed positions
defining length
(S) = distance between first and last fixed positionImplicit Parallelism
In a population of n individuals of length l 2l # schemata processed n2l
n3 of which are processed usefully (Holland 1989) (i.e. are not disrupted by crossover and mutation)
But see Bertoni & Dorigo (1993)
“Implicit Parallelism in Genetic Algorithms”
Artificial Intelligence 61(2), p. 307314
Fitness of a schema
f S x q S q f
x
S x
( ) ( ) ( ) ( )
1
f(
): fitness of string
qx(
): fraction of strings equal to
in population xqx(S): fraction of strings matched by S in population x
The Schema Theorem
{Xt}t=0,1,... populations at times t
f S f X
f X c
X t
t
t
( ) ( )
( )
E q S X q S c p S
l o S p
X X
t
cross mut
t
[
t( )| ] ( )( ) ( )
0 0
1 1 ( )
1
suppose that is constant
i.e. above-average individuals increase exponentially!
The Schema Theorem (proof)
E q S X q S f S
f X P S q S c P S
X t X
X t
surv X surv
t t
t
[ ( )| ] ( ) ( ) t
( ) [ ] ( )( ) [ ]
1
1 1
1
1 1
P S p S
l p o S
surv[ ] cross ( ) mut
( )
1 1
The Building Blocks Hypothesis
‘‘An evolutionary algorithm seeks near-optimal performance through the juxtaposition of short, low-order, high-performance
schemata — the building blocks’’
Deception
i.e. when the building block hypothesis does not hold:
* S
butf S ( ) f S ( )
for some schema S, Example:
* = 1111111111S1 = 111*******
S2 = ********11 S = 111*****11 S = 000*****00
Remedies to deception
Prior knowledge of the objective function
Non-deceptive encoding Inversion
Semantics of genes not positional
“Messy Genetic Algorithms”
Underspecification & overspecification
Theoretical Background
• Theory of random processes;
• Convergence in probability;
• Open question: rate of convergence.
Events
Sample space
A
B D
Random Variables
)
0( X
X X : R
Stochastic Processes
X
t( )
t0 1, ,A sequence of r.v.’s
, , ,
, 2
1 X X t
X
Each with its own probability distribution.
Notation:
EAs as Random Processes
a sample of size n
x
( )n , 2
,
probability space , , F P X
t( )
t , , 0 1 , 2
,
“random numbers” trajectory
evolutionary process
Markov Chains
X
t( )
t , , 0 1A stochastic process
Is a Markov chain iff, for all
t
,P X [
t x X X |
0,
1, , X
t1] P X [
t x X |
t1]
A B C
0.4 0.6
0.3
0.7
0.25
0.75
Abstract Evolutionary Algorithm
select: (n)
cross:
mutate:
mate:
insert:
Xt
Xt+1 select
select
cross mate
insert mutate
Stochastic functions:
X
t1( ) T
t( ) X
t( )
Transition function:
Convergence to Optimum
Theorem: if {Xt()}t = 0, 1, ... ismonotone, homogeneous, x0 is given, y in reach(x0) (n)O reachable, then
lim [
( )| ] .
t t O
P X
nX x
0
0 1
Theorem: if select, mutate are generous, the neighborhood
structure is connective, transition functions Tt(), t = 0, 1, ... are i.i.d.
and elitist, then
lim [
( )] .
t t O
P X
n
1
Outline of various techniques
• Plain Genetic Algorithms
• Evolutionary Programming
• Evolution Strategies
• Genetic Programming
Plain Genetic Algorithms
• Individuals are bit strings
• Mutation as transcription error
• Recombination is crossover
• Fitness proportionate selection
Evolutionary Programming
• Individuals are finite-state automata
• Used to solve prediction tasks
• State-transition table modified by uniform random mutation
• No recombination
• Fitness depends on the number of correct predictions
• Truncation selection
Evolutionary Programming: Individuals
Finite-state automaton: (Q, q0, A, , )
• set of states Q;
• initial state q0;
• set of accepting states A;
• alphabet of symbols ;
• transition function : Q Q;
• output mapping function : Q ;
q0 q1 q2
a b c
state input
q0
q
q0
q1 q1
q1
q
q2
q q1
q0
q2 b/c c/b
a/b c/c
a/b
b/c a/a
c/a b/a
a
c c
c a
a b
b b
Evolutionary Programming: Fitness
a b c a b c a b
b =? no
yes
f(
) = f(
) + 1 individual
prediction
Evolutionary Programming: Selection
Variant of stochastic q-tournament selection:
1
2
q... score(
) = #{
i | f(
) > f(
i) }Order individuals by decreasing score Select first half (Truncation selection)
Evolution Strategies
• Individuals are n-dimensional vectors of reals
• Fitness is the objective function
• Mutation distribution can be part of the genotype
(standard deviations and covariances evolve with solutions)
• Multi-parent recombination
• Deterministic selection (truncation selection)
Evolution Strategies: Individuals
candidate solution
rotation angles
standard deviations
a
x
ij
i
j i j
1
2
2
2 2
arctan cov( , )
Evolution Strategies: Mutation
i i i
j j j
N N
N
x x N
exp( ( , ) ( , )) ( , )
( , , )
0 1 0 1
0 1
0
Hans-Paul Schwefel suggests:
2 2
0 0873 5
1
1
n n .
self-adaptation
Genetic Programming
• Program induction
• LISP (historically), math expressions, machine language, ...
• Applications:
– optimal control;
– planning;
– sequence induction;
– symbolic regression;
– modelling and forecasting;
– symbolic integration and differentiation;
– inverse problems
Genetic Programming: The Individuals
subset of LISP S-expressions
(OR (AND (NOT d0) (NOT d1)) (AND d0 d1)) OR
AND NOT
d0
NOT d1
AND
d0 d1
Genetic Programming: Initialization
OR AND
NOT d0
NOT d1
AND
d0 d1
OR
OR AND
OR
AND AND
OR
AND AND
NOT
Genetic Programming: Crossover
OR
AND NOT
d0 d0 d1
OR
OR AND
d1 NOT NOT NOT
d0 d0 d1
OR
AND NOT
d0 d1 d0
OR AND OR
d1 NOT
NOT NOT
d0 d1 d0
Genetic Programming: Other Operators
• Mutation: replace a terminal with a subtree
• Permutation: change the order of arguments to a function
• Editing: simplify S-expressions, e.g. (AND X X) X
• Encapsulation: define a new function using a subtree
• Decimation: throw away most of the population
Genetic Programming: Fitness
Fitness cases: j = 1, ..., Ne
“Raw” fitness:
“Standardized” fitness: s(
) [0, +
)“Adjusted” fitness:
r j C j
j Ne
( ) Output( , ) ( )
1a( ) s
( )
1 1
Sample Application: Myoelectric Prosthesis Control
• Control of an upper arm prosthesis
• Genetic Programming application
• Recognize thumb flection, extension and abduction patterns
Prosthesis Control: The Context
human arm
myoelectric signals
measure
raw myo-measurements
preprocess
myo-signal features
deduce intentions
map into goal
human motion robot motion
convert
actuator commands
robot arm
150 ms
2 electrodes
Prosthesis Control: Terminals
Features for electrodes 1, 2:
• Mean absolute value (MAV)
• Mean absolute value slope (MAVS)
• Number of zero crossings (ZC)
• Number of slope sign changes (SC)
• Waveform length (LEN)
• Average value (AVG)
• Up slope (UP)
• Down slope (DOWN)
• MAV1/MAV2, MAV2/MAV1
• 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 0.01, -1.0
Prosthesis Control: Function Set
Addition x + y
Subtraction x - y
Multiplication x * y
Division x / y (protected for y=0)
Square root sqrt(|x|)
Sine sin x
Cosine cos x
Tangent tan x (protected for x=/2)
Natural logarithm ln |x| (protected for x=0) Common logarithm log |x| (protected for x=0)
Exponential exp x
Power function x ^ y
Reciprocal 1/x (protected for x=0)
Absolute value |x|
Integer or truncate int(x)
Sign sign(x)
Prosthesis Control: Fitness
type 1 undefined type 2 undefined type 3 undefined
r( ) abduction extension flexion min abduction extension , abduction flexion , extension flexion
100
separation spread
22 signals per motion
result
Myoelectric Prosthesis Control Reference
• Jaime J. Fernandez, Kristin A. Farry and John B. Cheatham.
“Waveform Recognition Using Genetic Programming: The Myoelectric Signal Recognition Problem. GP ‘96, The MIT Press, pp. 63–71
Classifier Systems
(Michigan approach)IF X = A AND Y = B THEN Z = D
individual:
IF ... THEN ...
IF ... THEN ...
IF ... THEN ...
IF ... THEN ...
IF ... THEN ...
IF ... THEN ...
IF ... THEN ...
IF ... THEN ...
IF ... THEN ...
f e f r n n
p f n n
n
n n
1
1
( ) ( 1 ) ( ) ( ) class( ) ( ) ( ) ( ) class( )
r ( 1 gN R
)
where
number of attributes in antecedent part
Practical Implementation Issues
• from elegant academia to not so elegant but robust and efficient real-world applications, evolution programs
• handling constraints
• hybridization
• parallel and distributed algorithms
Evolution Programs
Slogan:
Genetic Algorithms + Data Structures = Evolution Programs
Key ideas:
• use a data structure as close as possible to object problem
• write appropriate genetic operators
• ensure that all genotypes correspond to feasible solutions
• ensure that genetic operators preserve feasibility
Encodings: “Pie” Problems
W X Y Z
0–255
128 32 90 20
0–255 0–255 0–255
W X Y Z
X = 32/270 = 11.85%
Encodings: “Permutation” Problems
Adjacency Representation
Ordinal Representation (2, 4, 8, 3, 9, 7, 1, 5, 6)
(1, 1, 2, 1, 4, 1, 3, 1, 1) Path Representation
(1, 2, 4, 3, 8, 5, 9, 6, 7)
Matrix Representation
1
0 1
0 0
0 0
0 0
0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1
0 0 0 0 0 1 1 0 1 0
0
0 0 0 0 0 0
0 0 0 0 0 0 0
Sorting Representation
(-23, -6, 2, 0, 19, 32, 85, 11, 25)
Handling Constraints
• Penalty functions
Risk of spending most of the time evaluating unfeasible solutions, sticking with the first feasible solution found, or finding an unfeasible solution that scores better of feasible solutions
• Decoders or repair algorithms
Computationally intensive, tailored to the particular application
• Appropriate data structures and specialized genetic operators
All possible genotypes encode for feasible solutions
Penalty Functions
S c
P
f ( ) Eval( ( )) c z P z ( )
P z ( ) w t ( ) w
i
i( ) z
Decoders / Repair Algorithms
S c
recombination
mutation
Hybridization
2) Use local optimization algorithms as genetic operators (Lamarckian mutation)
1) Seed the population with solutions provided by some heuristics heuristics initial population
3) Encode parameters of a heuristics
genotype heuristics candidate solution
Sample Application: Unit Commitment
• Multiobjective optimization problem: cost VS emission
• Many linear and non-linear constraints
• Traditionally approached with dynamic programming
• Hybrid evolutionary/knowledge-based approach
• A flexible decision support system for planners
• Solution time increases linearly with the problem size
The Unit Commitment Problem
C P
i( )
i a b P c P
i i i
i i2
z C Pi i SUi SD HSi i
i n
$ ( )
1zE E Pi i
i n
( ) 1E Pij( )i ij ij iP ij iP2 E Pi i E Pij i
j m
( ) ( )
1Emissions Cost
Predicted Load Curve
0 5 10 15 20 25 30 35 40 45
Spinning Reserve Load
Unit Commitment: Constraints
• Power balance requirement
• Spinning reserve requirement
• Unit maximum and minimum output limits
• Unit minimum up and down times
• Power rate limits
• Unit initial conditions
• Unit status restrictions
• Plant crew constraints
• ...
Unit Commitment: Encoding
Unit 1 Unit 2 Unit 3 Unit 4 Time
1.0 00:00
01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 1.0
1.0
1.0 1.0
1.0 1.0
1.0 1.0 1.0
1.0 1.0 1.0
0.9
0.8
0.8 0.8 0.8
0.4 0.8
0.8
0.75 0.8 0.2
0.2
0.25 0.2
0.2 0.15 0.0
0.0
0.0 0.0
0.0 0.0
0.5 0.65
0.5 0.5
1.0
Fuzzy Knowledge
Base
Unit Commitment: Solution
Unit 1 Unit 2 Unit 3 Unit 4 Time 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00
down
hot-stand-by starting
shutting down up
Unit Commitment: Selection
cost ($)
emission
$507,762 $516,511
213,489 £ 60,080 £
competitive selection:
Unit Commitment References
• D. Srinivasan, A. Tettamanzi. “An Integrated Framework for Devising Optimum Generation Schedules”. In Proceedings of the 1995 IEEE International Conference on Evolutionary
Computing (ICEC ‘95), vol. 1, pp. 1-4.
• D. Srinivasan, A. Tettamanzi. A Heuristic-Guided Evolutionary Approach to Multiobjective Generation Scheduling. IEE
Proceedings Part C - Generation, Transmission, and Distribution, 143(6):553-559, November 1996.
• D. Srinivasan, A. Tettamanzi. An Evolutionary Algorithm for
Evauation of Emission Compliance Options in View of the Clean Air Act Amendments. IEEE Transactions on Power Systems, 12(1):336-341, February 1997.
Parallel Evolutionary Algorithms
• Algoritmo evolutivo standard enunciato come sequenziale...
• … ma gli algoritmi evolutivi sono intrinsecamente paralleli
• Vari modelli:
– algoritmo evolutivo cellulare
– algoritmo evolutivo parallelo a grana fine (griglia) – algoritmo evolutivo parallelo a grana grossa (isole)
– algoritmo evolutivo sequenziale con calcolo della fitness parallelo (master - slave)
Terminology
• Panmictic
• Apomictic
Island Model
Selected Applications in Biology and Medical Science
• the protein folding problem, i.e. determining the tertiary structure of proteins using evolutionary algorithms;
• quantitative structure-activity relationship modeling for drug design;
• applications to medical diagnosis, like electroencephalogram (EEG) classification and automatic feature detection in medical imagery (PET, CAT, NMR, X-RAY, etc.);
• applications to radiotherapy treatment planning;
• applications to myoelectric prosthesis control.
Sample Application: Protein Folding
• Finding 3-D geometry of a protein to understand its functionality
• Very difficult: one of the “grand challenge problems”
• Standard GA approach
• Simplified protein model
Protein Folding: The Problem
• Much of a proteins function may be derived from its conformation (3-D geometry or “tertiary” structure).
• Magnetic resonance & X-ray crystallography are currently used to view the conformation of a protein:
– expensive in terms of equipment, computation and time;
– require isolation, purification and crystallization of protein.
• Prediction of the final folded conformation of a protein chain has been shown to be NP-hard.
• Current approaches:
– molecular dynamics modelling (brute force simulation);
– statistical prediction;
– hill-climbing search techniques (simulated annealing).
Protein Folding: Simplified Model
• 90° lattice (6 degrees of freedom at each point);
• Peptides occupy intersections;
• No side chains;
• Hydrophobic or hydrophilic (no relative strengths) amino acids;
• Only hydrophobic/hydrophilic forces considered;
• Adjacency considered only in cardinal directions;
• Cross-chain hydrophobic contacts are the basis for evaluation.
Protein Folding: Representation
preference order encoding:
relative move encoding:
UP DOWN FORWARD LEFT UP RIGHT
UP
LEFT
RIGHT
DOWN
FORWARD
DOWN
LEFT
UP
FORWARD
RIGHT
FORWARD
UP
DOWN
LEFT
RIGHT
LEFT
DOWN
FORWARD
UP
RIGHT
...
...
Protein Folding: Fitness
Decode: plot the course encoded by the genotype.
Test each occupied cell:
• any collisions: -2;
• no collisions AND a hydrophobe in an adjacent cell: 1.
Notes:
• for each contact: +2;
• adjacent hydrophobes not discounted in the scoring;
• multiple collisions (>1 peptides in one cell): -2;
• hydrophobe collisions imply an additional penalty (no contacts are scored).
Protein Folding: Experiments
• Preference ordering encoding;
• Two-point crossover with a rate of 95%;
• Bit mutation with a rate of 0.1%;
• Population size: 1000 individuals;
• crowding and incest reduction.
• Test sequences with known minimum configuration;
Protein Folding References
• S. Schulze-Kremer. “Genetic Algorithms for Protein Tertiary Structure Prediction”. PPSN 2, North-Holland 1992.
• R. Unger and J. Moult. “A Genetic Algorithm for 3D Protein Folding Simulations”. ICGA-5, 1993, pp. 581–588.
• Arnold L. Patton, W. F. Punch III and E. D. Goodman. “A Standard GA Approach to Native Protein Conformation Prediction”. ICGA 6, 1995, pp. 574–581.
Sample Application: Drug Design
Purpose: given a chemical specification (activity), design a tertiary structure complying with it.
Requirement: a quantitative structure-activity relationship model.
Example: design ligands that can bind targets specifically and selectively. Complementary peptides.
Drug Design: Implementation
N L H A F G L F K A amino acid (residue)
individual
• name
• hydropathic value
Operators:
• Hill-climbing Crossover
• Hill-climbing Mutation
• Reordering (no selection)
implicit selection
Drug Design: Fitness
target a complement b
moving average hydropathy
a
kh
ii k s k s
b
kg
ii k s k s
hydropathy of residues
k s, ..., n s n
: number of residues in targetQ a b
n s
i i
i
( 2 )
2 (lowerQ
= better complementarity)Drug Design: Results
0 2 4 6 8 10 12 14 16
-6 -4 -2 0 2 4
Sequence:FANSGNVYFGIIAL Fassina GA Target Hydropathic
Value
AminoAcid
Drug Design References
• T. S. Lim. A Genetic Algorithms Approach for Drug Design. MS Dissertation, Oxford University, Computing Laboratory, 1995.
• A. L. Parrill. Evolutionary and Genetic Methods in Drug Design.
Drug Discovery Today, Vol. 1, No. 12, Dec 1996, pp. 514–521.
Sample Application: Medical Diagnosis
• Classifier Systems application
• Learning by examples
• Lymphography
– 148 examples, 18 attributes, 4 diagnoses
– estimated performance of a human expert: 85% correct
• Prognosis of breast cancer recurrence
– 288 examples, 10 attributes, 2 diagnoses – performance of human expert unknown
• Location of primary tumor
– 339 examples, 17 attributes, 22 diagnoses
– estimated performance of a human expert: 42% correct
Medical Diagnosis Results
• Performance indistiguishable from humans
• Performance for breast cancer: about 75%
• In primary tumor, patients with identical symptoms have different diagnoses
• Symbolic (= comprehensible) diagnosis rules
Medical Diagnosis References
• Pierre Bonelli, Alexandre Parodi, “An Efficient Classifier System and its Experimental Comparison with two Representative learning methods on three medical domains”. ICGA 4, pp. 288–295.
• Tod A. Sedbrook, Haviland Wright, Richard Wright. “Application of a Genetic Classifier for Patient Triage”. ICGA 4, pp. 334–338.
• H. F. Gray, R. J. Maxwell, I. Martínez-Perez, C. Arús, S. Cerdán.
“Genetic Programming Classification of Magnetic Resonance Data”. GP
‘96, p. 424.
• Alejandro Pazos, Julian Dorado, Antonio Santos. “Detection of Patterns in Radiographs using ANN Designed and Trained with GA”. GP ‘96, p.
432.
Sample Application: Radiotherapy Treatment Planning
• X-rays or electron beams for cancer treatment
• Conformal therapy: uniform dose over cancerous regions, spare healthy tissues
• Constrained optimization, inverse problem
• From dose specification to beam intensities
• Constraints:
– beam intensities are positive
– rate of intensity change is limited
• Conflicting objectives: Pareto-optimal set of solutions
RTP: The Problem
plane of interest
tretment area
organ at risk
head x
y
z beam
TA: dose delivered to treatment area OAR: dose delivered to
organs at risk
OHT: dose delivered to other healty
tissues
TA = 100%
OAR < 20%
OHT < 30%
RTP: Fitness and Solutions
|TA - TA*|
|OAR - OAR*|
A
B C
Pareto optimal set
Radiotherapy Treatment Planning References
• O. C. L. Haas, K. J. Burnham, M. H. Fisher, J. A. Mills. “Genetic Algorithm Applied to Radiotherapy Treatment Planning”.
ICANNGA ‘95, pp. 432–435.
Evolutionary Algorithms and Soft Computing
EAs
FL NNs
optimization optimization
monitoring fitness
SC
Soft Computing
• Tolerant of imprecision, uncertainty, and partial truth
• Adaptive
• Methodologies:
– Evolutionary Algorithms – Neural Networks
– Bayesian and Probabilistic Networks – Fuzzy Logic
– Rough Sets
• Bio-inspired: Natural Computing
• A Scientific Discipline?
• Methodologies co-operate, do not compete (synergy)synergy
Artificial Neural Networks
axon dendritis
synapsis
x
1x
2x
w
1w
2w
y
Fuzzy Logic
1
0
EAs
FL NNs
optimization
fitness
Neural Network Design and Optimization
• Evolving weights for a network of predefined structure
• Evolving network structure
– direct encoding – indirect encoding
• Evolving learning rules
• Input data selection
Evoluzione dei pesi (struttura predefinita)
0.2 -0.3
0.6 0.7
-0.5 0.4
(0.2, -0.3, 0.6, -0.5, 0.4, 0.7)
Evolving the Structure: Direct Encoding
6
4 5
1 2 3
1 2 3 4 5 6
1 0 0 0 1 1 0
2 0 0 0 1 0 1
3 0 0 0 0 1 0
4 0 0 0 0 0 1
5 0 0 0 0 0 1
6 0 0 0 0 0 0
Evoluzione pesi e struttura feed-forward codifica diretta
(3, 2, 3)
3x3 3x2 2x3 3x1
W0 W1 W2 W3
Evoluzione pesi e struttura feed-forward codifica diretta
• Operatore di mutazione:
– rimozione neurone: elimina colonna in Wi - 1, riga in Wi; – duplicazione neurone: copia colonna in Wi - 1, riga in Wi; – rimozione di un layer con un solo neurone: WTi - 1 Wi; – duplicazione di un layer: inserisci matrice identità;
• Operatore di semplificazione:
– rimuovi neuroni con riga in Wi di norma < ;
• Operatore di incrocio:
– scegli due punti di incrocio nei genitori;
– scambia le code;
– collega i pezzi con nuova matrice di pesi casuale
Structure Evolution: Direct Encoding
1 1
1 , 1
1 0
1 , 0
1 0
0 , 1
1 0
0 , 0
0 0
0 0
, ,
,
e d
c b
a
b a
a D a
a a
a C a
e a
a B a
c a
d A c
D C
B S A
Graph-generating Grammar
(S: A, B, C, D || A: c, d, a, c || B: a, a, a, e || C: a, a, a, a || ... )
EAs
FL NNs
optimization
SC
monitoring
Evolutionary Algorithms and Fuzzy Logic
Evolutionary Algorithm
Fuzzy Sistem
Fuzzy Government
fuzzy fitness fuzzy operators
1 2
3
• Representation
• Genetic operators
• Selection mechanism
• Example: Learning fuzzy classifiers
Fuzzy System Design and Optimization
Fuzzy Rule-Based Systems
totally overlapping membership functions
10011000 11011010
membership function genesc
1c
2c
3c
400001010
max = NdomNinput * Noutput rule genes of value (0 ... Ndom)input output
FA
1FA
2FA
3FA
1FA
2FA
3R
1R
2. . . R
maxgenotype
rules
Representation of a Fuzzy Rulebase
Input
membership functions
Output MFs
Rules
IF x is A AND v is B THEN F is C
IF a is D THEN F is E
IF is G AND x is H THEN F is C
A richer representation
Initialization
Input variables
Output variables
Rules
no. domains = 1 + exponential(3)
min C max
no. domains = 2 + exponential(3)
no. rules = 2 + exponential(6)
IF is AND is AND is AND is THEN is
for each input variable, flip a coin to decide whether to include
a b c d
Recombination
IF x is A AND v is B THEN F is C
something else something else IF true THEN F is K
something else IF a is D THEN F is E
IF is G AND x is H THEN F is C
something else
IF x is A AND v is B THEN F is C
IF a is D THEN F is E
IF is G AND x is H THEN F
A rule takes with it all the referred domains
with their MFs
Mutation
• {add, remove, change} domain to {input, output} variable;
• {duplicate, remove} a rule;
• change a rule:
{add, remove, change} a clause in the {antecedent, consequent}
input MF perturbation:
a b c d
Esempio: “Learning fuzzy classifiers”
Presentazione di
PowerPoint
• Motivation:
– EAs easy to implement
– little specific knowledge required – long computing time
• Features:
– complex dynamics – non-binary conditions
– “intuitive” knowledge available
Controlling the Evolutionary Process
ALGORITHM
statistics visualization
KNOWLEDGE
Knowledge Acquisition
• Fuzzy fitness (objective function)
• Fuzzy encoding
• Fuzzy operators
– recombination – mutation
• Population Statistics
Fuzzfying Evolutionary Algorithms
• Faster calculation
• Less precision
• Specific Selection
Fuzzy Fitness
“Fuzzy rulebase for the dynamic control of an evolutionary algorithm”
Population
S ta tis tic s
P ar am et er s
If D(Xt) is LOW then pmut is HIGH
If f (Xt) is LOW and D(Xt) is HIGH then Emerg is NO . . .
Fuzzy Government
EAs
FL NNs
integration
Neuro-Fuzzy Systems
• Fuzzy Neural Networks
– fuzzy neurons (OR, AND, OR/AND)
– learning algorithms (backpropagation-style) – NEFPROX
– ANFIS
• Co-operative Neuro-Fuzzy Systems
– Adaptive FAMs: differential competitive learning – Self-Organizing Feature Maps
– Fuzzy ART and Fuzzy ARTMAP
Fuzzy Neural Networks
AND
x
1x
2x
nw
11w
12w
1nOR y
AND
1
w
m 2w
mw
mnv
1v
mFAM Systems
x
fuzz defuzzy
) ( A
1 B
1) ( A
k B
k)
( A
2 B
2EAs
FL NNs
optimization optimization
monitoring fitness
SC
integration
A. Tettamanzi, M. Tomassini. Soft Computing. Springer-Verlag 2001