21
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 Let’s review what have done in EC so far: We have studied EP and found that each individual searched via Gaussian

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

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

Genotype Phenotype Fitness

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

Genotype Phenotype Fitness

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.

Genotype Phenotype Fitness

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.

Genotype Phenotype Fitness

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.

Genotype Phenotype FitnessPerson 2: 0100101 - 0.835 Fit: 0.697Person 3: 1101010 1.339 Fit: 1.790Person 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

Genotype Phenotype Fitness

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 Genotype Phenotype Fitness

Person 2: 0100101 - 0.835 Fit: 0.697Person 3: 1101010 1.339 Fit: 1.790Person 6: 0001101 - 1.591 Fit: 2.531

Genotype Phenotype FitnessChild 1 : 0001010 - 1.685 Fit: 2.839Child 2 : 1101101 1.433 Fit: 2.054Child 3 : 0101101 - 0.583 Fit: 0.340Child 4 : 0001011 - 1.654 Fit: 2.736Child 5 : 1100110 1.213 Fit: 1.470Child 6 : 0100101 - 0.835 Fit: 0.697

Estimation of Distribution Algorithms:An Example Run (by hand)

• Select the best 3 for Parent1

Genotype Phenotype Fitness

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 Phenotype Fitness

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

Phenotype Fitness

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

Phenotype Fitness

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)

Phenotype Fitness

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

Phenotype Fitness

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

Phenotype Fitness

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

Phenotype Fitness

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