Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.encog.neural.neat.training
Class NEATTraining

    java.lang.Object
      org.encog.ml.genetic.GeneticAlgorithm
          org.encog.neural.neat.training.NEATTraining

All Implemented Interfaces:
  MLTrain, MultiThreadable

    public class NEATTraining

extends GeneticAlgorithm
implements MLTrain

Implements NEAT genetic training. 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/

Constructor Summary
`NEATTraining(CalculateScore calculateScore, int inputCount, int outputCount, int populationSize)` Construct a neat trainer with a new population.
`NEATTraining(CalculateScore calculateScore, Population population)` Construct neat training with an existing population.

Method Summary
`void` | `addNeuronID(long nodeID, List<Long> vec)` Add a neuron.
`void` | `addStrategy(Strategy strategy)` Not supported, will throw an error.
`void` | `adjustCompatibilityThreshold()` Adjust the species compatibility threshold.
`void` | `adjustSpeciesScore()` Adjust each species score.
`boolean` | `canContinue()`
`NEATGenome` | `crossover(NEATGenome mom, NEATGenome dad)` Perform the crossover.
`void` | `finishTraining()` Called when training is done.
`double` | `getError()` return The error for the best genome.
`TrainingImplementationType` | `getImplementationType()`
`NEATInnovationList` | `getInnovations()`
`int` | `getInputCount()`
`int` | `getIteration()`
`MLMethod` | `getMethod()` Get the current best machine learning method from the training.
`int` | `getOutputCount()`
`double` | `getParamActivationMutationRate()`
`double` | `getParamChanceAddLink()`
`double` | `getParamChanceAddNode()`
`double` | `getParamChanceAddRecurrentLink()`
`double` | `getParamCompatibilityThreshold()`
`double` | `getParamCrossoverRate()`
`double` | `getParamMaxActivationPerturbation()`
`int` | `getParamMaxNumberOfSpecies()`
`double` | `getParamMaxPermittedNeurons()`
`double` | `getParamMaxWeightPerturbation()`
`double` | `getParamMutationRate()`
`int` | `getParamNumAddLinkAttempts()`
`int` | `getParamNumGensAllowedNoImprovement()`
`int` | `getParamNumTrysToFindLoopedLink()`
`int` | `getParamNumTrysToFindOldLink()`
`double` | `getParamProbabilityWeightReplaced()`
`List<Strategy>` | `getStrategies()` Returns an empty list, strategies are not supported.
`MLDataSet` | `getTraining()` Returns null, does not use a training set, rather uses a score function.
`boolean` | `isSnapshot()`
`boolean` | `isTrainingDone()`
`void` | `iteration()` Perform one training iteration.
`void` | `iteration(int count)` Perform the specified number of training iterations.
`TrainingContinuation` | `pause()` Pause the training to continue later.
`void` | `resetAndKill()` Reset for an iteration.
`void` | `resume(TrainingContinuation state)` Resume training.
`void` | `setError(double error)` Not used.
`void` | `setIteration(int iteration)` Set the current training iteration.
`void` | `setParamActivationMutationRate(double paramActivationMutationRate)` Set the activation mutation rate.
`void` | `setParamChanceAddLink(double paramChanceAddLink)` Set the chance to add a link.
`void` | `setParamChanceAddNode(double paramChanceAddNode)` Set the chance to add a node.
`void` | `setParamChanceAddRecurrentLink(double paramChanceAddRecurrentLink)` Set the chance to add a recurrent link.
`void` | `setParamCompatibilityThreshold(double paramCompatibilityThreshold)` Set the compatibility threshold for species.
`void` | `setParamCrossoverRate(double paramCrossoverRate)` Set the cross over rate.
`void` | `setParamMaxActivationPerturbation(double paramMaxActivationPerturbation)` Set the max activation perturbation.
`void` | `setParamMaxNumberOfSpecies(int paramMaxNumberOfSpecies)` Set the maximum number of species.
`void` | `setParamMaxPermittedNeurons(double paramMaxPermittedNeurons)` Set the max permitted neurons.
`void` | `setParamMaxWeightPerturbation(double paramMaxWeightPerturbation)` Set the max weight perturbation.
`void` | `setParamMutationRate(double paramMutationRate)` Set the mutation rate.
`void` | `setParamNumAddLinkAttempts(int paramNumAddLinkAttempts)` Set the number of attempts to add a link.
`void` | `setParamNumGensAllowedNoImprovement(int paramNumGensAllowedNoImprovement)` Set the number of no-improvement generations allowed.
`void` | `setParamNumTrysToFindLoopedLink(int paramNumTrysToFindLoopedLink)` Set the number of tries to create a looped link.
`void` | `setParamNumTrysToFindOldLink(int paramNumTrysToFindOldLink)` Set the number of tries to try an old link.
`void` | `setParamProbabilityWeightReplaced(double paramProbabilityWeightReplaced)` Set the probability to replace a weight.
`void` | `setSnapshot(boolean snapshot)` Set if we are using snapshot mode.
`void` | `sortAndRecord()` Sort the genomes.
`void` | `speciateAndCalculateSpawnLevels()` Determine the species.
`NEATGenome` | `tournamentSelection(int numComparisons)` Select a gene using a tournament.

Methods inherited from class org.encog.ml.genetic.GeneticAlgorithm
`addSpeciesMember, calculateScore, getCalculateScore, getComparator, getCrossover, getMatingPopulation, getMutate, getMutationPercent, getPercentToMate, getPopulation, getThreadCount, setCalculateScore, setComparator, setCrossover, setMatingPopulation, setMutate, setMutationPercent, setPercentToMate, setPopulation, setThreadCount`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### NEATTraining

    public NEATTraining(CalculateScore calculateScore,
                        int inputCount,
                        int outputCount,
                        int populationSize)

  Construct a neat trainer with a new population. The new population is created from the specified parameters.

  Parameters:
    `calculateScore` - The score calculation object.
    `inputCount` - The input neuron count.
    `outputCount` - The output neuron count.
    `populationSize` - The population size.

### NEATTraining

    public NEATTraining(CalculateScore calculateScore,
                        Population population)

  Construct neat training with an existing population.

  Parameters:
    `calculateScore` - The score object to use.
    `population` - The population to use.

Method Detail

### addNeuronID

    public void addNeuronID(long nodeID,
                            List<Long> vec)

  Add a neuron.

  Parameters:
    `nodeID` - The neuron id.
    `vec` - THe list of id's used.

### addStrategy

    public void addStrategy(Strategy strategy)

  Not supported, will throw an error.

  Specified by:
    `addStrategy` in interface `MLTrain`
  Parameters:
    `strategy` - Not used.

### adjustCompatibilityThreshold

    public void adjustCompatibilityThreshold()

  Adjust the species compatibility threshold. This prevents us from having too many species.

### adjustSpeciesScore

    public void adjustSpeciesScore()

  Adjust each species score.

### canContinue

    public boolean canContinue()

  Specified by:
    `canContinue` in interface `MLTrain`
  Returns:
    True if the training can be paused, and later continued.

### crossover

    public NEATGenome crossover(NEATGenome mom,
                                NEATGenome dad)

  Perform the crossover.

  Parameters:
    `mom` - The mother.
    `dad` - The father.
  Returns:
    The child.

### finishTraining

    public void finishTraining()

  Called when training is done.

  Specified by:
    `finishTraining` in interface `MLTrain`

### getError

    public double getError()

  return The error for the best genome.

  Specified by:
    `getError` in interface `MLTrain`
  Returns:
    The current error.

### getImplementationType

    public TrainingImplementationType getImplementationType()

  Specified by:
    `getImplementationType` in interface `MLTrain`
  Returns:
    The training implementation type.

### getInnovations

    public NEATInnovationList getInnovations()

  Returns:
    The innovations.

### getInputCount

    public int getInputCount()

  Returns:
    The input count.

### getIteration

    public int getIteration()

  Specified by:
    `getIteration` in interface `MLTrain`
  Returns:
    The current training iteration.

### getMethod

    public MLMethod getMethod()

  Description copied from interface: `MLTrain`
  Get the current best machine learning method from the training.

  Specified by:
    `getMethod` in interface `MLTrain`
  Returns:
    A network created for the best genome.

### getOutputCount

    public int getOutputCount()

  Returns:
    The number of output neurons.

### getParamActivationMutationRate

    public double getParamActivationMutationRate()

  Returns:
    The mutation rate.

