Nengo.ca

ca.nengo.model.plasticity.impl
Class PESTermination

java.lang.Object
  extended by ca.nengo.model.impl.EnsembleTermination
      extended by ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
          extended by ca.nengo.model.plasticity.impl.ModulatedPlasticEnsembleTermination
              extended by ca.nengo.model.plasticity.impl.PESTermination
All Implemented Interfaces:
Resettable, Termination, java.io.Serializable, java.lang.Cloneable

public class PESTermination
extends ModulatedPlasticEnsembleTermination

A termination whose transformation evolves according to the PES rule. The learning rate is defined by an AbstractRealLearningFunction (see its declaration for the inputs it receives). This learning rate function is applied to each In each case, the presynaptic-variable input to the function is the corresponding dimension of input to the Termination. The postsynaptic variable is taken as the corresponding dimension of the Origin NEFEnsemble.X. This implementation supports only a single separate modulatory variable, though it can be multi-dimensional. This is also user-defined, as some other Termination onto the same NEFEnsemble. TODO: test

See Also:
Serialized Form

Field Summary
 
Fields inherited from class ca.nengo.model.plasticity.impl.ModulatedPlasticEnsembleTermination
myModInput, myModTermName
 
Fields inherited from class ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
myLearning, myLearningRate, myOriginName, myOutput
 
Constructor Summary
PESTermination(NEFEnsemble ensemble, java.lang.String name, PlasticNodeTermination[] nodeTerminations)
           
 
Method Summary
 PESTermination clone(Node node)
          Clone method that changes necessary parameters to point to a new parent, for use in cloning ensembles, etc.
 boolean getOja()
           
 void reset(boolean randomize)
           
 void setOja(boolean oja)
           
 void updateTransform(float time, int start, int end)
           
 
Methods inherited from class ca.nengo.model.plasticity.impl.ModulatedPlasticEnsembleTermination
getModTermName, setModTerminationState, setModTermName
 
Methods inherited from class ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
getInput, getLearning, getLearningRate, getOriginName, getOutputs, getTransform, saveTransform, setLearning, setLearningRate, setOriginName, setOriginState, setTransform
 
Methods inherited from class ca.nengo.model.impl.EnsembleTermination
clone, getDimensions, getModulatory, getName, getNode, getNodeTerminations, getTau, setModulatory, setTau, setValues
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PESTermination

public PESTermination(NEFEnsemble ensemble,
                      java.lang.String name,
                      PlasticNodeTermination[] nodeTerminations)
               throws StructuralException
Parameters:
ensemble - The ensemble this termination belongs to
name - Name of this Termination
nodeTerminations - Node-level Terminations that make up this Termination. Must be all LinearExponentialTerminations
Throws:
StructuralException - If dimensions of different terminations are not all the same
Method Detail

reset

public void reset(boolean randomize)
Specified by:
reset in interface Resettable
Overrides:
reset in class ModulatedPlasticEnsembleTermination
Parameters:
randomize - True indicates that the object should be reset to a randomly selected initial state (the object must be aware of the distribution from which to draw from). False indicates that the object should be reset to a fixed initial state (which it must also know). Some objects may not support randomization of the initial state, in which case a fixed state will be used in either case.
See Also:
Resettable.reset(boolean)

getOja

public boolean getOja()
Returns:
Name of Origin from which post-synaptic activity is drawn

setOja

public void setOja(boolean oja)
Parameters:
oja - Should this termination use Oja smoothing?

updateTransform

public void updateTransform(float time,
                            int start,
                            int end)
                     throws StructuralException
Specified by:
updateTransform in class PlasticEnsembleTermination
Parameters:
time - Current time
start - The start index of the range of transform values to update (for multithreading)
end - The end index of the range of transform values to update (for multithreading)
Throws:
StructuralException - if
See Also:
PlasticEnsembleTermination.updateTransform(float, int, int)

clone

public PESTermination clone(Node node)
                     throws java.lang.CloneNotSupportedException
Description copied from interface: Termination
Clone method that changes necessary parameters to point to a new parent, for use in cloning ensembles, etc.

Specified by:
clone in interface Termination
Overrides:
clone in class ModulatedPlasticEnsembleTermination
Parameters:
node - New parent node
Returns:
A clone of the termination for the new parent ensemble
Throws:
java.lang.CloneNotSupportedException - if clone cannot be made

Nengo.ca