org.encog.neural.neat.training
Class NEATInnovationList

java.lang.Object
  extended by 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
NEATInnovationList()
          The default constructor, used mainly for persistance.
NEATInnovationList(NEATPopulation population)
          Construct an innovation list, that includes the initial innovations.
 
Method Summary
 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.