Darwin’s theory of Evolution http://www.wsu.edu:8001/vwsu/gened/learn-modules/top_longfor/overview/Overvw5.html Evolution http://www.wsu.edu:8001/vwsu/gened/learn-modules/top_longfor/overview/Overvw2.html http://emporium.turnpike.net/C/cs/cartoon.htm Genetic Algorithms (GA) • Derivative-free Stochastic Optimization method based loosely on the concepts of natural selection and evolution processes. • First proposed and investigated by John Holland at U. of Michigan in 1975. • Finding significant applications in many venues. *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Genetic Algorithms (GA) • Use the concept of Darwin’s theory of Evolution – the existence of all living things is based on the rule of “survival of the fittest” – New breeds or classes of living things come into existence through the processes of reproduction, crossover, and mutation among organisms. • These concept have been translated into algorithms to search for solutions to problems in a more “natural” way. Fuzzy Logic with Engineering Applications: Timothy J. Ross Genetic Algorithms (GA) • GAs are parallel-search procedures that can be implemented on parallel-processing machines for massively speeding up their operation. • GAs are applicable to both continuous and discrete optimization problems. • GAs are stochastic and less likely to get trapped in local minima • GAs’ flexibility facilitates both structure and parameter identification in complex models such as NN and Fuzzy Inference System *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Genetic Algorithms (GA) • Benefit – GA searches for a solution from a board spectrum of possible solutions, rather than restrict the search to a narrow domain where the results would be normally expected. – GA try to perform an intelligent serch for a solution from a nearly infinite number of possible solutions. Fuzzy Logic with Engineering Applications: Timothy J. Ross GA Parameter Encoding • Parameter set of the problem is coded as a finite binary string of bits (chromosome) – An n-bit string can accommodate all integers up to the value 2n -1. – Bit string may be mapped to the value of a parameter (gene), Ci, i = 1,2,… by the mapping Ci = Cmin + ( b/(2L -1)) *(Cmaxi-Cmini) – Where “b” is the number in decimal form that is being represented in binary format. – Cmax and Cmin are maximun and mininmum value of the parameters. – L is the length of the bit strings Fuzzy Logic with Engineering Applications: Timothy J. Ross GA Parameter Encoding: Example • Given a data set C – Assume Cmin = -2 and Cmax = 10, – Each string, represented X, is 10 bits in length • When b = 0000000000 or “0” in decimal then C = -2 • When b = 1111111111 or “1023” in decimal then C = 10, • If b = 1000000000 or “512” in decimal then C = -2 + 512/ (1024-1)*(10- (-2)) = -4.01 Fuzzy Logic with Engineering Applications: Timothy J. Ross Encoding schemes • Concatenate genes to form chromosome –Example: A point (11,6,9) in a three-dimensional parameter space can be represented as a concatenated binary string: 11 6 9 1011 0110 1001 Assume each gene…….. min = 0, max =15, and L =4 Fuzzy Logic with Engineering Applications: Timothy J. Ross Genetic Algorithms (GA) • Algorithm – Step 1. Create different possible solutions to a problem – Step 2. Test the solutions for their performance (i.e., how good a solution they provide) – Step 3. Select only a fraction of good solutions (eliminate the others - survival of the fittest) – Step 4. Create a new generation of possible solutions, children, by the processes of reproduction, crossover and mutation of the selected solutions in step 3. – Step 5. Repeated step 2 to 4 until there is convergence within a generation. Fuzzy Logic with Engineering Applications: Timothy J. Ross Producing the next Generation in GAs *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Three Genetic operators - Reproduction #1 Reproduction -the process by which strings with better fitness values receive correspondingly better copies in the new generation (survival of the fittest) • Total number of strings in each generation is kept constant thus strings with lower fitness values are eliminated *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Three Genetic operators - Crossover #2 Crossover -the process by which the strings are able to mix and match their desirable qualities in random fashion - 3 steps a) two new string are selected at random b) a random location in both strings is selected c) the portions of the strings to the right of the randomly selected location in the two strings are exchanged *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Three Genetic operators - Mutation #3 Mutation -helps to increase the searching power (reproduction or crossover may not be able to find an optimum solution to a problem) Occasionally, the value at a certain string location is changed - Mutation thus ensures that the vital bit of information is introduced into the generation! Mutation take place very rarely, on the order of once in a thousand bit string locations (suggested 0.005/bit/generation) *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Summary of simple GA for maximization problems – #1 Initialize a population with randomly generated individuals and evaluate the fitness value of each individual – #2 • a) select two members from the population with probabilities proportional to their fitness values. • b) apply crossover with a probability equal to the crossover rate. • c) apply mutation with a probability equal to the mutation rate. • Repeated (a) to (d) until enough members are generated to form the next generation. – #3 Repeat #2 and #3 until a stopping criterion is met *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Genetic Algorithm: Example 1 • Show how a line may be fit through a given data set using GA – Given Data set through which a line fit is required Data number X Y' 1 2 3 4 1.0 2.0 3.0 6.0 1.0 2.0 3.0 6.0 and Y = C 1x + C 2 Need to solve for C1 and C2 using GA Fuzzy Logic with Engineering Applications: Timothy J. Ross GA: Example 1 (step 1) • Step 1. Encode the parameter set (C1,C2) in form of bit strings. – Bit strings are created with random assignment of 1s and 0s at different bit locations – Let’s start with an initial population of four strings – The strings are 12 bits in length (chromosome) • Each gene, C1 and C2, is encoded with 6 bits – Assume that Cmin = -2, and Cmax = 5 – Calculate decimal equivalent of C1 and C2 Fuzzy Logic with Engineering Applications: Timothy J. Ross GA: Example 1 (Step 2) • Step 2. Calculate Y1, Y2, Y3, and Y4, from the line equation using Xi , C1 and C2. – Test the solutions for their performance by finding the square of the errors in estimating the Y’s for each string. This summation is subtracted from a large number, 400, to convert the problem into a maximization problem. Fuzzy Logic with Engineering Applications: Timothy J. Ross GA: Example 1 (Step 2 Cont.) • Step 2. Continue – Column 11 are the fitness values of the four strings • These fitness values are added and compute its average – Column 12 are relative fitness of each string • Take each fitness value and divide by the average fitness of the whole population Fuzzy Logic with Engineering Applications: Timothy J. Ross GA: Example 1 (Step 3) • Step 3. Select only a fraction of good solutions – Eliminate string #1 due to low expected count – Duplicate string #3 to replace string #1 – Keep string #2, #3, and #4 ( survival of the fittest) Fuzzy Logic with Engineering Applications: Timothy J. Ross GA: Example 1 (Step 4) • Step 4. Create a new generation of possible solutions by the processes of reproduction, crossover and mutation of the selected solutions – The first column shows the four strings selected from previous step aligned for crossover at the locations shown in the strings in the column – After crossover, the new strings generated are shown in column 2 Fuzzy Logic with Engineering Applications: Timothy J. Ross GA: Example 1 (Step 5) • Step 5. Repeated step 2 to 4 until there is convergence within a generation. Note: the average fitness of the second generation is greater than that of first generation. Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: Computing MFs using GA • A single input, X, and single output, Y with and input-output values and a functional mapping for the system between input and output shown below: Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: MFs • If X is Small then Y is Large • If X is Large then Y is Very Large • Assume that each MF has the shape of a right triangle as shown below Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: Step 1 • Pick initial Base for input and output MFs Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: First Iteration 1 Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: First Iteration 2 Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: First Iteration 3 Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: 2nd Iteration 1 Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: 2nd Iteration 2 Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #2: 2nd Iteration 3 Fuzzy Logic with Engineering Applications: Timothy J. Ross Example #3: Maximization of the “peaks” function using GAs Peaks 8 6 4 2 0 -2 -4 -6 2 0 -2 y -3 *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 -2 0 -1 x 1 2 Example #3: Maximization of the “peaks” function using GAs Peaks 8 6 4 • Consider [-3,3] X [-3,3] • Use 8-bit binary coding for each variable 2 0 -2 -4 -6 2 0 -2 y -3 -2 0 -1 1 x Search space size of 28 x28 = 65,536 • Each generation in GA contains 20 points • Each point’s fitness is defined as the value of the “peaks” function minus the minimum function value across the population (guarantees non-negative) • One point crossover with crossover rate = 1 • Uniform mutation with mutation rate = 0.01 • Apply elitism to keep the best twoacross generation *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 2 Example #3: Maximization of the “peaks” function using GAs 3 2 Y 1 0 -1 -2 -3 -3 -2 -1 0 X *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 1 2 3 Example #3: Maximization of the “peaks” function using GAs Initial Population *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Example #3: Maximization of the “peaks” function using GAs Population after the fifth generation *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Example #3: Maximization of the “peaks” function using GAs Population after the tenth generation *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997 Example #3: Maximization of the “peaks” function using GAs Performance of Gas across generations *Neuro-fuzzy and Soft Computing - J.Jang, C. Sun, and, E. Mizutani, Prentice Hall 1997