130 likes | 356 Views
A Cooperative Coevolutionary Genetic Algorithm. Mitchell A. Potter kenneth A. De Jong Speaker: Lin, Wei-Kai (2008/11/25). Background. This framework was published in 1994 Intended to solve problems with complex structure
E N D
A Cooperative Coevolutionary Genetic Algorithm Mitchell A. Potter kenneth A. De Jong Speaker: Lin, Wei-Kai (2008/11/25)
Background • This framework was published in 1994 • Intended to solve problems with complex structure • Using a single population or a fixed number of competing subpopulations had been explored • But “evolving” structures is diffcult • How about using user-specified information?
Cooperative CoevolutionaryGenetic Algorithm • A species represents a subcomponent of a potential solution • The complete solution is combined from each species • The credit assignment of each species is defined by the complete solution • The number of species (subpopulations) should itself evolve if required • The evolution of each species is done by standard GA
The Algorithm of CCGA • For each species • Randomly initialize a population • Evaluate each individual in this population • Until termination, repeat • For each species • Do selection, crossover and mutation • Evaluate the fitness of each individual • The evaluation depends on other populations
Evaluating CCGA-1 • Using some N-dimensional functions • Each variable is a species and then a subpopulation • The fitness of an individual in a subpopulation comes from assembling it with other best species (that is, a greedy approach)
Testing Function • Minimize these functions with n = 20 • Rastrigin • Schwefel • Griewangk • Ackley
Results • All 4 testing functions out-performed stadard GA • Evaluating a species with other best species is quite similar to some numerical techqinues • If variables are independent, then it works well • The improvement on the Griewangk is smaller (which may comes from the product term) • How about more interactions between variables?
Results on Rosenbrock function • A “trap” between two variables
CCGA-2 • Apply random fitness evaluation on each species (and also the best one) • Choose the better of the two • That is, use a the fitness from random selection if the greedy way is not better • Requiring twice function evaluations
Conclusions • Showing that the cooperative coevolutionary framework has the capability to enhance the performance • This framework can also be applied to other evolutionary algorithms • Parallelizing such system is easy • Apply on complex structures