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