Skip to content

Latest commit

 

History

History
169 lines (107 loc) · 3.15 KB

node.md

File metadata and controls

169 lines (107 loc) · 3.15 KB

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

Node

A Node is an individual processing unit which receives and broadcasts signals.
 

Properties

unsigned long int key

A unique number which specifies the Node's position relative to its neighboring Nodes.
 

unsigned int tag

A unique number which specifies the Node's identity within a Genus.
 

element_state state

Specifies whether the Node is ENABLED or DISABLED.
 

node_role role

Labels the Node's role as INPUT, HIDDEN, BIAS, or OUTPUT.
 

std::vector<Link*> incoming

Stores pointers to the Node's incoming Links.
 

std::vector<Link*> outgoing

Stores pointers to the Node's outgoing Links.
 

std::vector<double> inputs

Stores the external weighted signals received by the Node.
 

double output

The Node's last generated output signal.
 

node_activation activation

Specifies whether the Node's activation corresponds to the HEAVISIDE, RELU, LOGISTIC, IDENTITY, or UNITY function.
 

double x

The Node's horizontal coordinate.
 

double y

The Node's vertical coordinate.
 

Constructors

Node(unsigned long int key_, unsigned int tag_, element_state state_, node_role role_, node_activation activation_, double x_, double y_)

Constructs a Node instance with properties given by the input arguments.
 

Node(unsigned long int key_, unsigned int tag_, element_state state_, node_role role_, Node* source_, Node* target_, node_activation activation_)

Constructs a Node instance located half-way between two other Nodes.
 

Node(Node* node_)

Constructs a shallow copy of the Node referenced by the input pointer.
 

Methods

double activate()

Produces the Node's output signal.
 

void engage()

Prompts the Node to produce and broadcast its output signal through its outgoing Links.
 

void disengage()

Primes the Node for a subsequent engagement.
 

void clear()

Clears the Node's output.
 

Vertex graph()

Generates a Vertex encapsulating the Node's properties.