1 Cooperative coevolutionary methods Nicol´asGarc´ ıa-Pedrajas, C´ esarHerv´as-Mart´ ınez, and Domingo Ortiz-Boyer Abstract This chapter presents Covnet a cooperative coevolutionary model for evolving artificial neural networks. This model is based on the idea of coevolving subnetworks that must cooperate to form a solution for a specific problem, instead of evolving complete networks. The combination of this subnetworks is part of a coevolutionary process. The best combinations of subnetworks must be evolved together with the coevolution of the subnetworks. Several subpopulations of subnetworks coevolve cooperatively and genetically isolated. The individual of every subpopulation are combined to form whole networks. This is a different approach from most current models of evolutionary neural networks which try to develop whole networks. Covnet places as few restrictions as possible over the network structure, allowing the model to reach a wide variety of architectures during the evolution and to be easily extensible to other kind of neural networks. The performance of the model in solving three real problems of classification is compared with a modular network, the adaptive mixture of experts, and with the results presented in the literature. Covnet has shown better generalization and produced smaller networks than the adaptive mixture of experts, and has also achieved results, at least, comparable with the results in the literature. Keywords Neural networks automatic design, cooperative coevolution, evolutionary computation, genetic algorithms, evolu- tionary programming. I. Introduction In the area of neural networks [1] design one of the main problems is finding suitable architectures for solving specific problems. The election of such architecture is very important, as a network smaller than needed would be unable to learn and a network larger than needed would end in over-training. The problem of finding a suitable architecture and the corresponding weights of the network is a very complex task (for a very interesting review of the matter the reader can consult [2]). Modular systems are often used in machine learning as an approach for solving these complex problems. Moreover, in spite of the fact that small networks are preferred because they usually lead to better performance, the error surfaces of such networks are more rugged and have few good solutions [3]. In addition, there is much neuropsychological evidence showing that the brain of humans and other animals consists of modules, which are subdivisions in identifiable parts, each one with its own purpose and function [4]. The objective of this chapter is showing how Cooperative Coevolution, a recent paradigm within the field of Evolutionary Computation, can be used to design of such modular neural networks. Evolutionary computation [5] [6] is a set of global optimization techniques that have been widely used in late years for training and automatically designing neural networks (see Section III). Some efforts have been made in designing modular [7] neural networks with these techniques(e.g. [8]), but in almost all of them the design of the networks is helped by methods outside evolutionary computation, or the application area for those models is limited to very specific architectures. This chapter is organised as follows: Section II explains the paradigm of cooperative coevolution; Section III shows an application of cooperative coevolution to automatic neural network design; Section IV describes the experiments carried out; and finally Section V states the conclusions of this chapter. II. Cooperative coevolution Cooperative coevolution [9] is a recent paradigm in the area of evolutionary computation focused on the evolution of coadapted subcomponents without external interaction. In cooperative coevolution a number of species are evolved together. The cooperation among the individuals is encouraged by rewarding the individuals based on how well they cooperate to solve a target problem. The work on this paradigm has shown The authors are with the Department of Computing and Numerical Analysis of the University of C´ordoba. e-mail: {npedrajas, chervas, dortiz}@uco.es