soft computing evolutionary computing
DESCRIPTION
SOFT COMPUTING Evolutionary Computing. EC. What is a GA?. GAs are adaptive heuristic search algorithm based on the evolutionary ideas of natural selection and genetics. As such they represent an intelligent exploitation of a random search used to solve optimization problems. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/1.jpg)
11
SOFT COMPUTINGEvolutionary Computing
![Page 2: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/2.jpg)
What is a GA? GAs are adaptive heuristic search algorithm based on the
evolutionary ideas of natural selection and genetics.
As such they represent an intelligent exploitation of a random search used to solve optimization problems.
Although randomized, GAs are by no means random, instead they exploit historical information to direct the search into the region of better performance within the search space.
![Page 3: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/3.jpg)
What is a GA? The basic techniques of the GAs are designed to simulate
processes in natural systems necessary for evolution, specially those follow the principles first laid down by Charles Darwin of "survival of the fittest.".
Since in nature, competition among individuals for scanty resources results in the fittest individuals dominating over the weaker ones.
![Page 4: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/4.jpg)
Evolutionary Algorithms
Genetic Programming
Evolution Strategies
Genetic Algorithms
EvolutionaryProgramming
Classifier Systems
• genetic representation of candidate solutions• genetic operators• selection scheme• problem domain
![Page 5: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/5.jpg)
History of GAs Genetic Algorithms were invented to mimic some of the
processes observed in natural evolution. Many people, biologists included, are astonished that life at the level of complexity that we observe could have evolved in the relatively short time suggested by the fossil record.
The idea with GA is to use this power of evolution to solve optimization problems. The father of the original Genetic Algorithm was John Holland who invented it in the early 1970's.
![Page 6: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/6.jpg)
Classes of Search Techniques
F inon acc i N ew ton
D irect m ethods Indirec t m ethods
C alcu lus-based tech n iqu es
Evolu tionary s trategies
C e ntra l ized D is tr ibuted
Paral le l
S tea dy-s tate G enerationa l
S equ entia l
G ene tic a lgor ithm s
E volu tiona ry a lgori thm s S im u lated annealing
G uided rand om search techniques
D ynam ic program m ing
E num erative techn iques
S earch te chniques
Tabu Search Hill Climbing
DFS, BFS
Genetic Programming
![Page 7: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/7.jpg)
Early History of EAs 1954: Barricelli creates computer simulation of life – Artificial Life 1957: Box develops Evolutionary Operation (EVOP), a non-computerised
evolutionary process 1957: Fraser develops first Genetic Algorithm 1958: Friedberg creates a learning machine through evolving computer
programs 1960s, Rechenverg: evolution strategies
a method used to optimize real-valued parameters for devices 1960s, Fogel, Owens, and Walsh: evolutionary programming
to find finite-state machines 1960s, John Holland: Genetic Algorithms
to study the phenomenon of adaptation as it occurs in nature (not to solve specific problems)
1965: Rechenberg & Schwefel independently develop Evolution Strategies 1966: L. Fogel develops Evolutionary Programming as a means of creating
artificial intelligence 1967: Holland and his students extend GA ideas further
![Page 8: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/8.jpg)
The Genetic Algorithm Directed search algorithms based on the mechanics of
biological evolution Developed by John Holland, University of Michigan (1970’s)
To understand the adaptive processes of natural systems To design artificial systems software that retains the
robustness of natural systems
The genetic algorithms, first proposed by Holland (1975), seek to mimic some of the natural evolution and selection.
The first step of Holland’s genetic algorithm is to represent a legal solution of a problem by a string of genes known as a chromosome.
![Page 9: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/9.jpg)
Evolutionary Programming First developed by Lawrence Fogel in 1966 for use in
pattern learning Early experiments dealt with a number of Finite State
Automata FSA were developed that could recognise recurring
patterns and even primeness of numbers Later experiments dealt with gaming problems
(coevolution) More recently has been applied to training of neural
networks, function optimisation & path planning problems
![Page 10: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/10.jpg)
Biological Terminology• gene
• functional entity that codes for a specific feature e.g. eye color• set of possible alleles
• allele• value of a gene e.g. blue, green, brown• codes for a specific variation of the gene/feature
• locus• position of a gene on the chromosome
• genome• set of all genes that define a species• the genome of a specific individual is called genotype• the genome of a living organism is composed of several chromosomes
• population• set of competing genomes/individuals
![Page 11: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/11.jpg)
Genotype versus Phenotype• genotype
• blue print that contains the information to construct an organism e.g. human DNA• genetic operators such as mutation and recombination modify the genotype during reproduction• genotype of an individual is immutable
(no Lamarckian evolution)
• phenotype• physical make-up of an organism• selection operates on phenotypes (Darwin’s principle : “survival of the fittest”)
![Page 12: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/12.jpg)
Courtesy of U.S. Department of Energy Human Genome Program , http://www.ornl.gov/hgmis
![Page 13: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/13.jpg)
Genotype Operators• recombination (crossover)
• combines two parent genotypes into a new offspring• generates new variants by mixing existing genetic material• stochastic selection among parent genes
• mutation• random alteration of genes• maintain genetic diversity
• in genetic algorithms crossover is the major operator whereas mutation only plays a minor role
![Page 14: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/14.jpg)
Crossover• crossover applied to parent strings with probability pc : [0.6..1.0]• crossover site chosen randomly• one-point crossover
parent Aparent B
1 1 0 1 01 0 0 0 1
offspring Aoffspring B
1 1 0 1 1
1 0 0 0 0
• two-point crossoverparent Aparent B
1 1 0 1 01 0 0 0 1
offspring Aoffspring B
1 1 0 0
1 0 0 1
0
1
![Page 15: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/15.jpg)
Mutation
• mutation applied to allele/gene with probability Pm : [0.001..0.1]• role of mutation is to maintain genetic diversity
offspring: 1 1 0 0 0
Mutate fourth allele (bit flip)
1 1 0 0 01mutated offspring:
![Page 16: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/16.jpg)
recombination
10001
01011
10011
01001
mutation
x
f
phenotype space
Structure of an Evolutionary Algorithm
00111 11001
10001
01011
population of genotypes
coding scheme
fitness
selection
11001
10001
0101110001
10111
01001
10
01
001
011
10
01 001
01110011
01001
![Page 17: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/17.jpg)
Pseudo Code of an Evolutionary Alg.Create initial random population
Evaluate fitness of each individual
Termination criteria satisfied ?
Select parents according to fitness
Recombine parents to generate offspring
Mutate offspring
Replace population by new offspring
stopyes
no
![Page 18: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/18.jpg)
Roulette Wheel Selection
• probability of reproduction pi = fi / Sk fk
10001
11010
01011
00101
10001
11010
01011
0010110001
11010
01011
00101
10001
11010
01011
00101
10001 11010
01011
00101
• selected parents : 01011, 11010, 10001, 10001
• selection is a stochastic process
![Page 19: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/19.jpg)
• automatic generation of computer programs by means of natural evolution see Koza 1999• programs are represented by a parse tree (LISP expression)• tree nodes correspond to functions : - arithmetic functions {+,-,*,/} - logarithmic functions {sin,exp}• leaf nodes correspond to terminals : - input variables {X1, X2, X3} - constants {0.1, 0.2, 0.5 }
Genetic Programming
+*
X3X2
X1
tree is parsed from left to right: (+ X1 (* X2 X3)) X1+(X2*X3)
![Page 20: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/20.jpg)
Genetic Programming : Crossover
+*
X3X2
X1
-/
X1-X2
X3X2
parent A parent B
+ *X3X2X1
-/
X1-X2
X3X2
offspring A offspring B
![Page 21: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/21.jpg)
Areas EAs Have Been Used InDesign of electronic circuitsDesign of electronic circuitsTelecommunication network Telecommunication network designdesignArtificial intelligenceArtificial intelligenceStudy of atomic clustersStudy of atomic clustersStudy of neuronal behaviourStudy of neuronal behaviourNeural network training & designNeural network training & designAutomatic controlAutomatic controlArtificial lifeArtificial lifeSchedulingScheduling
Travelling Salesman ProblemTravelling Salesman ProblemGeneral function optimisation General function optimisation Bin Packing ProblemBin Packing ProblemPattern learningPattern learningGamingGamingSelf-adapting computer programsSelf-adapting computer programsClassificationClassificationTest-data generationTest-data generationMedical image analysisMedical image analysisStudy of earthquakesStudy of earthquakes
![Page 22: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/22.jpg)
Goldberg (1989)
Goldberg D. E. (1989), Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, Reading.
![Page 23: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/23.jpg)
Michalewicz (1996)
Michalewicz, Z. (1996), Genetic Algorithms + Data Structures = Evolution Programs, Springer.
![Page 24: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/24.jpg)
Vose (1999)
Vose M. D. (1999), The Vose M. D. (1999), The Simple Genetic Simple Genetic Algorithm : Algorithm : Foundations and Foundations and Theory (Complex Theory (Complex Adaptive Systems). Adaptive Systems). Bradford Books; Bradford Books;
![Page 25: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/25.jpg)
2525
SOFT COMPUTINGFuzzy-Evolutionary Computing
![Page 26: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/26.jpg)
![Page 27: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/27.jpg)
![Page 28: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/28.jpg)
![Page 29: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/29.jpg)
Genetic Fuzzy Systems (GFS’s)
• genetic design of fuzzy systems• automated tuning of the fuzzy knowledge base• automated learning of the fuzzy knowledge base• objective of tuning/learning process
• optimizing the performance of the fuzzy system: e.g.: fuzzy modeling : minimizing quadratic error between data set and the fuzzy system outputs e.g : fuzzy control system: optimize the behavior of the plant + fuzzy controller
![Page 30: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/30.jpg)
Genetic Fuzzy System for Data Modeling
Evolutionaryalgorithm
Evaluationscheme
Dataset : xi,yiFuzzy System
Fuzzy system parameters
fitness
genotype
phenotype
![Page 31: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/31.jpg)
Fuzzy SystemsKnowledge Base
Database :Definition of
fuzzy membership-function
a b c
Rule base:definition offuzzy rules
If X1 is A1 and … and Xn is An
then Y is B
![Page 32: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/32.jpg)
Genetic Tuning Process• tuning problems utilize an already existing rule base• tuning aims to find a set of optimal parameters for the database :
• points of membership-functions [a,b,c,d] or• scaling factors for input and output variables
![Page 33: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/33.jpg)
Linear Scaling FunctionsChromosome for linear scaling:• for each input xi : two parameters ai,bi i=1..n• for the output y : two parameter a0,b0
Genetic Algorithms: • encode each parameter by k bit using Gray code total length = 2*(n+1)*k bit
Evolutionary Strategies:• each parameter ai or bi corresponds to one object variable xm m : 1… 2*(n+1)
a0100101
b0011111
a1110101
b2*(n+1)100101. . .
a0x0,o
b0x1,1
a1x2,2
b2*(n+1) xm,m. . .
![Page 34: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/34.jpg)
Descriptive Knowledge Base• descriptive knowledge base
sm me lg
x
neg ze pos
y
• all rules share the same global membership functions :
R1 : if X is sm then Y is neg R2 : if X is me then Y is ze R3 : if X is lg then Y is pos
![Page 35: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/35.jpg)
Approximate Knowledge Base• each rule employs its own local membership function
R1 : if X is then Y is R1 : if X is then Y is R1 : if X is then Y is R1 : if X is then Y is
• tradeoff: more degrees of freedom and therefore better approximation but intuitive meaning of fuzzy sets gets lost
![Page 36: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/36.jpg)
Tuning Membership Functions• encode each fuzzy set by characteristic parameters
x
(x)1
0 a b c d
Trapezoid: <a,b,c,d>
x
(x)1
0
Gaussian: N(m,s)
m
s
xx
(x)1
0 a b c
Triangular: <a,b,c>
![Page 37: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/37.jpg)
Approximate Genetic Tuning Process• a chromosome encodes the entire knowledge base, database and rulebaseRi : if x1 is Ai1 and … xn is Ain then y is Bi
encoded by the i-th segment Ci of the chromosomeusing triangular membership-functions (a,b,c)
(ai1, bi1, ci1, . . . , ain, bin, cin, ai, bi, ci, )Ci =
The chromosome is the concatenation of the individual segments corresponding to rules :C1 C2 C3 C4 . . . Ck
each parameter may be binary or real-coded
![Page 38: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/38.jpg)
Descriptive Genetic Tuning Process• the rule base already exists• assume the i-th variable is composed of N i terms
(ai1, bi1, ci1, . . . , aiNi, biNi, ciNi )Ci =
A1 A2 A3
xiai1, bi1, ci1, ai2, bi2, ci2 ai3, bi3, ci3 The chromosome is the concatenation of the individual segments corresponding to variables :
C1 C2 C3 C4 . . . Ck
![Page 39: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/39.jpg)
Descriptive Genetic Tuning• in the previous coding scheme fuzzy sets might change their order and optimization is subject to the constraints : aij < bij < cij
A1 A2 A3
x1 x2 x3
• encode the distance among the center points of triangular fuzzy sets and choose the border points such that i = 1
![Page 40: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/40.jpg)
Fitness Function for Tuning
• minimize quadratic error among training data (xi,yi) and fuzzy system output f(xi) E = Sumi (yi-f(xi))2
Fitness = 1 / E (maximize fitness)
• minimize maximal error among training data (xi,yi) and fuzzy system output f(xi) E = maxi (yi-f(xi))2
Fitness = 1 / E (maximize fitness)
![Page 41: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/41.jpg)
Genetic Learning Systems• genetic learning aim to :
• learn the fuzzy rule base or• learn the entire knowledge base
• three different approaches• Michigan approach : each chromosome represents a single rule• Pittsburgh approach : each chromosome represents an entire rule base / knowledge base• Iterative rule learning : each chromosome represents a single rule, but rules are injected one after the other into the knowledge base
![Page 42: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/42.jpg)
Michigan Approach
11001 : R1: if x is A1 ….then Y is B100101 : R2: if x is A2 ….then Y is B210111 : R3: if x is A3 ….then Y is B311100 : R4: if x is A4 ….then Y is B401000 : R5: if x is A5 ….then Y is B511101 : R6: if x is A6 ….then Y is B6
Population:Individual:
A1A3A4
A2A5A6
XB1
B3
B4
B2
B5
B6
Y
![Page 43: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/43.jpg)
R4 : if x is small then Y is pos.F=-1.6
R1 : if x is large then Y is neg.F = 2.5
R3 : if x is small then Y is zeroF=-0.4
R2 : if x is med. then Y is zeroF=2.7
Cooperation vs. Competition Problem• we need a fitness function that measures the accuracy of an individual rule as well as the quality of its cooperation with other rules
X
Y
small medium large
pos
zene
g
Fitness = number of correct classifications minus number of incorrect classifications
![Page 44: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/44.jpg)
Michigan Approach• steady state selection:
• pick one individual at random• compare it with all individuals that cover the same input region• remove the “relatively” worst one from the population • pick two parents at random independent of their fitness and generate a new offspring11001 : R1: if x is A1 ….then Y is B1
00101 : R2: if x is A2 ….then Y is B2
10111 : R3: if x is A3 ….then Y is B3
11100 : R4: if x is A4 ….then Y is B4
01000 : R5: if x is A5 ….then Y is B5
11101 : R6: if x is A6 ….then Y is B6
11001 : R1: if x is A1 ….then Y is B110111 : R3: if x is A3 ….then Y is B3
11100 : R4: if x is A4 ….then Y is B4
competitors:
removed from the population
![Page 45: SOFT COMPUTING Evolutionary Computing](https://reader033.vdocuments.mx/reader033/viewer/2022061606/56816069550346895dcf92b1/html5/thumbnails/45.jpg)
4545
Thanks for your attention!Thanks for your attention!
That’s all.That’s all.