brain
Class AdaptiveRelisiModule

java.lang.Object
  extended by brain.Module
      extended by brain.RelisiModule
          extended by brain.AdaptiveRelisiModule
All Implemented Interfaces:
java.io.Serializable

public class AdaptiveRelisiModule
extends RelisiModule

This class extends the RelisiModule by adaptive transfer functions in order to implement entropy maximization using intrinsic plasticity.

See Also:
Serialized Form

Field Summary
protected  java.util.List<java.lang.Double> transferFunctionParameterA
           
protected  java.util.List<java.lang.Double> transferFunctionParameterB
           
 
Fields inherited from class brain.RelisiModule
membranePotentials
 
Fields inherited from class brain.Module
activities, biases, changeListeners, elapsedTime, elapsedTimeSteps, forwardModules, receptors
 
Constructor Summary
AdaptiveRelisiModule()
           
AdaptiveRelisiModule(double[][] adjacencyMatrix, java.util.Random random)
           
AdaptiveRelisiModule(java.io.File file)
           
AdaptiveRelisiModule(int size, double linkProbability)
           
AdaptiveRelisiModule(int size, double linkProbability, java.util.Random random)
           
 
Method Summary
 void adaptTransferFunctionParameters(double deltaTime)
           
 void addNeuron(double activity)
           
 void calculateOneTimeStep(double deltaTime)
          calculates one time step of the simulation calculation This method has to be implemented by subclasses.
static void main(java.lang.String[] args)
           
 void removeNeuron(int index)
           
 void setTransferFunctionParameters(int neuron, double a, double b)
           
 double transferFunction(double potential, int neuron)
          Maps the membrane potential x ∈ [0, ∞) to the rate coding activity y ∈ [0, 1].
 double transferFunctionInverse(double activity, int neuron)
          inverse of @see transferFunction
 
Methods inherited from class brain.RelisiModule
calculateMembranePotential, calculateOneSelfConsistentIteration, fromXML, getLeak, getLeaks, getMembranePotential, getMembranePotentials, normalizeLinks, reset, setActivities, setActivity, setLeak, setLeaks, setMembranePotential, setMembranePotentials, transferFunction, transferFunctionInverse, updateActivities, updateActivity
 
Methods inherited from class brain.Module
addAfferentModule, addBias, addBias, addChangeListener, addForwardModule, addReceptor, createDotGraph, createGraphMLGraph, createTGFGraph, getActiveClique, getActivities, getActivity, getAfferentLink, getAfferentLinks, getAfferentModules, getBias, getBiases, getCliqueGraph, getCliques, getDegreeDistribution, getElapsedTime, getElapsedTimeSteps, getForwardModules, getLink, getLinkProbability, getLinks, getName, getNeighbors, getNeighbors, getNodeDegree, getNodeDegrees, getNodeInDegree, getNodeInDegrees, getNodeOutDegree, getNodeOutDegrees, getPositiveLinkAverage, getReceptor, getReceptors, getSize, hasAfferentModule, hasForwardModule, notifyStateChanged, performOneTimeStep, removeAfferentModule, removeAfferentModules, removeChangeListener, removeForwardModule, removeForwardModules, setAfferentLink, setAfferentLinks, setBias, setBias, setLink, setLink, setName, setPositiveLinkAverage, setSize, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

transferFunctionParameterA

protected java.util.List<java.lang.Double> transferFunctionParameterA

transferFunctionParameterB

protected java.util.List<java.lang.Double> transferFunctionParameterB
Constructor Detail

AdaptiveRelisiModule

public AdaptiveRelisiModule(double[][] adjacencyMatrix,
                            java.util.Random random)

AdaptiveRelisiModule

public AdaptiveRelisiModule(int size,
                            double linkProbability)

AdaptiveRelisiModule

public AdaptiveRelisiModule(int size,
                            double linkProbability,
                            java.util.Random random)

AdaptiveRelisiModule

public AdaptiveRelisiModule()

AdaptiveRelisiModule

public AdaptiveRelisiModule(java.io.File file)
                     throws java.io.IOException
Throws:
java.io.IOException
Method Detail

addNeuron

public void addNeuron(double activity)
Overrides:
addNeuron in class RelisiModule

removeNeuron

public void removeNeuron(int index)
Overrides:
removeNeuron in class RelisiModule

transferFunction

public double transferFunction(double potential,
                               int neuron)
Maps the membrane potential x ∈ [0, ∞) to the rate coding activity y ∈ [0, 1]. g = \frac{z}{z+1}, z = \left( \frac{x}{b} \right)^{a b}

Overrides:
transferFunction in class RelisiModule
Parameters:
potential -
Returns:
activity

transferFunctionInverse

public double transferFunctionInverse(double activity,
                                      int neuron)
inverse of @see transferFunction

Overrides:
transferFunctionInverse in class RelisiModule

calculateOneTimeStep

public void calculateOneTimeStep(double deltaTime)
Description copied from class: Module
calculates one time step of the simulation calculation This method has to be implemented by subclasses.

Overrides:
calculateOneTimeStep in class RelisiModule

adaptTransferFunctionParameters

public void adaptTransferFunctionParameters(double deltaTime)

setTransferFunctionParameters

public void setTransferFunctionParameters(int neuron,
                                          double a,
                                          double b)

main

public static void main(java.lang.String[] args)
                 throws java.io.FileNotFoundException
Throws:
java.io.FileNotFoundException