brain
Class AdaptiveRelisi

java.lang.Object
  extended by brain.Module
      extended by brain.ModuleRelisi
          extended by brain.AdaptiveRelisi
All Implemented Interfaces:
java.io.Serializable

public class AdaptiveRelisi
extends ModuleRelisi

This class extends the ModuleRelisi 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.ModuleRelisi
membranePotentials
 
Fields inherited from class brain.Module
activities, biases, changeListeners, elapsedTime, elapsedTimeSteps, forwardModules, receptors
 
Constructor Summary
AdaptiveRelisi()
           
AdaptiveRelisi(double[][] adjacencyMatrix, java.util.Random random)
           
AdaptiveRelisi(java.io.File file)
           
AdaptiveRelisi(int size, double linkProbability)
           
AdaptiveRelisi(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.ModuleRelisi
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, cliqueGraph, createDotGraph, createGnuplotGraph, createGraphMLGraph, createTGFGraph, degreeDistribution, getActiveClique, getActivities, getActivity, getAfferentLink, getAfferentLinks, getAfferentModules, getBias, getBiases, getCliques, getElapsedTime, getElapsedTimeSteps, getForwardModules, getLink, getLinkProbability, getLinks, getName, getNodeDegree, getNodeDegrees, getNodeInDegree, getNodeInDegrees, getNodeOutDegree, getNodeOutDegrees, getPositiveLinkAverage, getReceptor, getReceptors, getSize, hasAfferentModule, hasForwardModule, neighbors, 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

AdaptiveRelisi

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

AdaptiveRelisi

public AdaptiveRelisi(int size,
                      double linkProbability)

AdaptiveRelisi

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

AdaptiveRelisi

public AdaptiveRelisi()

AdaptiveRelisi

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

addNeuron

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

removeNeuron

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

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 ModuleRelisi
Parameters:
potential -
Returns:
activity

transferFunctionInverse

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

Overrides:
transferFunctionInverse in class ModuleRelisi

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 ModuleRelisi

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