120 likes | 141 Views
Investigating niching and species formation in genetic function optimization using genetic algorithms. Explore how to find and climb the highest peak, maintain proportional populations on multi-peak functions, and improve performance through fitness sharing and mating restrictions.
E N D
Kalyanmoy Deb David E. Goldberg An Investigation of Niching and Species Formation in Genetic Function Optimization Genetic Algorithms
What is the paper about? • Multimodal function optimization • What behavior would be like? • Find and climb the highest peak? • Have members of the population on every peak? How many? • How do we get the behavior we want: • Niching • Fitness sharing • Conclusions Genetic Algorithms
Where are we now? • DeJong used crowding in 1975 • Create niches by replacing existing strings according to their similarity with other strings in the population • When selecting an individual to replace: C_f (crowding factor) individuals are randomly picked from the population and the most genotypically similar to the new individual is replaced • Note that only a proportion G (generation gap) of the population reproduces every gen • Goldberg and Richardson: Fitness sharing schemes. Share according to similarity in • Genotypic space - bit string space • Phenotypic space – decoded parameter space Genetic Algorithms
Phenotypic Sharing • Sharing function • Sh(d): • = 1 – (d/s)^a if d < s • = 0 if d >= s Good results on a couple of functions Genetic Algorithms
How do we get s in phenotypic space? • D can simply be euclidean distance • We want s to divide the search space in such a way as to be half the distance between peaks • S = (Xmax – Xmin)/2q where q is the number of peaks Genetic Algorithms
How do we get s in genotypic space? • D can simply be hamming distance • We want s to divide the search space in such a way as to be half the distance between peaks • S = 0.5 (L + z * sqrt(L)) • z* is the normalized bit difference corresponding to 1/q of the space Genetic Algorithms
Results (F1) Genetic Algorithms
Results (F1) Genetic Algorithms
Results (F2) Genetic Algorithms
Mating restrictions • Crossover produces individuals between peaks • Restricting mating • Find a mate for individual i • Choose random individual, j, from population • If distance (i, j) < sigma crossover • Else • Choose another individual j, at random • Distance can be phenotypic or genotypic Genetic Algorithms
Results Genetic Algorithms
Conclusions • We can maintain proportional populations on multi-peak functions through fitness sharing • We can improve performance meaning reduce the number of population members in-between peaks by using mating restrictions • To do this on a specific application, we would need to • Know the number of peaks • The distance between peaks • This may not be possible, so we would have to guess at the value of the s parameter (sigma share) in the formula • Fitness sharing to move members away from an area of the search space will be useful in other ways (Co-evolution, for example) Genetic Algorithms