Class Network

    • Constructor Detail

      • Network

        public Network​(long initialIdentifier,
                       int featureSize)
        Parameters:
        initialIdentifier - Identifier for the first neuron that will be added to this network.
        featureSize - Size of the neuron's features.
    • Method Detail

      • copy

        public Network copy()
        Performs a deep copy of this instance. Upon return, the copied and original instances will be independent: Updating one will not affect the other.
        Returns:
        a new instance with the same state as this instance.
        Since:
        3.6
      • createNeuron

        public long createNeuron​(double[] features)
        Creates a neuron and assigns it a unique identifier.
        Parameters:
        features - Initial values for the neuron's features.
        Returns:
        the neuron's identifier.
        Throws:
        DimensionMismatchException - if the length of features is different from the expected size (as set by the constructor).
      • deleteNeuron

        public void deleteNeuron​(Neuron neuron)
        Deletes a neuron. Links from all neighbours to the removed neuron will also be deleted.
        Parameters:
        neuron - Neuron to be removed from this network.
        Throws:
        NoSuchElementException - if n does not belong to this network.
      • getFeaturesSize

        public int getFeaturesSize()
        Gets the size of the neurons' features set.
        Returns:
        the size of the features set.
      • addLink

        public void addLink​(Neuron a,
                            Neuron b)
        Adds a link from neuron a to neuron b. Note: the link is not bi-directional; if a bi-directional link is required, an additional call must be made with a and b exchanged in the argument list.
        Parameters:
        a - Neuron.
        b - Neuron.
        Throws:
        NoSuchElementException - if the neurons do not exist in the network.
      • deleteLink

        public void deleteLink​(Neuron a,
                               Neuron b)
        Deletes the link between neurons a and b.
        Parameters:
        a - Neuron.
        b - Neuron.
        Throws:
        NoSuchElementException - if the neurons do not exist in the network.
      • getNeuron

        public Neuron getNeuron​(long id)
        Retrieves the neuron with the given (unique) id.
        Parameters:
        id - Identifier.
        Returns:
        the neuron associated with the given id.
        Throws:
        NoSuchElementException - if the neuron does not exist in the network.
      • getNeighbours

        public Collection<Neuron> getNeighbours​(Iterable<Neuron> neurons,
                                                Iterable<Neuron> exclude)
        Retrieves the neurons in the neighbourhood of any neuron in the neurons list. The exclude list allows to retrieve the "concentric" neighbourhoods by removing the neurons that belong to the inner "circles".
        Parameters:
        neurons - Neurons for which to retrieve the neighbours.
        exclude - Neurons to exclude from the returned list. Can be null.
        Returns:
        the list of neighbours.
      • getNeighbours

        public Collection<Neuron> getNeighbours​(Neuron neuron)
        Retrieves the neighbours of the given neuron.
        Parameters:
        neuron - Neuron for which to retrieve the neighbours.
        Returns:
        the list of neighbours.
        See Also:
        getNeighbours(Neuron,Iterable)
      • getNeighbours

        public Collection<Neuron> getNeighbours​(Neuron neuron,
                                                Iterable<Neuron> exclude)
        Retrieves the neighbours of the given neuron.
        Parameters:
        neuron - Neuron for which to retrieve the neighbours.
        exclude - Neurons to exclude from the returned list. Can be null.
        Returns:
        the list of neighbours.