* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download EAs
Transgenerational epigenetic inheritance wikipedia , lookup
Genetic engineering wikipedia , lookup
Heritability of IQ wikipedia , lookup
Genetic testing wikipedia , lookup
Human genetic variation wikipedia , lookup
Point mutation wikipedia , lookup
Viral phylodynamics wikipedia , lookup
Group selection wikipedia , lookup
Frameshift mutation wikipedia , lookup
Dual inheritance theory wikipedia , lookup
Genome (book) wikipedia , lookup
Genetic drift wikipedia , lookup
Gene expression programming wikipedia , lookup
Population genetics wikipedia , lookup
Microevolution wikipedia , lookup
Andrew Cannon Yuki Osada Angeline Honggowarsito Contents What are Evolutionary Algorithms (EAs)? Why are EAs Important? Categories of EAs Mutation Self Adaptation Recombination Selection Application Evolutionary Algorithms Search methods that mimic the process of natural evolution Principle of “Survival of the Fittest” In each generation, select the fittest parents Re-combine those parents to produce new offspring Perform mutations on the new offspring Why are EAs Important? Flexibility Adaptable Concept to Problems Problem examples: Travelling Salesman, Knapsack, Trading Prediction in Stock Market, etc. Algorithms to solve those problems are either too specialised or too generalised Categories of EAs Genetic Algorithms Evolutionary Strategies Evolutionary Programming Genetic Programming More similarities than differences Genetic Algorithms In 1950s, Biologists used computers for biological system simulation. First introduced in 1960s by John Holland from the University of Michigan Modeling Adaptive Process Designed to solve discrete/integer optimization problem Genetic Algorithms Operate on Binary Strings, binary as the representation of individuals Applying recombination operator with mutation as background operator Evolutionary Strategies First developed by Rechenberg in 1973 Solved parameter optimization problems Individuals represented as a pair of float-valued vectors Apply both recombination and self adaptive mutation Evolutionary Strategies Similar to Genetic Algorithms in recombination and mutation processes Differences with Genetic Algorithms Evolutionary Strategies are better at finding local maximum while Genetic Algorithms are more suitable at finding global maximum Thus, Evolutionary Strategies are faster than Genetic Algorithms Evolutionary Strategies are represented as real number vector while GAs are represented using bitstrings Evolutionary Programming Developed by Lawrence Fogel in 1962 Aimed at evolution of Artificial Intelligence in developing ability to predict changes in environment Use Finite State Machine for prediction Evolutionary Programming Predict output of 011101 with 0/c initial state C, produce output of 110111 B No recombination 0/0 1/1 0/1 Representation based on real- valued vectors A C 1/0 1/1 Genetic Programming Developed by Koza to allow the program to evolve by itself during the evolution process Individuals are represented by Tree or Graphs Genetic Programming Different from GA,ES,EP where representation is linear (bit strings and real value vectors), Tree is non-linear Size depend on Depth and Width, while other representations have a fixed size Only requires crossover OR mutation Mutation Binary Mutation: Flipping the bits, as there are only two states of binary values : 0 and 1 Mutating (0,1,0,0,1) will produce (1,0,1,0,1) Mutation Real Value Mutation: Randomly created value added to the variables with some predefined mutation rate Mutation rate and Mutation step need to be defined Mutation rate is inversely proportional to the number of variables (dimensions) Sources & References Eiben A.E 2004, “What is Evolutionary Algorithm”, Available from: <http://www.cs.vu.nl/~gusz/ecbook/EibenSmith-Intro2EC-Ch2.pdf>.[29 August 2012 ]. Michalewicz, Z., Hinterding, R., and Michalewicz, M., Evolutionary Algorithms, Chapter 2 in Fuzzy Evolutionary Computation, W. Pedrycz (editor), Kluwer Academic, 1997. T. Bäck, U. Hammel, and H.-P. Schwefel, “Evolutionary computation: comments on the history and current state”, IEEE Transactions on Evolutionary Computation 1(1), 1997 X. Yao, “Evolutionary computation: a gentle introduction”, Evolutionary Optimization, 2002 Whitley, D 2001, “An Overview of Evolutionary Algorithm: Practical Issues and Common Pitfalls”, Information and Software Technology, vol.43, pp. 817-831 Self Adaptation  Don’t know what values to assign to parameters – so let them evolve!  Population consisting of real vectors x = (x1,x2,…,xn)  We produce offspring by adding random vectors to them Step Size  Schwefel (1981): add vectors whose components are Gaussian random variates with mean 0  What standard deviation should be used?  The standard deviation evolves as the algorithm is running Step Size  Represent entities as (x,s) – the individual itself (x) and a step vector (s)  We start by producing an offspring s’ from s: si’ = si exp(cn-1/2N(0,1) + dn-1/4Ni(0,1)) n = generation number, c,d>0 constants  We produce an offspring x’ from x: xi’ = xi + si’Ni(0,1) Self Adaptation  Other parameters can evolve using similar ideas  Sources: Bäck T, Hammel, U & Schwefel, H-P 1997, ‘Evolutionary computation: comments on the history and current state’, IEEE Transactions on Evolutionary Computation, vol. 1, no. 1, pp. 3-17. Available from: IEEE Xplore Digital Library [23rd August 2012]. Beyer, HG 1995, ‘Toward a Theory of Evolution Strategies: Self-Adaptation’, Evolutionary Computation, vol. 3, no. 3, pp. 311-348. Saravanan, N, Fogel, DB & Nelson, KM 1995, ‘A comparison of methods for self-adaptation in evolutionary algorithms’, BioSystems, vol. 36, no. 2, pp. 157-166. Available from: Science Direct [26th August 2012]. Schwefel, H-P 1981, Numerical Optimization of Computer Models, Wiley, Chichester. Recombination  Produce offspring from 2 or more entities in the original population  Most easily addressed using bitstring representations One Point Crossover  Entities are represented in the population as bitstrings of length n  Randomly select a crossover point p from 1 to n (inclusive)  Take the substring formed by the first p bits of the first string and append to it the last n-p bits of the second string to give offspring One Point Crossover  Bitstrings of length 8:     01011100 and 00001111 Choose crossover point of 6 Take the first 6 bits from 01011100 Take the last 2 bits from 00001111 Form the offspring 01011111 Uniform Crossover  Form a new offspring from 2 parents by selecting bits from each parent with a particular probability  For example, given strings: 11001011 and 01010101  Select bits from the first string with probability ½ Uniform Crossover  Rolled a die 8 times: 2, 3, 6, 6, 3, 1, 3, 5  Whenever the result is 3 or less, take a bit from the first string, otherwise, take a bit from the second string: 23663135 23663135 11001011 and 01010101  Produce offspring: 11011011 Other Variants  Multiple crossover points  Multiple parents  Probabilistic application  Source: Bäck T, Hammel, U & Schwefel, H-P 1997, ‘Evolutionary computation: comments on the history and current state’, IEEE Transactions on Evolutionary Computation, vol. 1, no. 1, pp. 3-17. Available from: IEEE Xplore Digital Library [23rd August 2012]. Selection  How individuals and their offspring from one generation are selected to fill the next generation  May be probabilistic or deterministic Proportional Selection  Probabilistic method  Assume that fitness f(x)>0 for every entity x in the population  p(y) = f(y) / (sum of f(x) for every x) Tournament Selection  Probabilistic method  Select q individuals randomly from the population with uniform probability  The best individual of this set goes into the next generation  Repeat until the next generation is filled (μ,λ)-Selection  Deterministic method  From a generation of μ individuals, λ>μ offspring are produced  The next generation is produced from the μ fittest individuals of the λ offspring  The fittest member of the next generation may not be as fit as the fittest member of the previous generation (μ+λ)-Selection  Deterministic method  From a generation of μ individuals, λ offspring are produced  The next generation is produced from the μ fittest individuals from the μ+λ parents and offspring  The fittest members will always survive Selection  Best method (or methods) will be problem specific  Sources: Bäck T 1994, ‘Selective pressure in evolutionary algorithms: a characterization of selection mechanisms’, Proceedings of the First IEEE Conference on Evolutionary Computation, pp. 57-62. Available from: IEEE Xplore Digital Library [28th August 2012]. Bäck T, Hammel, U & Schwefel, H-P 1997, ‘Evolutionary computation: comments on the history and current state’, IEEE Transactions on Evolutionary Computation, vol. 1, no. 1, pp. 3-17. Available from: IEEE Xplore Digital Library [23rd August 2012]. Travelling Salesman Problem (TSP)  Travelling salesman problem:  This is a hard problem (NP-hard, "at least as hard as the hardest problems in NP")  The DP solution is O(n2.2n)  Genes are a sequence representing the order that the cities are visited in  Example: [0 5 3 4 8 2 1 6 7 9] Crossover in TSP  A possible crossover: The greedy crossover.  "Greedy crossover selects the first city of one parent, compares the cities leaving that city in both parents, and chooses the closer one to extend the tour. If one city has already appeared in the tour, we choose the other city. If both cities have already appeared, we randomly select a non-selected city."  Sources:  J. J. Grefenstetts, R. Gopal, B. Rosmaita, and D. Van Gucht. Genetic Algorithms for the Traveling Salesman problem. In Proceedings of an International Conference on Genetic Algorithms and Their Applications, pages 160–168, 1985. Mutation in TSP  A possible mutation: The greedy-swap.  "The basic idea of greedy-swap is to randomly select two cities from one chromosome and swap them if the new (swapped) tour length is shorter than the old one"  Sources:  S. J. Louis, R. Tang. Interactive Genetic Algorithms for the Travelling Salesman Problem. Genetic Adaptive Systems Lab, University of Neveda, Reno. 1999. Applications  EAs are a very powerful computational tool  EAs find application in:  bioinformatics  phylogenetics  computational science  engineering  economics  chemistry  manufacturing  mathematics  physics and other fields Applications  Computer-automated design  Automotive design   Design composite materials and aerodynamic shapes to provide faster, lighter, more fuel efficient and safer vehicles No need to spend time in labs working with models  Engineering design  Optimise the design of many tools/components ie. turbines Applications  Game playing  Sequence of actions can be learnt to win a game  Encryption and code breaking  Telecommunications  DP problems:  Travelling salesman problem  Plan for efficient routes and scheduling for travel planners.  Knapsack problem Sources T. Bäck, U. Hammel, and H.-P. Schwefel, “Evolutionary computation: comments on the history and current state”, IEEE Transactions on Evolutionary Computation 1(1), 1997 X. Yao, “Evolutionary computation: a gentle introduction”, Evolutionary Optimization, 2002
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            