TimerClass

Neuromorphic Embodied Agents that Learn (NEAL) based functions to construct different timers and functions to effect other states.

class nmcog.spinnaker.specialfunction.neal.timerClass.TimerClass(simName='spinnaker', spinnVersion=8)

This is the class for constructing different types of timers. It also provide functions for the timers

  • to effect other states
  • to be turned on by other states, spike sources and neurons.
connectSpikeGenToStart(spikeGen)

See FSAHelperFunctions .turnOnStateFromSpikeSource

createNeurons(numberStates)

For a given number of states (under consideration) the number of timer cells equals the number of states times the size of the cell assembly (given by FSAHelperFunctions .CA_SIZE).

By default FSAHelperFunctions .CA_SIZE = 10. Therefore, if the number of possible states is two then there will be twenty timer cells.

Note:

getTimerCells()

Returns ``self.timercells

makeOneStateStopTimerSynapses()

See FSAHelperFunctions .makeCA, FSAHelperFunctions .stateStimulatesState, and FSAHelperFunctions .stateTurnsOffState

makeStopNoRestartTimerSynapses()

Once a timercell is created using createNeurons() returning a neuron population composed of \(n \times 10\) cells where n is its number of possible states.

This function connects all its possible states.

Consider a timercell, timerX with five states then

        sssssssssssssssssssssssssssss
        s ccccccccc     s ccccccccc s     ccccccccc       ccccccccc
        s c xxxxx c     s c xxxxx c s     c xxxxx c       c xxxxx c
        V V x   V c     V V x   V c s     V x   V c       V x   V c
ooooooooooooo   ooooooooooooo   ooooooooooooo   ooooooooooooo   ooooooooooooo
o timerX CA o   o timerX CA o   o timerX CA o   o timerX CA o   o timerX CA o
o  state-0  o   o  state-1  o   o  state-2  o   o  state-3  o   o  state-4  o
ooooooooooooo   ooooooooooooo   ooooooooooooo   ooooooooooooo   ooooooooooooo
        ^               ^               ^        s
        ssssssssssssssssssssssssssssssssssssssssss
  • all the states are numbers 0, 1, …, 4 (= 5-1)

  • each state is represented by a cell assembly using FSAHelperFunctions .makeCA

    • here four cell assemblies one for each of the five states
  • starting from the first state, 0 (above, state-0),

    • each state (i.e. its cell assembly) stimulates (xxxxxx) its immediate succeeding state using FSAHelperFunctions .stateStimulatesState

      • notice that the first state is not simulated
    • each state (i.e. its cell assembly) is turned-off (cccccc) by its immediate succeeding state using FSAHelperFunctions .stateTurnsOffState

      • notice that the last state is not turned-off using FSAHelperFunctions .stateTurnsOffState
  • starting from the third state, 2 (above, state-2)

    • each state turns off (ssssss) all the preceeding states

      • notice that the last state does not turn-off its preceeding states.

Note:

makeStopTimerSynapses()

See FSAHelperFunctions .stateStimulatesState and FSAHelperFunctions .stateTurnsOffState

neuronStopsTimer(stopNeurons, stopNeuron)

See FSAHelperFunctions .oneNeuronTurnsOffState

oneNeuronHalfStartsTimer(fromNeurons, fromNeuron)

See FSAHelperFunctions .oneNeuronStimulatesState This differs from oneNeuronStartsTimer() because here self.oneNeuronHalfWeight is used.

oneNeuronStartsTimer(fromNeurons, fromNeuron)

See FSAHelperFunctions .oneNeuronStimulatesState This differs from oneNeuronHalfStartsTimer() because here self.oneNeuronFullWeight is used.

printResults(fileName)

Legacy.

setupRecording()

Records spikes and voltages (i.e. analog signals).

stateHalfStartsTimer(stateNeurons, state)

See FSAHelperFunctions .stateHalfTurnsOnState

stateStartsTimer(stateNeurons, state)

See FSAHelperFunctions .stateTurnsOnState

stateStopsTimer(stateNeurons, state)

See FSAHelperFunctions .stateTurnsOffState

timerActivatesState(stateNeurons, state, wt)

See FSAHelperFunctions .stateStimulatesState

timerPreventsState(stateNeurons, state)

See FSAHelperFunctions .stateTurnsOffState

timerStartsState(stateNeurons, state)

See FSAHelperFunctions .stateStimulatesState