210 likes | 337 Views
Estimation of Distribution Algorithms. Let’s review what have done in EC so far: We have studied EP and found that each individual searched via Gaussian disturbance. We have studied GAs and found that:
E N D
Estimation of Distribution Algorithms • Let’s review what have done in EC so far: • We have studied EP and found that each individual searched via Gaussian disturbance. • We have studied GAs and found that: • given two parents and a procreation operator, one can determine the number and types of offspring that are possible of being generated. • Given BLX-0.5 we are actually restricting ourselves to distribution determined by the alleles of the genes of the parents. • We have studied ESs and discovered that a great deal of effort has been placed on adapting normal distributions.
Estimation of Distribution Algorithms • We have even discovered that one should not look at operators as “crossover” or “mutation”. We have discovered that the important issue is variation (and the control of the amount variation applied to an individual or population given a specified point-in-time of the evolutionary process). • Is it possible to do away with procreation operators all together? • Remember all of our operators were based (either directly or indirectly on some form of probability distribution/density function.
Estimation of Distribution Algorithms • Estimation of Distribution Algorithms do just that! • Typically they operate as follows: • Step 0: Randomly generate a set of individuals (t=0) • Step 1: Evaluate the individuals • While (not done) • Step 2: Select individuals (where ) to be parents • Develop a probability distribution/density function, pt, based on the parents • Step 3: Create offspring using pt • Step 4: Evaluate the offspring • Step 5: The offspring replace the parents (t = t + 1) • Step 6: Goto While
Estimation of Distribution Algorithms • The EDA described earlier is and instance of a (_)-EC? • According to [Larranaga, P. and Lozano, J. A., Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation, Kluwer Academic Publishers, 2002.], There are two types of EDAs: • EDAs for Binary-Coded and Discrete Representations, and • EDAs for Real-Code Representations (Continuous Domains). • EDAs for combinatorial optimization will evolve probability distribution functions. • EDAs for continuous domain problems with evolve probability density functions.
Estimation of Distribution Algorithms:Binary-Coded Example • The EDA is known as the Univariate Marginal Distribution Algorithm • For our example the EDA will be a (3,6)-EDA (Binary-Coded): • Let’s try to solve the following problem • f(x) = x2, where -2.0 x 2.0, • Let l = 7, therefore our mapping function will be • d(2,-2,7,c) = 4*decode(c)/127 - 2
Estimation of Distribution Algorithms:An Example Run (by hand) • Randomly Generate an Initial Population GenotypePhenotypeFitness Person 1: 1001010 0.331 Fit: ? Person 2: 0100101 - 0.835 Fit: ? Person 3: 1101010 1.339 Fit: ? Person 4: 0110110 - 0.300 Fit: ? Person 5: 1001111 0.488 Fit: ? Person 6: 0001101 - 1.591 Fit: ?
Estimation of Distribution Algorithms:An Example Run (by hand) • Evaluate Population at t=0 GenotypePhenotypeFitness Person 1: 1001010 0.331 Fit: 0.109 Person 2: 0100101 - 0.835 Fit: 0.697 Person 3: 1101010 1.339 Fit: 1.790 Person 4: 0110110 - 0.300 Fit: 0.090 Person 5: 1001111 0.488 Fit: 0.238 Person 6: 0001101 - 1.591 Fit: 2.531
Estimation of Distribution Algorithms:An Example (by hand) • Select the best 3 (truncation selection) individuals to be parents. GenotypePhenotypeFitness Person 1: 1001010 0.331 Fit: 0.109 Person 2: 0100101 - 0.835 Fit: 0.697 Person 3: 1101010 1.339 Fit: 1.790 Person 4: 0110110 - 0.300 Fit: 0.090 Person 5: 1001111 0.488 Fit: 0.238 Person 6: 0001101 - 1.591 Fit: 2.531
Estimation of Distribution Algorithms:An Example (by hand) • Construct a joint probability distribution function, p0, given the three parents. GenotypePhenotypeFitness Person 2: 0100101 - 0.835 Fit: 0.697 Person 3: 1101010 1.339 Fit: 1.790 Person 6: 0001101 - 1.591 Fit: 2.531 • Since our genotype only has two values, we only need to be concerned with the probability the value of a gene is 1. The probability that a value of a gene is 0 is 1 minus the probability that it is a 1.
Estimation of Distribution Algorithms:An Example (by hand) • Construct a joint probability distribution function, p0, given the three parents. GenotypePhenotypeFitness Person 2: 0100101 - 0.835 Fit: 0.697 Person 3: 1101010 1.339 Fit: 1.790 Person 6: 0001101 - 1.591 Fit: 2.531 • Thus, p0 = • p(g0=1|Parent0) = 0.333, p(g1=1|Parent0) = 0.667 • p(g2=1|Parent0) = 0.000, p(g3=1|Parent0) = 0.667 • p(g4=1|Parent0) = 0.667, p(g5=1|Parent0) = 0.333 • p(g2=1|Parent0) = 0.667
Estimation of Distribution Algorithms:An Example Run (by hand) • Evaluate the Offspring GenotypePhenotypeFitness Child 1 : 0001010 - 1.685 Fit: 2.839 Child 2 : 1101101 1.433 Fit: 2.054 Child 3 : 0101101 - 0.583 Fit: 0.340 Child 4 : 0001011 - 1.654 Fit: 2.736 Child 5 : 1100110 1.213 Fit: 1.470 Child 6 : 0100101 - 0.835 Fit: 0.697
Estimation of Distribution Algorithms:An Example Run (by hand) • Replace the parents with the Offspring GenotypePhenotypeFitness Person 2: 0100101 - 0.835 Fit: 0.697 Person 3: 1101010 1.339 Fit: 1.790 Person 6: 0001101 - 1.591 Fit: 2.531 GenotypePhenotypeFitness Child 1 : 0001010 - 1.685 Fit: 2.839 Child 2 : 1101101 1.433 Fit: 2.054 Child 3 : 0101101 - 0.583 Fit: 0.340 Child 4 : 0001011 - 1.654 Fit: 2.736 Child 5 : 1100110 1.213 Fit: 1.470 Child 6 : 0100101 - 0.835 Fit: 0.697
Estimation of Distribution Algorithms:An Example Run (by hand) • Select the best 3 for Parent1 GenotypePhenotypeFitness Person 1: 0001010 - 1.685 Fit: 2.839 Person 2: 1101101 1.433 Fit: 2.054 Person 3: 0101101 - 0.583 Fit: 0.340 Person 4: 0001011 - 1.654 Fit: 2.736 Person 5: 1100110 1.213 Fit: 1.470 Person 6: 0100101 - 0.835 Fit: 0.697
Estimation of Distribution Algorithms • Given our example is it possible for premature convergence to exist in EDA-based search? • What can be done to remedy this situation? • What would the probability distribution function look like if more that two values (alleles) could be assigned to a gene? • What would be the benefits of using a (+)-EDA? • What may be some disadvantages of using a (+)-scheme?
Estimation of Distribution Algorithms:Real-Coded Example (by hand) • Estimation of Distribution Algorithms:An Example Run (by hand) • Randomly Generate an Initial Population PhenotypeFitness Person 1: 0.331 Fit: ? Person 2: - 0.835 Fit: ? Person 3: 1.339 Fit: ? Person 4: - 0.300 Fit: ? Person 5: 0.488 Fit: ? Person 6: - 1.591 Fit: ?
Estimation of Distribution Algorithms:Real-Coded Example (by hand) • Evaluate Initial Population PhenotypeFitness Person 1: 0.331 Fit: 0.110 Person 2: - 0.835 Fit: 0.697 Person 3: 1.339 Fit: 1.793 Person 4: - 0.300 Fit: 0.900 Person 5: 0.488 Fit: 0.238 Person 6: - 1.591 Fit: 2.531
Estimation of Distribution Algorithms:Real-Coded Example Run (by hand) • Select best 3 of 6 PhenotypeFitness Person 1: 0.331 Fit: 0.110 Person 2: - 0.835 Fit: 0.697 Person 3: 1.339 Fit: 1.793 Person 4: - 0.300 Fit: 0.900 Person 5: 0.488 Fit: 0.238 Person 6: - 1.591 Fit: 2.531
Estimation of Distribution Algorithms:Real-Coded Example Run (by hand) • Calculate joint density function (Gaussian) PhenotypeFitness Person 3: 1.339 Fit: 1.793 Person 4: - 0.300 Fit: 0.900 Person 6: - 1.591 Fit: 2.531 • xavg= - 0.184, = 1.199
Estimation of Distribution Algorithms:Real-Coded Example Run (by hand) • Create new population of 6 PhenotypeFitness Child 1 : 1.015 Fit: 1.030 Child 2 : - 1.383 Fit: 1.913 Child 3 : - 0.784 Fit: 0.615 Child 4 : 0.416 Fit: 0.173 Child 5 : 0.116 Fit: 0.013 Child 6 : - 1.284 Fit: 1.649
Estimation of Distribution Algorithms:Real-Coded Example Run (by hand) • Replace Parents with Children; select best 3 of 6 PhenotypeFitness Person 1: 1.015 Fit: 1.030 Person 2: - 1.383 Fit: 1.913 Person 3: - 0.784 Fit: 0.615 Person 4: 0.416 Fit: 0.173 Person 5: 0.116 Fit: 0.013 Person 6: - 1.284 Fit: 1.649
Estimation of Distribution Algorithms:Real-Coded Example Run (by hand) • Calculate new joint density function PhenotypeFitness Person 1: 1.015 Fit: 1.030 Person 2: - 1.383 Fit: 1.913 Person 6: - 1.284 Fit: 1.649 • xavg = -0.551; = 1.11