org.encog.ml.ea.opp

## Interface EvolutionaryOperator

- All Known Implementing Classes:
    CompoundOperator, ConstMutation, MutatePerturb, MutateShuffle, NEATCrossover, NEATMutateAddLink, NEATMutateAddNode, NEATMutateRemoveLink, NEATMutateWeights, NEATMutation, Splice, SpliceNoRepeat, SubtreeCrossover, SubtreeMutation

      public interface EvolutionaryOperator

  An evolutionary operator is used to create new offspring genomes based on parent genomes. There are a variety of means by which this can be done. The number of parents required, as well as the number of offspring produced are dependent on the operator. This interface defines key characteristics that all operators must share. Most operators do not modify the parents. However, some mutation operators do require that the children and parent array be the same. If the children and parent arrays are the same, then the parent will be mutated.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `init(EvolutionaryAlgorithm theOwner)` Called to setup the evolutionary operator.
    `int` | `offspringProduced()`
    `int` | `parentsNeeded()`
    `void` | `performOperation(Random rnd, Genome[] parents, int parentIndex, Genome[] offspring, int offspringIndex)` Perform the evolutionary operation.

- - ### Method Detail

    - #### init

          void init(EvolutionaryAlgorithm theOwner)

      Called to setup the evolutionary operator.
      Parameters:
        `theOwner` - The evolutionary algorithm used with this operator.

    - #### offspringProduced

          int offspringProduced()

      Returns:
        The number of offspring produced by this type of crossover.

    - #### parentsNeeded

          int parentsNeeded()

      Returns:
        The number of parents needed.

    - #### performOperation

          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.