We are studying the effectiveness and dynamics of coevolutionary learning. Coevolutionary learning is an adaptive computational technique, related to genetic algorithms, in which a population of learners coevolves with a population of training examples, in order to evolve training examples that are optimally challenging for evolving learners at different stages of evolution. We have shown that some previously reported results on coevolution in the evolutionary computation literature can largely be explained as a result of a technique called ``resource sharing'' rather than coevolution, but that coevolution on a spatial lattice has a highly significant advantage over evolution, resource sharing, and other evolutionary methods (see Figure 1). We are continuing to study the effects of spatial distirbution on coevolution between populations.
|
Figure 1: Percentage of successful runs (out of 50 or more independent runs) for each of eight different learning methods, as applied to the one-dimensional "density-classification" task for cellular automata. The eight methods are: spatial coevolution, non-spatial coevolution, spatial evolution, non-spatial evolution, spatial resource sharing, non-spatial resource sharing, boosting GAs, and voting GAs.
   
|
Figure 2: Left: Diversity in population (measured in terms of proportion of individuals that implement different types of strategies) as a function of generation in a typical run of spatial coevolution. Right: Same as on the left, but for a typical run of non-spatial coevolution.
Publications from this Project: