org.encog.neural.neat.training.opp.links

## Class MutatePerturbLinkWeight

- java.lang.Object
- - org.encog.neural.neat.training.opp.links.MutatePerturbLinkWeight

- All Implemented Interfaces:
    MutateLinkWeight

      public class MutatePerturbLinkWeight
      extends Object
      implements MutateLinkWeight

  Mutate weight links by perturbing their weights. This will be done by adding a Gaussian random number with the specified sigma. The sigma specifies the standard deviation of the random number. Because the random numbers are clustered at zero, this can be either an increase or decrease. ----------------------------------------------------------------------------- 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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MutatePerturbLinkWeight(double theSigma)` Construct the perturbing mutator.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `EvolutionaryAlgorithm` | `getTrainer()`
    `void` | `init(EvolutionaryAlgorithm theTrainer)` Setup the link mutator.
    `void` | `mutateWeight(Random rnd, NEATLinkGene linkGene, double weightRange)` Perform the weight mutation on the specified link.
    `String` | `toString()`

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

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

- - ### Constructor Detail

    - #### MutatePerturbLinkWeight

          public MutatePerturbLinkWeight(double theSigma)

      Construct the perturbing mutator.
      Parameters:
        `theSigma` - The sigma (standard deviation) for all random numbers.

  - ### Method Detail

    - #### getTrainer

          public EvolutionaryAlgorithm getTrainer()

      Specified by:
        `getTrainer` in interface `MutateLinkWeight`
      Returns:
        The training class that this mutator is being used with.

    - #### init

          public void init(EvolutionaryAlgorithm theTrainer)

      Setup the link mutator.
      Specified by:
        `init` in interface `MutateLinkWeight`
      Parameters:
        `theTrainer` - The training class that this mutator is used with.

    - #### mutateWeight

          public void mutateWeight(Random rnd,
                          NEATLinkGene linkGene,
                          double weightRange)

      Perform the weight mutation on the specified link.
      Specified by:
        `mutateWeight` in interface `MutateLinkWeight`
      Parameters:
        `rnd` - A random number generator.
        `linkGene` - The link to mutate.
        `weightRange` - The weight range, weights are between -weightRange and +weightRange.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2014. All Rights Reserved.