On the Effects of Collaborators Selection and Aggregation in Cooperative Coevolution: an Experimental Analysis
26th European Conference on Genetic Programming (EuroGP), held in Brno (Czech Republic)
Links and material:
Abstract # ↰
Cooperative Coevolution is a way to solve complex optimization problems by dividing them in smaller, simpler sub-problems. Those sub-problems are then tackled concurrently by evolving one population of solutions—actually, components of a larger solution—for each of them. However, components cannot be evaluated in isolation: in the common case of two concurrently evolving populations, each solution of one population must be coupled with another solution of the other population (the collaborator) in order to compute the fitness of the pair. Previous studies have already shown that the way collaborators are chosen and, if more than one is chosen, the way the resulting fitness measures are aggregated, play a key role in determining the success of coevolution. In this paper we perform an experimental analysis aimed at shedding new light on the effects of collaborators selection and aggregation. We first propose a general scheme for cooperative coevolution of two populations that allows to (a) use different EAs and solution representations on the two sub-problems and to (b) set different collaborators selection and aggregation strategies. Second, we instantiate this general scheme in a few variants and apply it to four optimization problems with different degrees of separability: two toy problems and two real prediction problems tackled with different kinds of model (symbolic regression and neural networks). We analyze the outcomes in terms of (a) effectiveness and efficiency of the optimization and (b) complexity and generalization power of the solutions. We find that the degree to which selection and aggregation schemes differ strongly depends on the interaction between the components of the solution.