org.encog.neural.neat.training
Class NEATInnovationList
- java.lang.Object
-
- org.encog.neural.neat.training.NEATInnovationList
-
- All Implemented Interfaces:
- java.io.Serializable
public class NEATInnovationList extends java.lang.Object implements java.io.SerializableImplements 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description NEATInnovationfindInnovation(long neuronID)Find an innovation for a single neuron.NEATInnovationfindInnovation(long fromID, long toID)Find an innovation for a new link added between two existing neurons.NEATInnovationfindInnovationSplit(long fromID, long toID)Find an innovation for a hidden neuron that split a existing link.java.util.Map<java.lang.String,NEATInnovation>getInnovations()static java.lang.StringproduceKeyLink(long fromID, long toID)Produce a key for a link.static java.lang.StringproduceKeyNeuron(long id)Produce an innovation key for a neuron.static java.lang.StringproduceKeyNeuronSplit(long fromID, long toID)Produce a key for a split neuron.voidsetPopulation(NEATPopulation population)Set the population that this genome belongs to.
-
-
-
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 java.lang.String produceKeyNeuron(long id)
Produce an innovation key for a neuron.- Parameters:
id- The neuron id.- Returns:
- The newly created key.
-
produceKeyNeuronSplit
public static java.lang.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 java.lang.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 java.util.Map<java.lang.String,NEATInnovation> getInnovations()
- Returns:
- A list of innovations.
-
-
DMelt 3.0 © DataMelt by jWork.ORG