### getParamChanceAddLink

    public double getParamChanceAddLink()

  Returns:
    The chance that we will add a link.

### getParamChanceAddNode

    public double getParamChanceAddNode()

  Returns:
    The chance that we will add a node.

### getParamChanceAddRecurrentLink

    public double getParamChanceAddRecurrentLink()

  Returns:
    The chance we will add a recurrent link.

### getParamCompatibilityThreshold

    public double getParamCompatibilityThreshold()

  Returns:
    The compatibility threshold for a species.

### getParamCrossoverRate

    public double getParamCrossoverRate()

  Returns:
    The crossover rate.

### getParamMaxActivationPerturbation

    public double getParamMaxActivationPerturbation()

  Returns:
    THe maximum activation perturbation.

### getParamMaxNumberOfSpecies

    public int getParamMaxNumberOfSpecies()

  Returns:
    The maximum number of species.

### getParamMaxPermittedNeurons

    public double getParamMaxPermittedNeurons()

  Returns:
    THe maximum neurons.

### getParamMaxWeightPerturbation

    public double getParamMaxWeightPerturbation()

  Returns:
    THe max weight perturbation.

### getParamMutationRate

    public double getParamMutationRate()

  Returns:
    The mutation rate.

### getParamNumAddLinkAttempts

    public int getParamNumAddLinkAttempts()

  Returns:
    The number of attempts to add a link.

### getParamNumGensAllowedNoImprovement

    public int getParamNumGensAllowedNoImprovement()

  Returns:
    The number of generations allowed with no improvement.

### getParamNumTrysToFindLoopedLink

    public int getParamNumTrysToFindLoopedLink()

  Returns:
    The number of tries to find a looped link.

### getParamNumTrysToFindOldLink

    public int getParamNumTrysToFindOldLink()

  Returns:
    The number of tries to find an old link.

### getParamProbabilityWeightReplaced

    public double getParamProbabilityWeightReplaced()

  Returns:
    THe propbability that a weight will be replaced.

### getStrategies

    public List<Strategy> getStrategies()

  Returns an empty list, strategies are not supported.

  Specified by:
    `getStrategies` in interface `MLTrain`
  Returns:
    The strategies in use(none).

### getTraining

    public MLDataSet getTraining()

  Returns null, does not use a training set, rather uses a score function.

  Specified by:
    `getTraining` in interface `MLTrain`
  Returns:
    null, not used.

### isSnapshot

    public boolean isSnapshot()

  Returns:
    Are we using snapshot mode.

### isTrainingDone

    public boolean isTrainingDone()

  Specified by:
    `isTrainingDone` in interface `MLTrain`
  Returns:
    True if training can progress no further.

### iteration

    public void iteration()

  Perform one training iteration.

  Specified by:
    `iteration` in interface `MLTrain`
  Specified by:
    `iteration` in class `GeneticAlgorithm`

### iteration

    public void iteration(int count)

  Perform the specified number of training iterations. This is a basic implementation that just calls iteration the specified number of times. However, some training methods, particularly with the GPU, benefit greatly by calling with higher numbers than 1.

  Specified by:
    `iteration` in interface `MLTrain`
  Parameters:
    `count` - The number of training iterations.

### pause

    public TrainingContinuation pause()

  Description copied from interface: `MLTrain`
  Pause the training to continue later.

  Specified by:
    `pause` in interface `MLTrain`
  Returns:
    A training continuation object.

### resetAndKill

    public void resetAndKill()

  Reset for an iteration.

### resume

    public void resume(TrainingContinuation state)

  Description copied from interface: `MLTrain`
  Resume training.

  Specified by:
    `resume` in interface `MLTrain`
  Parameters:
    `state` - The training continuation object to use to continue.

### setError

    public void setError(double error)

  Not used.

  Specified by:
    `setError` in interface `MLTrain`
  Parameters:
    `error` - Not used.

### setIteration

    public void setIteration(int iteration)

  Description copied from interface: `MLTrain`
  Set the current training iteration.

  Specified by:
    `setIteration` in interface `MLTrain`
  Parameters:
    `iteration` - Iteration.

### setParamActivationMutationRate

    public void setParamActivationMutationRate(double paramActivationMutationRate)

  Set the activation mutation rate.

  Parameters:
    `paramActivationMutationRate` - The mutation rate.

