neuroidnet.ntr
Class SRMNeuroid

java.lang.Object
  |
  +--neuroidnet.ntr.Neuroid
        |
        +--neuroidnet.ntr.SRMNeuroid
All Implemented Interfaces:
Expressive, Input, Serializable, Simulation
Direct Known Subclasses:
AdThNeuroid, ArtificialConcept, PeakerNeuroid, SensoryNeuroid

public class SRMNeuroid
extends Neuroid

First attempt to implement the central neuroidal entity with programmability capability as defined by Valiant. Also includes simple soma functionality of a spiking neuron model, specifically the spike response model as defined in Maass and Bishop 1999.

Created: Thu May 2 22:00:37 2002

Modified: $Date: 2003/03/09 19:26:17 $

Version:
$Revision: 1.6 $ for this file.
Author:
Cengiz Gunay
See Also:
Serialized Form

Nested Class Summary
protected  class SRMNeuroid.Mode
           
 
Nested classes inherited from class neuroidnet.ntr.Neuroid
Neuroid.SynapseActivityTask
 
Field Summary
(package private) static double correctTimesRequired
          Learning parameter for the Winnow learning algorithm.
(package private)  double externalCurrent
          Constant external current for all neuroids in network (not used!)
(package private)  double refractoryTimeConstant
           
(package private)  double sumOfCurrentWeights
          Internal.
 
Fields inherited from class neuroidnet.ntr.Neuroid
area, concept, debug, id, mode, potential, profile, spikeTrain, synapses, timeLastFired, watch
 
Constructor Summary
SRMNeuroid(Area area)
          Sets mode and calls super().
SRMNeuroid(Area area, double initialThreshold, double refractoryTimeConstant)
          Sets initial parameters.
 
Method Summary
protected  void calculatePotential()
          Iterate through Synapses and add kernel values and decrease refractoriness at this time value.
static double defaultPeriod()
          Helper method to get a period for initiating calculations in Network.
 void fire()
          Saves firing time to spikeTrain.
 double getRefractoryTimeConstant()
          Get the value of refractoryTimeConstant.
(package private)  double refractoriness(double time)
          Refractory kernel taken from Maass and Bishop 1999, Eq.
 void setRefractoryTimeConstant(double v)
          Set the value of refractoryTimeConstant.
 
Methods inherited from class neuroidnet.ntr.Neuroid
addSynapse, dumpData, getArea, getConcept, getId, getMode, getProfile, getProperties, getSpikeTrain, getStatus, getSynapses, getTimeLastFired, init, isDebug, isWatch, makeConcept, setArea, setDebug, setMode, setProfile, setSpikeTrain, setWatch, step, stop, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

correctTimesRequired

static final double correctTimesRequired
Learning parameter for the Winnow learning algorithm.

See Also:
SRMNeuroid.SRMMode#updateWeights, Constant Field Values

refractoryTimeConstant

double refractoryTimeConstant

externalCurrent

double externalCurrent
Constant external current for all neuroids in network (not used!)


sumOfCurrentWeights

double sumOfCurrentWeights
Internal.

Constructor Detail

SRMNeuroid

public SRMNeuroid(Area area)
Sets mode and calls super().


SRMNeuroid

public SRMNeuroid(Area area,
                  double initialThreshold,
                  double refractoryTimeConstant)
Sets initial parameters. (Not used: Calculates sumOfWeights from period length given by the Area.)

Parameters:
area - an Area value
refractoryTimeConstant -
See Also:
SRMNeuroid.Mode.sumOfWeights, Area.period
Method Detail

getRefractoryTimeConstant

public double getRefractoryTimeConstant()
Get the value of refractoryTimeConstant.

Returns:
value of refractoryTimeConstant.

setRefractoryTimeConstant

public void setRefractoryTimeConstant(double v)
Set the value of refractoryTimeConstant.

Parameters:
v - Value to assign to refractoryTimeConstant.

fire

public void fire()
Saves firing time to spikeTrain. And removes old spikes unless being watched.

Specified by:
fire in interface Input
Overrides:
fire in class Neuroid
See Also:
Area.fireNeuroid(neuroidnet.ntr.Neuroid), Neuroid.watch

defaultPeriod

public static double defaultPeriod()
Helper method to get a period for initiating calculations in Network. Initial period is calculated using network parameter values taken from Hopfield & Herz 95.

Returns:
a double value
See Also:
Network

refractoriness

double refractoriness(double time)
Refractory kernel taken from Maass and Bishop 1999, Eq. 1.47 on p.31. Keeps equivalence to integrate and fire model.

Parameters:
time - a double value
Returns:
a double potential value

calculatePotential

protected void calculatePotential()
Iterate through Synapses and add kernel values and decrease refractoriness at this time value. TODO: add external current!

Specified by:
calculatePotential in class Neuroid
See Also:
fire()