Darwin s theory of Evolution

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/...
Author: Cody Hancock
2 downloads 3 Views 3MB Size
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