verve::Projection Class Reference

An interface for a group of Connections from one group of Neurons to another. More...

#include <Projection.h>

Inheritance diagram for verve::Projection:

verve::TDProjection List of all members.

Public Member Functions

VERVE_DECL Projection ()
virtual VERVE_DECL ~Projection ()
virtual VERVE_DECL void VERVE_CALL init (Population *pop1, Population *pop2, InitialWeightMethod initWeightMethod, real maxInputPopActivationSum)
virtual VERVE_DECL void VERVE_CALL init (Population *pop, Neuron *neuron, InitialWeightMethod initWeightMethod, real maxInputPopActivationSum)
virtual VERVE_DECL void VERVE_CALL init (Neuron *neuron, Population *pop, InitialWeightMethod initWeightMethod, real maxInputPopActivationSum)
virtual VERVE_DECL void VERVE_CALL resetShortTermMemory ()
virtual VERVE_DECL void VERVE_CALL addPreNeuron (Neuron *neuron)
virtual VERVE_DECL unsigned
int VERVE_CALL 
getNumConnections () const
virtual VERVE_DECL Connection
*VERVE_CALL 
getConnection (unsigned int i)

Protected Member Functions

void clear ()
void setInitialConnectionWeights ()
void setInitialConnectionWeight (Connection *c)
void createConnections (Neuron *neuron, Population *pop)
void storeTargetNeuronReferences (Population *pop)
void storeTargetNeuronReferences (Neuron *neuron)
virtual void connectNeurons (Neuron *neuron1, Neuron *neuron2)

Protected Attributes

std::vector< Connection * > mConnections
std::vector< Neuron * > mTargetNeurons
InitialWeightMethod mInitialWeightMethod
real mMaxInputPopActivationSum

Detailed Description

An interface for a group of Connections from one group of Neurons to another.

Definition at line 50 of file Projection.h.


Constructor & Destructor Documentation

verve::Projection::Projection  ) 
 

Definition at line 31 of file Projection.cpp.

References verve::IDEAL_NOISE, and mInitialWeightMethod.

verve::Projection::~Projection  )  [virtual]
 

Destroys all Connections.

Definition at line 37 of file Projection.cpp.

References clear().


Member Function Documentation

void verve::Projection::addPreNeuron Neuron neuron  )  [virtual]
 

Connects a new pre-synaptic Neuron to all post-synaptic targets.

Adds noise to the new Connections.

Definition at line 128 of file Projection.cpp.

References connectNeurons(), mConnections, mTargetNeurons, and setInitialConnectionWeight().

void verve::Projection::clear  )  [protected]
 

Destroys all Connections.

Definition at line 103 of file Projection.cpp.

References mConnections.

Referenced by init(), and ~Projection().

void verve::Projection::connectNeurons Neuron neuron1,
Neuron neuron2
[protected, virtual]
 

Creates a Connection from one neuron1 to neuron2 and stores the Connection internally.

Informs the two Neurons of the new Connection.

Reimplemented in verve::TDProjection.

Definition at line 255 of file Projection.cpp.

References verve::Neuron::addAxon(), verve::Neuron::addDendrite(), and mConnections.

Referenced by addPreNeuron(), createConnections(), and init().

void verve::Projection::createConnections Neuron neuron,
Population pop
[protected]
 

Creates a set of Connections from a Neuron to a Population.

Definition at line 232 of file Projection.cpp.

References connectNeurons(), verve::Population::getNeuron(), and verve::Population::getNumNeurons().

Referenced by init().

Connection * verve::Projection::getConnection unsigned int  i  )  [virtual]
 

Returns the Connection at the given index.

Definition at line 148 of file Projection.cpp.

References mConnections.

unsigned int verve::Projection::getNumConnections  )  const [virtual]
 

Returns the number of Connections in the Projection.

Definition at line 143 of file Projection.cpp.

References mConnections.

void verve::Projection::init Neuron neuron,
Population pop,
InitialWeightMethod  initWeightMethod,
real  maxInputPopActivationSum
[virtual]
 

Creates Connections from a single Neuron to a Population.

Clears any existing Connections first. Sets the inital Connection weight method and the maximum activation sum of the presynaptic Population (used to determine initial weight noise).

Definition at line 86 of file Projection.cpp.

