NeuroEvolution
Neuroevolution is the application of evolutionary computation to the design and training of artificial neural networks. It evolves populations of networks to maximize fitness, potentially optimizing topology, connection weights, and sometimes learning rules. Neuroevolution is used in reinforcement learning, robotics, and pattern recognition, and is often presented as an alternative or complement to gradient-based methods such as backpropagation.
Networks are encoded as genomes that determine structure and parameters. A fitness evaluation runs the network
One influential family is NEAT, NeuroEvolution of Augmenting Topologies. NEAT evolves both topology and weights from
HyperNEAT extends NEAT with indirect encoding via compositional pattern-producing networks (CPPNs), enabling large-scale networks whose connectivity
Applications include game playing, autonomous robots, control systems, and optimization tasks. Neuroevolution can discover compact, generalizable