Skip to content

Latest commit

 

History

History
82 lines (53 loc) · 2.41 KB

phenotype.md

File metadata and controls

82 lines (53 loc) · 2.41 KB

Utilities
Parameters
Experiment ━━ Genus ━━ Species ━━ Organism ━━ Genotype ━━ Chromosome ━━ Node
                                                                ┗━━━━ Phenotype              ┗━━━━━ Link

Phenotype

A Phenotype embodies the artificial neural network encoded by an Organism's Genotype.
 

Properties

Organism* organism

Points to the Phenotype's associated Organism.
 

std::vector<double> output

The Phenotype's latest output.
 

Constructor

Phenotype(Organism* organism_)

Constructs a Phenotype, associating it to the referenced input Organism.
 

Methods

void assemble()

Assembles the Phenotype by ensuring all Links and Nodes are properly connected. The disassemble() method is always called prior to assemblage in order to ensure that the artificial neural network's topology is correctly represented.
 

void disassemble()

Disassembles the Phenotype by undoing all existing connections between Links and Nodes. The deactivate() method is always called prior to disassemblage so as to guarantee that the artificial neural network can be promptly activated once re-assembled.
 

void activate(std::vector<double> inputs_)

Propagates the input_ signal through the artificial neural network, storing its outcome in the Phenotype's output.
 

void deactivate();

Disengages all ENABLED Nodes and clears the Phenotype's output, allowing the artificial neural network to be activated once again.
 

void discontinue()

Clears the output of each HIDDEN and OUTPUT Node, effectively erasing the artificial neural network's memory of past activations.