References clear(), createConnections(), verve::Population::getNumNeurons(), mConnections, mInitialWeightMethod, mMaxInputPopActivationSum, setInitialConnectionWeights(), and storeTargetNeuronReferences().

void verve::Projection::init Population pop,
Neuron neuron,
InitialWeightMethod  initWeightMethod,
real  maxInputPopActivationSum
[virtual]
 

Creates Connections from a Population to a single Neuron.

Clears any existing Connections first. Sets the inital Connection weight method and the maximum activation sum of the presynaptic Population (used to determine initial weight noise).

Definition at line 65 of file Projection.cpp.

References clear(), connectNeurons(), verve::Population::getNeuron(), verve::Population::getNumNeurons(), mConnections, mInitialWeightMethod, and mMaxInputPopActivationSum.

void verve::Projection::init Population pop1,
Population pop2,
InitialWeightMethod  initWeightMethod,
real  maxInputPopActivationSum
[virtual]
 

Creates Connections from one Population to another.

Clears any existing Connections first. Sets the inital Connection weight method and the maximum activation sum of the presynaptic Population (used to determine initial weight noise).

Definition at line 42 of file Projection.cpp.

References clear(), createConnections(), verve::Population::getNeuron(), verve::Population::getNumNeurons(), mConnections, mInitialWeightMethod, and mMaxInputPopActivationSum.

Referenced by verve::Population::project(), and verve::Population::projectTD().

void verve::Projection::resetShortTermMemory  )  [virtual]
 

Resets temporary dynamics without affecting learned parameters.

Definition at line 119 of file Projection.cpp.

References mConnections.

void verve::Projection::setInitialConnectionWeight Connection c  )  [protected]
 

Sets the Connection's weights to some initial value as determined by the InitialWeightMethod.

Definition at line 190 of file Projection.cpp.

References verve::IDEAL_NOISE, mInitialWeightMethod, mMaxInputPopActivationSum, verve::globals::randomRealGauss(), verve::Connection::setWeight(), verve::WEIGHTS_NEAR_0, and verve::WEIGHTS_NEAR_1.

Referenced by addPreNeuron(), and setInitialConnectionWeights().

void verve::Projection::setInitialConnectionWeights  )  [protected]
 

Sets all Connection weights to some initial value as determined by the InitialWeightMethod.

Definition at line 181 of file Projection.cpp.

References mConnections, and setInitialConnectionWeight().

Referenced by init().

void verve::Projection::storeTargetNeuronReferences Neuron neuron  )  [protected]
 

Stores a reference to the given Neuron in the target Neurons list.

Definition at line 250 of file Projection.cpp.

References mTargetNeurons.

void verve::Projection::storeTargetNeuronReferences Population pop  )  [protected]
 

Stores references to the given Population's Neurons in the target Neurons list.

Definition at line 241 of file Projection.cpp.

References verve::Population::getNeuron(), and verve::Population::getNumNeurons().

Referenced by init().


Member Data Documentation

std::vector<Connection*> verve::Projection::mConnections [protected]
 

A list of all Connections in the Projection.

Definition at line 143 of file Projection.h.

Referenced by addPreNeuron(), clear(), verve::TDProjection::connectNeurons(), connectNeurons(), getConnection(), getNumConnections(), init(), resetShortTermMemory(), verve::TDProjection::setETraceDecayFactor(), setInitialConnectionWeights(), and verve::TDProjection::setTDDiscountFactor().

InitialWeightMethod verve::Projection::mInitialWeightMethod [protected]
 

The method used to set new Connection weights.

Definition at line 150 of file Projection.h.

Referenced by init(), Projection(), and setInitialConnectionWeight().

real verve::Projection::mMaxInputPopActivationSum [protected]
 

The maximum activation sum of the presynaptic Population (used to determine initial weight noise).

Definition at line 154 of file Projection.h.

Referenced by init(), and setInitialConnectionWeight().

std::vector<Neuron*> verve::Projection::mTargetNeurons [protected]
 

A list of all target Neurons.

Useful for adding new Connections later.

Definition at line 147 of file Projection.h.

Referenced by addPreNeuron(), and storeTargetNeuronReferences().


The documentation for this class was generated from the following files:
Generated on Tue Jan 24 21:46:39 2006 for Verve by  doxygen 1.4.6-NO