A co-evolutionary algorithm for neural network learning

Usually, the evolutionary algorithms (EAs) are considered more efficient for optimal system design because EAs can provide higher opportunity for obtaining the global optimal solution. However, in most existing EAs, an individual corresponds directly to a candidate of the solution, and a huge amount of computations are required for designing large-scaled systems. This paper introduces a co-evolutionary algorithm (CEA) based on the concept of divide and conquer. The basic idea is to divide the system into many small homogeneous modules, define an individual as a module, find many good individuals using existing EAs, and put them together again to form the whole system. To make the study more concrete, we focus the discussion on the evolutionary learning of neural networks for pattern recognition. Experimental results are provided to show the procedure and the performance of the CEA.