 neuroevolution, or neuro-evolution, is a form of machine learning that uses evolutionary algorithms to train artificial neural networks. it is most commonly applied in artificial life, computer games, and evolutionary robotics. a main benefit is that neuroevolution can be applied more widely than supervised learning algorithms, which require a syllabus of correct input-output pairs. in contrast, neuroevolution requires only a measure of a network's performance at a task. for example, the outcome of a game (i.e. whether one player won or lost) can be easily measured without providing labeled examples of desired strategies. ==features== there are many neuroevolution algorithms. one common distinction is whether algorithms evolve only the strength of the connection weights for a fixed network topology (sometimes called conventional neuroevolution), as opposed to those that evolve both the topology of the network and its weights (called tweanns, for topology & weight evolving artificial neural network algorithms). a separate distinction can be made between methods that evolve the structure of anns in parallel to its parameters (those applying standard evolutionary algorithms) and those that develop them separately (through memetic algorithms).togelius, julian and schaul, tom and schmidhuber, jurgen and gomez, faustino. countering poisonous inputs with memetic neuroevolution. in proceedings of parallel problem solving from nature (ppsn x), 2008.  other dimensions of variation include what type of neural model is employed, which ranges from simple weighted-sum units to more biologically accurate models; if the neural network weights are fixed during evaluation or if evolved learning rules can allow lifetime learning (i.e. plastic neural networks); and whether each element of the evolved network is directly encoded as a separate gene (called a direct encoding), or whether there is gene reuse through which one gene may encode many network elements (called an indirect encoding). ==direct and indirect encoding of networks== evolutionary algorithms operate on a population of genotypes (also referred to as genomes). in neuroevolution, a genotype is mapped to a neural network phenotype that is evaluated on some task to derive its fitness. in direct encoding schemes the genotype directly maps to the phenotype. that is, every neuron and connection in the neural network is specified directly and explicitly in the genotype. in contrast, in indirect encoding schemes the genotype specifies indirectly how that network should be generated.yohannes kassahun, mark edgington, jan hendrik metzen, gerald sommer and frank kirchner. common genetic encoding for both direct and in
Evolutionary_algorithms