How can evolutionary algorithms solve complex problems? This paper introduces a novel architecture for evolving solutions in the form of interacting coadapted subcomponents, a crucial step in tackling increasingly complex problems with evolutionary algorithms. The challenge lies in enabling these subcomponents to emerge organically, rather than being pre-designed. This research proposes an architecture that evolves subcomponents as a collection of cooperating species. Using a simple string-matching task, the study demonstrates that evolutionary pressure to enhance the ecosystem's overall fitness can stimulate the emergence of interdependent subcomponents. These subcomponents cover multiple niches, evolve to an appropriate level of generality, and adapt as their number and roles change over time. Finally, the authors explore these principles within the more complex realm of artificial neural networks through a detailed case study. This research makes a significant contribution to the field of evolutionary computation, offering a promising approach for designing systems that can adapt and evolve complex solutions in dynamic environments. The architecture has potential applications in diverse domains, including robotics, artificial intelligence, and optimization problems.
This article, published in Evolutionary Computation, fits squarely within the journal's scope, exploring novel computational approaches inspired by evolutionary principles. The research on co-evolutionary algorithms and their application to complex problems aligns with the journal's commitment to advancing the field of evolutionary computation.