Estimation of Distribution Algorithms

advertisement
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 (BinaryCoded):
• 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
Person 1: 1001010
0.331
Person 2: 0100101 - 0.835
Person 3: 1101010
1.339
Person 4: 0110110 - 0.300
Person 5: 1001111
0.488
Person 6: 0001101 - 1.591
Fitness
Fit: 0.109
Fit: 0.697
Fit: 1.790
Fit: 0.090
Fit: 0.238
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 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
• 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
Child 1 : 0001010 - 1.685
Child 2 : 1101101
1.433
Child 3 : 0101101 - 0.583
Child 4 : 0001011 - 1.654
Child 5 : 1100110
1.213
Child 6 : 0100101 - 0.835
Fitness
Fit: 2.839
Fit: 2.054
Fit: 0.340
Fit: 2.736
Fit: 1.470
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.697
Person 3: 1101010
1.339
Fit: 1.790
Person 6: 0001101
- 1.591
Fit: 2.531
Child 1
Child 2
Child 3
Child 4
Child 5
Child 6
Genotype Phenotype Fitness
: 0001010 - 1.685
Fit: 2.839
: 1101101
1.433
Fit: 2.054
: 0101101 - 0.583
Fit: 0.340
: 0001011 - 1.654
Fit: 2.736
: 1100110
1.213
Fit: 1.470
: 0100101 - 0.835
Fit: 0.697
Estimation of Distribution Algorithms:
An Example Run (by hand)
• Select the best 3 for Parent1
Genotype Phenotype
Person 1: 0001010 - 1.685
Person 2: 1101101
1.433
Person 3: 0101101 - 0.583
Person 4: 0001011 - 1.654
Person 5: 1100110
1.213
Person 6: 0100101 - 0.835
Fitness
Fit: 2.839
Fit: 2.054
Fit: 0.340
Fit: 2.736
Fit: 1.470
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
Download