Class NeuronString

  • All Implemented Interfaces:
    java.io.Serializable

    public class NeuronString
    extends java.lang.Object
    implements java.io.Serializable
    Neural network with the topology of a one-dimensional line. Each neuron defines one point on the line.
    Since:
    3.3
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private long[] identifiers
      Mapping of the 1D coordinate to the neuron identifiers (attributed by the network instance).
      private Network network
      Underlying network.
      private static long serialVersionUID
      Serial version ID
      private int size
      Number of neurons.
      private boolean wrap
      Wrap.
    • Constructor Summary

      Constructors 
      Constructor Description
      NeuronString​(boolean wrap, double[][] featuresList)
      Constructor with restricted access, solely used for deserialization.
      NeuronString​(int num, boolean wrap, FeatureInitializer[] featureInit)
      Creates a one-dimensional network: Each neuron not located on the border of the mesh has two neurons linked to it.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void createLinks()
      Creates the neighbour relationships between neurons.
      double[] getFeatures​(int i)
      Retrieves the features set from the neuron at location i in the map.
      Network getNetwork()
      Retrieves the underlying network.
      int getSize()
      Gets the number of neurons.
      private void readObject​(java.io.ObjectInputStream in)
      Prevents proxy bypass.
      private java.lang.Object writeReplace()
      Custom serialization.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serial version ID
        See Also:
        Constant Field Values
      • network

        private final Network network
        Underlying network.
      • size

        private final int size
        Number of neurons.
      • wrap

        private final boolean wrap
        Wrap.
      • identifiers

        private final long[] identifiers
        Mapping of the 1D coordinate to the neuron identifiers (attributed by the network instance).
    • Constructor Detail

      • NeuronString

        NeuronString​(boolean wrap,
                     double[][] featuresList)
        Constructor with restricted access, solely used for deserialization.
        Parameters:
        wrap - Whether to wrap the dimension (i.e the first and last neurons will be linked together).
        featuresList - Arrays that will initialize the features sets of the network's neurons.
        Throws:
        NumberIsTooSmallException - if num < 2.
      • NeuronString

        public NeuronString​(int num,
                            boolean wrap,
                            FeatureInitializer[] featureInit)
        Creates a one-dimensional network: Each neuron not located on the border of the mesh has two neurons linked to it.
        The links are bi-directional. Neurons created successively are neighbours (i.e. there are links between them).
        The topology of the network can also be a circle (if the dimension is wrapped).
        Parameters:
        num - Number of neurons.
        wrap - Whether to wrap the dimension (i.e the first and last neurons will be linked together).
        featureInit - Arrays that will initialize the features sets of the network's neurons.
        Throws:
        NumberIsTooSmallException - if num < 2.
    • Method Detail

      • getNetwork

        public Network getNetwork()
        Retrieves the underlying network. A reference is returned (enabling, for example, the network to be trained). This also implies that calling methods that modify the Network topology may cause this class to become inconsistent.
        Returns:
        the network.
      • getSize

        public int getSize()
        Gets the number of neurons.
        Returns:
        the number of neurons.
      • getFeatures

        public double[] getFeatures​(int i)
        Retrieves the features set from the neuron at location i in the map.
        Parameters:
        i - Neuron index.
        Returns:
        the features of the neuron at index i.
        Throws:
        OutOfRangeException - if i is out of range.
      • createLinks

        private void createLinks()
        Creates the neighbour relationships between neurons.
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
        Prevents proxy bypass.
        Parameters:
        in - Input stream.
      • writeReplace

        private java.lang.Object writeReplace()
        Custom serialization.
        Returns:
        the proxy instance that will be actually serialized.