ca.nengo.model
Interface Ensemble
- All Superinterfaces:
- java.lang.Cloneable, Node, Resettable, java.io.Serializable, SimulationMode.ModeConfigurable, VisiblyMutable
- All Known Subinterfaces:
- DecodableEnsemble, NEFEnsemble, PlasticEnsemble
- All Known Implementing Classes:
- AbstractEnsemble, DecodableEnsembleImpl, EnsembleImpl, NEFEnsembleImpl, PlasticEnsembleImpl
public interface Ensemble
- extends Node
A group of Nodes with largely overlapping inputs and outputs.
There are no strict rules for how to group Nodes into Ensembles, but here are
some things to consider:
- A group of Nodes that together 'represent' something through a
population code should be modelled as an Ensemble. (Also consider using
NEFEnsemble to make such representation explicit.)
- Making ensembles that correspond to physical structures (e.g. nuclei)
and naming them appropriately will make the model clearer.
- Outputs from an Ensemble are grouped together and passed to other
Ensembles during a simulation, and practical issues may arise from this. For
example, putting all your Nodes in a single large ensemble could result in a
very large matrix of synaptic weights, which would impair performance.
The membership of an Ensemble is fixed once the Ensemble is created. This
means that the Ensemble model doesn't deal explicitly with growth and death
of components during simulation (although you can set input/output weights to
zero to mimic this). It also means that an Ensemble isn't a good model of a
functional "assembly".
- Author:
- Bryan Tripp
getNodes
Node[] getNodes()
- Returns:
- Nodes that make up the Ensemble
getSpikePattern
SpikePattern getSpikePattern()
- This method provides a means of efficiently storing the output of an
Ensemble if the component Nodes have Origins that produce SpikeOutput.
- Returns:
- A SpikePattern containing a record of spikes, provided
collectSpikes(boolean) has been set to true
collectSpikes
void collectSpikes(boolean collect)
- Parameters:
collect
- If true, the spike pattern is recorded in subsequent runs and
is available through getSpikePattern() (defaults to false)
isCollectingSpikes
boolean isCollectingSpikes()
- Returns:
- true if the spike pattern will be recorded in subsequent runs
redefineNodes
void redefineNodes(Node[] nodes)
- Replaces the set of nodes inside the Ensemble