![Page 1: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/1.jpg)
Evolution Strategies Evolutionary
Programming Genetic Programming
Michael J. Watts
http://mike.watts.net.nz
![Page 2: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/2.jpg)
Lecture Outline
• Evolutionary Algorithms revision• Genetic Algorithms revision• Evolution Strategies• Evolutionary Programming• Genetic Programming
![Page 3: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/3.jpg)
Evolutionary Algorithms
• General purpose algorithms• Based on some aspects of biological evolution• Useful for solving multi-parameter
optimisation problems• NOT random search algorithms
![Page 4: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/4.jpg)
Genetic Algorithms
• AKA GA• Based on populations of artificial
chromosomes• Solution attempts are encoded as value
strings in the chromosomes
![Page 5: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/5.jpg)
Genetic Algorithms
• New individuals created by two mechanismso crossover (recombination)o mutation
• Selection based on fitness of chromosomeso stochastic selection
![Page 6: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/6.jpg)
Evolution Strategies
• Invented early 1960s in Germany• Ingo Rechenberg, Hans-Paul Schwefel and
Peter Bienerto engineering students
• Experimenting with wind tunnelso optimising jointed flat plates
• Only intuitive methods to do this at the time
![Page 7: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/7.jpg)
Evolution Strategies
• Rechenberg had the idea of ‘mutating’ the parameters and selecting good mutations
• ES are used for numerical parameter optimisation
• Parameters of a problem are encoded as real numberso real-numbered chromosome
![Page 8: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/8.jpg)
Evolution Strategies
• Fitness of individual is determined by how well the parameters solve the problem
• Offspring are created by mutation• Real-numbered, normally distributed creep
mutation• Offspring replace parents only if more fit
![Page 9: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/9.jpg)
Evolution Strategies
• ES named according to number of parents and children at each generation
• 1+1 ES has one parent and one child
![Page 10: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/10.jpg)
1+1 ES
1. Evaluated fitness of parent P, f(P)2. Create child C by adding small normally distributed values to each parameter of P3. Evaluate the fitness of C, f(C)4. If f(C) > f(P) then replace P with C5. Repeat Steps 2-4 until stopping condition
![Page 11: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/11.jpg)
Evolution Strategies
• Later ES have populations• (m+l) and (m,l) ES• m (mu) is the size of the parent population• l (lambda) is the size of the offspring
population• offspring are created using recombination as
well as mutation
![Page 12: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/12.jpg)
Evolution Strategies
• In a (m+l) ES, the m best survive to the next generation
• In a (m,l) ES, only child individuals survive to the next generation
![Page 13: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/13.jpg)
Evolutionary Programming
• Invented early 1960s in the USA• Created by Lawrence Fogel• Regarded artificial intelligence as the ability to
predict a symbol based on previous symbols• Evolved a population of finite state automata
to perform this prediction
![Page 14: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/14.jpg)
Evolutionary Programming
• Evolution consisted of adding, modifying or deleting state transitions
• Task was to predict characters from streams of characters
• FSA with the least number of errors were allowed to reproduce
![Page 15: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/15.jpg)
Evolutionary Programming
1. Create a population of solutions2. Evaluate each solution in the population3. Select individuals to reproduce- tournament selection4. Mutate the reproduction population5. Repeat 2 - 4 until stopping condition is reached
![Page 16: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/16.jpg)
Evolutionary Programming
• Reproduction in EP is via mutation• Mutation may be normally distributed• No prescribed method of representation
o Use whatever works for the problem FSA, ANN etc
• Crossover / recombination is not used
![Page 17: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/17.jpg)
EP and GA
• Main differences between EP and GA• GA requires the solution attempt to be
encoded in a string of valueso genome
• EP uses whatever representation fits the problem
![Page 18: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/18.jpg)
EP and GA
• Mutation in EP is a normally distributed perturbation
• Has infrequent large changes, frequent small changes
• Mutation rate decays as run time elapses• GA mutation tends to be fixed size changes
that create entirely new values
![Page 19: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/19.jpg)
EP and ES
• EP and ES are very similar• Major differences are selection and
recombination• Selection in EP is stochastic
o tournament basedo randomly selected participants
![Page 20: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/20.jpg)
EP and ES
• Selection in ES is deterministico bad individuals are purgedo good individuals breedo no randomness involved
• No recombination is used in EP• Multi individual ES will use recombination
![Page 21: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/21.jpg)
Genetic Programming
• Created by John Koza• Use an EA to create algorithms• Score attempts based on
o how well the problem is solvedo how efficiently it solves it
![Page 22: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/22.jpg)
Genetic Programming
• Mechanistically similar to GA• One major difference
o no genotype / phenotype distinctiono evolutionary operations carried out directly on the
candidate programs themselves• Reproduction is via crossover and mutation
![Page 23: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/23.jpg)
Genetic Programming
• Candidates are represented as parse trees• e.g.
Adapted from http://www.genetic-programming.com
![Page 24: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/24.jpg)
Genetic Programming
• Crossover is implemented by swapping branches of the tree
• Mutation involves deleting and re-growing branches
![Page 25: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/25.jpg)
Summary
• ES, EP and GP are all different kinds of evolutionary computation
• Each developed separately, but have common themes
• The boundaries between each are not clear-cut!
• Each have their own niches
![Page 26: Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts](https://reader036.vdocuments.site/reader036/viewer/2022062718/56649e895503460f94b8e8c7/html5/thumbnails/26.jpg)
References
• “Evolutionary Computation: Towards a New Philosophy of Machine Intelligence” by David B. Fogel
• “Genetic Programming” by John Koza