Recurrent

trait Recurrent[S, W]
class Object
trait Matchable
class Any

Value members

Abstract methods

def activate(neuron: Int, inputs: Iterable[(S, W)]): S
def change(newstate: S, oldstate: S): Double
def inputNeurons: Vector[Int]
def inputsAndWeights(neuron: Int, state: IndexedSeq[S]): Vector[(S, W)]
def outNeighbours(neuron: Int): Vector[Int]
def state: Vector[S]
def updateState(state: Iterable[S], neuronsValues: Iterable[(Int, S)]): Vector[S]

Concrete methods

def activate(steps: Int, inputValues: Seq[S]): Vector[S]

Activating the network means computing the output values for all neurons simultaneously. There is no order effect. The activation is done steps times. For the first activation, the input neurones are initialised to the inputValues, and the other neurones to initialNeuronState

Activating the network means computing the output values for all neurons simultaneously. There is no order effect. The activation is done steps times. For the first activation, the input neurones are initialised to the inputValues, and the other neurones to initialNeuronState

def activateOnce(state: Vector[S]): Vector[S]
def activateUntilStable(maxsteps: Int, stabilityThreshold: Double, inputValues: Seq[S]): (Int, Double, Vector[S])
Returns

the number of steps, the average change over all node states during the last step, and the final state of the output neurons

def propagate(steps: Int, inputValues: Seq[S]): Vector[S]

To propagate the inputValues means initialising the input neurons to the input values, then activating the neurons connected to the input, and successively activating the rest of the network. Steps determines the number of successive steps taken before returning the values of the output neurons.

To propagate the inputValues means initialising the input neurons to the input values, then activating the neurons connected to the input, and successively activating the rest of the network. Steps determines the number of successive steps taken before returning the values of the output neurons.

def propagateOnce(state: IndexedSeq[S], currentNeurons: IndexedSeq[Int]): (Vector[S], Vector[Int])

returns the nextstate resulting from activating the neurons leading out of those in currentNeurons, as those neurons

returns the nextstate resulting from activating the neurons leading out of those in currentNeurons, as those neurons

def propagateUntilStable(maxsteps: Int, stabilityThreshold: Double, inputValues: Seq[S]): (Int, Double, Vector[S])
def propagateUntilStableRec(maxsteps: Int, stabilityThreshold: Double, state: Vector[S], currentNeurons: IndexedSeq[Int], step: Int, avgchange: Double): (Int, Double, Vector[S])