Darwin Neuroevolution Framework
|
The interface to the population-specific "genetic material", the Genotype More...
#include <darwin.h>
Inherited by cgp::Genotype, cne::Genotype< TRAITS >, neat::Genotype, and test_population::Genotype.
Public Member Functions | |
virtual unique_ptr< Brain > | grow () const =0 |
"Grow" a Brain using the genetic "recipe" encoded in this genotype | |
virtual unique_ptr< Genotype > | clone () const =0 |
Returns a clone of this genotype. | |
virtual json | save () const =0 |
Creates a JSON representation. | |
virtual void | load (const json &json_obj)=0 |
Loads a JSON representation. | |
Public Attributes | |
float | fitness = 0 |
The evaluated fitness value (see Domain::evaluatePopulation) | |
Genealogy | genealogy |
Genealogy information. | |
The interface to the population-specific "genetic material", the Genotype
This is one of the central concepts in Neuroevolution (and Genetic Algorithms in general). A population is a collection of geneotypes, each describing a particular configuration of genetic material. The genotype is the "recipe" for creating Brain instances (the phenotype), which are the actual functional units mapping domain inputs to output values.
Each genotype's fitness is evaluated indirectly through the phenotype (brain) counterpart: the better the brain performance, relative to a domain specific criteria, the higher the fitness value.