org.encog.neural.neat.training.opp
Class NEATMutateAddLink
java.lang.Object
org.encog.neural.neat.training.opp.NEATMutation
org.encog.neural.neat.training.opp.NEATMutateAddLink
- All Implemented Interfaces:
- EvolutionaryOperator
public class NEATMutateAddLink
- extends NEATMutation
Mutates a NEAT genome by adding a link. To add a link, two random neurons are
chosen and a new random link is created between them. There are severals
rules. Bias and input neurons can never be the target of a link. We also do
not create double links. Two neurons cannot have more than one link going in
the same direction. A neuron can have a single link to itself.
If the network is only one cycle, then output neurons cannot be a target.
-----------------------------------------------------------------------------
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
Methods inherited from class org.encog.neural.neat.training.opp.NEATMutation |
chooseRandomNeuron, createLink, getElementPos, getOwner, init, isDuplicateLink, isNeuronNeeded, obtainGenome, offspringProduced, parentsNeeded, removeNeuron |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NEATMutateAddLink
public NEATMutateAddLink()
performOperation
public void performOperation(Random rnd,
Genome[] parents,
int parentIndex,
Genome[] offspring,
int offspringIndex)
- Perform the evolutionary operation.
- Parameters:
rnd
- A random number generator.parents
- The parents.parentIndex
- The index into the parents array.offspring
- The offspring.offspringIndex
- An index into the offspring array.
Copyright © 2014. All Rights Reserved.