Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

NolfiEncoding Class Reference

Encoding method by Nolfi and Parisi (1992). More...

#include <nolfi.h>

Inheritance diagram for NolfiEncoding:

ANNEncoding CangelosiEncoding List of all members.

Public Methods

 NolfiEncoding (const GeneticID &name, const StringMap &params)
virtual Genstruct * replicate () const
virtual void copy (const Genstruct &other)
virtual bool execute (const GeneticMsg &msg) const
virtual void addPrivateGenes (Gentainer &g, const StringMap &params)

Detailed Description

Encoding method by Nolfi and Parisi (1992).

It uses a cell space where the potential neurons are located. The neurons grow axon trees, and if the tips of the axon trees touch other neurons, connections are made.

Each of the neurons is encoded separately in the genome. Parameters include position in the cell space as well as the parameters dictating the shape of the axon tree.

Our implementation encodes only the topology of the network; the weights are not encoded, but are learned by a separate neural training algorithm.

Definition at line 34 of file nolfi.h.


Constructor & Destructor Documentation

NolfiEncoding const GeneticID &    name,
const StringMap &    params
 

Standard constructor.

Parameters:
name  The gene name. Usually "brainplan".
params  Dynamic parameter String Map.
params  ["existenceGene"] Boolean parameter that controls whether or not each neuron has an additional expression gene that tells if the neuron is enabled or not. This gene was used in the original method, but it may cause unnecessary ...
params  ["faceGene"] Should the "face" gene be used, that allows axon trees to sprout to any direction. [Default: 0]
params  ["neurons"] Number of encoded cells in the genome; the maximum number of neurons in the phenotypic neural network. Typical values are 32 or 64.
params  ["types"] Number of neuron types. Must be a power of 2; typically 8,16,32,64. This value MUST exceed the number of input and output neurons.
params  ["tipRadius"] Connection radius of axon tips. Must be >=0.5, typical values are 0.5..10. Special values "auto-cell" or "auto-network" cause the tip radius to be encoded in the genome. The value "auto-network" uses a common gene for all the cells in the genome; "auto-cell" uses a separate gene for every cell.
params  ["axonScale"] Axon size scale coefficient. [Default=1.0]
params  ["xSize"] Size of x-dimension of the cell space. [Default=9]
params  ["ySize"] Size of y-dimension of the cell space. [Default=22]

Definition at line 28 of file nolfi.cc.

Referenced by replicate().


Member Function Documentation

void addPrivateGenes Gentainer &    g,
const StringMap &    params
[virtual]
 

Implementation for Genstruct.

Reimplemented from ANNEncoding.

Reimplemented in CangelosiEncoding.

Definition at line 68 of file nolfi.cc.

References NolfiCell::addGenesTo().

void copy const Genstruct &    other [virtual]
 

Implementation for Genstruct.

Reimplemented from ANNEncoding.

Reimplemented in CangelosiEncoding.

Definition at line 58 of file nolfi.cc.

References ANNEncoding::copy(), mAxonScale, mTipRadius, mTypes, mXSize, and mYSize.

Referenced by CangelosiEncoding::copy().

bool execute const GeneticMsg &    msg const [virtual]
 

Implementation for Genstruct.

Reimplemented in CangelosiEncoding.

Definition at line 80 of file nolfi.cc.

References NolfiNet::decodeFrom(), NolfiNet::drawEPS(), and NolfiNet::growNet().

virtual Genstruct* replicate   const [inline, virtual]
 

Implementation for Genstruct.

Reimplemented in CangelosiEncoding.

Definition at line 56 of file nolfi.h.

References NolfiEncoding().


The documentation for this class was generated from the following files:
Generated on Thu Feb 10 20:21:26 2005 for Annalee by doxygen1.2.18