org.encog.neural.neat.training

## Class NEATInnovationList

- java.lang.Object
- - org.encog.neural.neat.training.NEATInnovationList

- All Implemented Interfaces:
    Serializable

      public class NEATInnovationList
      extends Object
      implements Serializable

  Implements a NEAT innovation list. NeuroEvolution of Augmenting Topologies (NEAT) is a genetic algorithm for the generation of evolving artificial neural networks. It was developed by Ken Stanley while at The University of Texas at Austin. ----------------------------------------------------------------------------- http://www.cs.ucf.edu/~kstanley/ Encog's NEAT implementation was drawn from the following three Journal Articles. For more complete BibTeX sources, see NEATNetwork.java. Evolving Neural Networks Through Augmenting Topologies Generating Large-Scale Neural Networks Through Discovering Geometric Regularities Automatic feature selection in neuroevolution
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NEATInnovationList()` The default constructor, used mainly for persistance.
    `NEATInnovationList(NEATPopulation population)` Construct an innovation list, that includes the initial innovations.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `NEATInnovation` | `findInnovation(long neuronID)` Find an innovation for a single neuron.
    `NEATInnovation` | `findInnovation(long fromID, long toID)` Find an innovation for a new link added between two existing neurons.
    `NEATInnovation` | `findInnovationSplit(long fromID, long toID)` Find an innovation for a hidden neuron that split a existing link.
    `Map<String,NEATInnovation>` | `getInnovations()`
    `static String` | `produceKeyLink(long fromID, long toID)` Produce a key for a link.
    `static String` | `produceKeyNeuron(long id)` Produce an innovation key for a neuron.
    `static String` | `produceKeyNeuronSplit(long fromID, long toID)` Produce a key for a split neuron.
    `void` | `setPopulation(NEATPopulation population)` Set the population that this genome belongs to.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NEATInnovationList

          public NEATInnovationList()

      The default constructor, used mainly for persistance.

    - #### NEATInnovationList

          public NEATInnovationList(NEATPopulation population)

      Construct an innovation list, that includes the initial innovations.
      Parameters:
        `population` - The population to base this innovation list on.

  - ### Method Detail

    - #### produceKeyNeuron

          public static String produceKeyNeuron(long id)

      Produce an innovation key for a neuron.
      Parameters:
        `id` - The neuron id.
      Returns:
        The newly created key.

    - #### produceKeyNeuronSplit

          public static String produceKeyNeuronSplit(long fromID,
                                     long toID)

      Produce a key for a split neuron.
      Parameters:
        `fromID` - Thf from id.
        `toID` - The to id.
      Returns:
        The key.

    - #### produceKeyLink

          public static String produceKeyLink(long fromID,
                              long toID)

      Produce a key for a link.
      Parameters:
        `fromID` - The from id.
        `toID` - The to id.
      Returns:
        The key for the link.

    - #### findInnovationSplit

          public NEATInnovation findInnovationSplit(long fromID,
                                           long toID)

      Find an innovation for a hidden neuron that split a existing link. This is the means by which hidden neurons are introduced in NEAT.
      Parameters:
        `fromID` - The source neuron ID in the link.
        `toID` - The target neuron ID in the link.
      Returns:
        The newly created innovation, or the one that matched the search.

    - #### findInnovation

          public NEATInnovation findInnovation(long neuronID)

      Find an innovation for a single neuron. Single neurons were created without producing a split. This means, the only single neurons are the input, bias and output neurons.
      Parameters:
        `neuronID` - The neuron ID to find.
      Returns:
        The newly created innovation, or the one that matched the search.

    - #### findInnovation

          public NEATInnovation findInnovation(long fromID,
                                      long toID)

      Find an innovation for a new link added between two existing neurons.
      Parameters:
        `fromID` - The source neuron ID in the link.
        `toID` - The target neuron ID in the link.
      Returns:
        The newly created innovation, or the one that matched the search.

    - #### setPopulation

          public void setPopulation(NEATPopulation population)

      Set the population that this genome belongs to.
      Parameters:
        `population` - The population.

    - #### getInnovations

          public Map<String,NEATInnovation> getInnovations()

      Returns:
        A list of innovations.

Copyright © 2014. All Rights Reserved.