Darwin Neuroevolution Framework
Public Member Functions | Public Attributes | List of all members
darwin::Genotype Class Referenceabstract

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< Braingrow () const =0
 "Grow" a Brain using the genetic "recipe" encoded in this genotype
 
virtual unique_ptr< Genotypeclone () 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.
 

Detailed Description

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.

See also
Brain

The documentation for this class was generated from the following file: