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, p t, based on the parents –Step 3: Create offspring using p t –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) = x 2, where -2.0 x 2.0, –Let l = 7, therefore our mapping function will be d(2,-2,7,c) = 4*decode(c)/
Estimation of Distribution Algorithms: An Example Run (by hand) Randomly Generate an Initial Population Genotype Phenotype Fitness Person 1: Fit: ? Person 2: Fit: ? Person 3: Fit: ? Person 4: Fit: ? Person 5: Fit: ? Person 6: Fit: ?
Estimation of Distribution Algorithms: An Example Run (by hand) Evaluate Population at t=0 Genotype Phenotype Fitness Person 1: Fit: Person 2: Fit: Person 3: Fit: Person 4: Fit: Person 5: Fit: Person 6: Fit: 2.531
Estimation of Distribution Algorithms: An Example (by hand) Select the best 3 (truncation selection) individuals to be parents. Genotype Phenotype Fitness Person 1: Fit: Person 2: Fit: Person 3: Fit: Person 4: Fit: Person 5: Fit: Person 6: Fit: 2.531
Estimation of Distribution Algorithms: An Example (by hand) Construct a joint probability distribution function, p 0, given the three parents. Genotype Phenotype Fitness Person 2: Fit: Person 3: Fit: Person 6: Fit: 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, p 0, given the three parents. Genotype Phenotype Fitness Person 2: Fit: Person 3: Fit: Person 6: Fit: Thus, p 0 = –p(g 0 =1|Parent 0 ) = 0.333, p(g 1 =1|Parent 0 ) = –p(g 2 =1|Parent 0 ) = 0.000, p(g 3 =1|Parent 0 ) = –p(g 4 =1|Parent 0 ) = 0.667, p(g 5 =1|Parent 0 ) = –p(g 2 =1|Parent 0 ) = 0.667
Estimation of Distribution Algorithms: An Example Run (by hand) Evaluate the Offspring Genotype Phenotype Fitness Child 1 : Fit: Child 2 : Fit: Child 3 : Fit: Child 4 : Fit: Child 5 : Fit: Child 6 : Fit: 0.697
Estimation of Distribution Algorithms: An Example Run (by hand) Replace the parents with the Offspring Genotype Phenotype Fitness Person 2: Fit: Person 3: Fit: Person 6: Fit: Genotype Phenotype Fitness Child 1 : Fit: Child 2 : Fit: Child 3 : Fit: Child 4 : Fit: Child 5 : Fit: Child 6 : Fit: 0.697
Estimation of Distribution Algorithms: An Example Run (by hand) Select the best 3 for Parent 1 Genotype Phenotype Fitness Person 1: Fit: Person 2: Fit: Person 3: Fit: Person 4: Fit: Person 5: Fit: Person 6: 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 Phenotype Fitness Person 1: Fit: ? Person 2: Fit: ? Person 3: Fit: ? Person 4: Fit: ? Person 5: Fit: ? Person 6: Fit: ?
Estimation of Distribution Algorithms: Real-Coded Example (by hand) Evaluate Initial Population Phenotype Fitness Person 1: Fit: Person 2: Fit: Person 3: Fit: Person 4: Fit: Person 5: Fit: Person 6: Fit: 2.531
Estimation of Distribution Algorithms: Real-Coded Example Run (by hand) Select best 3 of 6 Phenotype Fitness Person 1: Fit: Person 2: Fit: Person 3: Fit: Person 4: Fit: Person 5: Fit: Person 6: Fit: 2.531
Estimation of Distribution Algorithms: Real-Coded Example Run (by hand) Calculate joint density function (Gaussian) Phenotype Fitness Person 3: Fit: Person 4: Fit: Person 6: Fit: x avg = , = 1.199
Estimation of Distribution Algorithms: Real-Coded Example Run (by hand) Create new population of 6 Phenotype Fitness Child 1 : Fit: Child 2 : Fit: Child 3 : Fit: Child 4 : Fit: Child 5 : Fit: Child 6 : Fit: 1.649
Estimation of Distribution Algorithms: Real-Coded Example Run (by hand) Replace Parents with Children; select best 3 of 6 Phenotype Fitness Person 1: Fit: Person 2: Fit: Person 3: Fit: Person 4: Fit: Person 5: Fit: Person 6: Fit: 1.649
Estimation of Distribution Algorithms: Real-Coded Example Run (by hand) Calculate new joint density function Phenotype Fitness Person 1: Fit: Person 2: Fit: Person 6: Fit: x avg = ; = 1.11