### setParamChanceAddLink

    public void setParamChanceAddLink(double paramChanceAddLink)

  Set the chance to add a link.

  Parameters:
    `paramChanceAddLink` - The chance to add a link.

### setParamChanceAddNode

    public void setParamChanceAddNode(double paramChanceAddNode)

  Set the chance to add a node.

  Parameters:
    `paramChanceAddNode` - The chance to add a node.

### setParamChanceAddRecurrentLink

    public void setParamChanceAddRecurrentLink(double paramChanceAddRecurrentLink)

  Set the chance to add a recurrent link.

  Parameters:
    `paramChanceAddRecurrentLink` - The chance to add a recurrent link.

### setParamCompatibilityThreshold

    public void setParamCompatibilityThreshold(double paramCompatibilityThreshold)

  Set the compatibility threshold for species.

  Parameters:
    `paramCompatibilityThreshold` - The threshold.

### setParamCrossoverRate

    public void setParamCrossoverRate(double paramCrossoverRate)

  Set the cross over rate.

  Parameters:
    `paramCrossoverRate` - The crossover rate.

### setParamMaxActivationPerturbation

    public void setParamMaxActivationPerturbation(double paramMaxActivationPerturbation)

  Set the max activation perturbation.

  Parameters:
    `paramMaxActivationPerturbation` - The max perturbation.

### setParamMaxNumberOfSpecies

    public void setParamMaxNumberOfSpecies(int paramMaxNumberOfSpecies)

  Set the maximum number of species.

  Parameters:
    `paramMaxNumberOfSpecies` - The max number of species.

### setParamMaxPermittedNeurons

    public void setParamMaxPermittedNeurons(double paramMaxPermittedNeurons)

  Set the max permitted neurons.

  Parameters:
    `paramMaxPermittedNeurons` - The max permitted neurons.

### setParamMaxWeightPerturbation

    public void setParamMaxWeightPerturbation(double paramMaxWeightPerturbation)

  Set the max weight perturbation.

  Parameters:
    `paramMaxWeightPerturbation` - The max weight perturbation.

### setParamMutationRate

    public void setParamMutationRate(double paramMutationRate)

  Set the mutation rate.

  Parameters:
    `paramMutationRate` - The mutation rate.

### setParamNumAddLinkAttempts

    public void setParamNumAddLinkAttempts(int paramNumAddLinkAttempts)

  Set the number of attempts to add a link.

  Parameters:
    `paramNumAddLinkAttempts` - The number of attempts to add a link.

### setParamNumGensAllowedNoImprovement

    public void setParamNumGensAllowedNoImprovement(int paramNumGensAllowedNoImprovement)

  Set the number of no-improvement generations allowed.

  Parameters:
    `paramNumGensAllowedNoImprovement` - The number of generations.

### setParamNumTrysToFindLoopedLink

    public void setParamNumTrysToFindLoopedLink(int paramNumTrysToFindLoopedLink)

  Set the number of tries to create a looped link.

  Parameters:
    `paramNumTrysToFindLoopedLink` - Number of tries.

### setParamNumTrysToFindOldLink

    public void setParamNumTrysToFindOldLink(int paramNumTrysToFindOldLink)

  Set the number of tries to try an old link.

  Parameters:
    `paramNumTrysToFindOldLink` - Number of tries.

### setParamProbabilityWeightReplaced

    public void setParamProbabilityWeightReplaced(double paramProbabilityWeightReplaced)

  Set the probability to replace a weight.

  Parameters:
    `paramProbabilityWeightReplaced` - The probability.

### setSnapshot

    public void setSnapshot(boolean snapshot)

  Set if we are using snapshot mode.

  Parameters:
    `snapshot` - True if we are using snapshot mode.

### sortAndRecord

    public void sortAndRecord()

  Sort the genomes.

### speciateAndCalculateSpawnLevels

    public void speciateAndCalculateSpawnLevels()

  Determine the species.

### tournamentSelection

    public NEATGenome tournamentSelection(int numComparisons)

  Select a gene using a tournament.

  Parameters:
    `numComparisons` - The number of compares to do.
  Returns:
    The chosen genome.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011. All Rights Reserved.