ca.nengo.model.plasticity
Interface PlasticityRule

All Superinterfaces:
java.lang.Cloneable, Resettable, java.io.Serializable
All Known Implementing Classes:
CompositePlasticityRule, CompositePlasticityRule.NullRule, RealPlasticityRule, SpikePlasticityRule

public interface PlasticityRule
extends Resettable, java.io.Serializable, java.lang.Cloneable

Specifies how the termination weights of a PlasticEnsemble are modified depending on presynaptic and postsynaptic state.

Author:
Bryan Tripp

Method Summary
 PlasticityRule clone()
           
 float[][] getDerivative(float[][] transform, InstantaneousOutput input, float time)
           
 void setModTerminationState(java.lang.String name, InstantaneousOutput state, float time)
          Provides potentially modulatory input to the rule.
 void setOriginState(java.lang.String name, InstantaneousOutput state, float time)
          Provides state or functional output, which may serve as an indication of postsynaptic activity (used in Hebbian learning).
 
Methods inherited from interface ca.nengo.model.Resettable
reset
 

Method Detail

setModTerminationState

void setModTerminationState(java.lang.String name,
                            InstantaneousOutput state,
                            float time)
Provides potentially modulatory input to the rule. Note that although modulatory input will most commonly be used here, an NEFEnsemble will provide outputs of all Terminations via this method regardless of whether a Termination has property Termination.MODULATORY=="true".

Parameters:
name - The name of a DecodedTermination onto the ensemble
state - The present value of output from the named Termination (may differ from its input in terms of dynamics and dimension)
time - Simulation time at which state arrives at site of plasticity

setOriginState

void setOriginState(java.lang.String name,
                    InstantaneousOutput state,
                    float time)
Provides state or functional output, which may serve as an indication of postsynaptic activity (used in Hebbian learning).

Parameters:
name - The name of a DecodedOrigin from the ensemble
state - The present value of output from the named Origin
time - Simulation time at which state arrives at site of plasticity

getDerivative

float[][] getDerivative(float[][] transform,
                        InstantaneousOutput input,
                        float time)
Parameters:
transform - The present transformation matrix of a Termination
input - The present input to the Termination
time - Simulation time at which input arrives at site of plasticity
Returns:
The rate of change of each element in the transform (units per second) if input is RealOutput, otherwise the increment of each element in the transform

clone

PlasticityRule clone()
                     throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException