org.encog.ml.genetic.crossover
Class SpliceNoRepeat

java.lang.Object
  extended by org.encog.ml.genetic.crossover.SpliceNoRepeat
All Implemented Interfaces:
EvolutionaryOperator

public class SpliceNoRepeat
extends Object
implements EvolutionaryOperator

A simple cross over where genes are simply "spliced". Genes are not allowed to repeat. This method only works with IntegerArrayGenome.


Constructor Summary
SpliceNoRepeat(int theCutLength)
          Construct a splice crossover.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpliceNoRepeat

public SpliceNoRepeat(int theCutLength)
Construct a splice crossover.

Parameters:
theCutLength - The cut length.
Method Detail

performOperation

public void performOperation(Random rnd,
                             Genome[] parents,
                             int parentIndex,
                             Genome[] offspring,
                             int offspringIndex)
Perform the evolutionary operation.

Specified by:
performOperation in interface EvolutionaryOperator
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.

offspringProduced

public int offspringProduced()
Specified by:
offspringProduced in interface EvolutionaryOperator
Returns:
The number of offspring produced, which is 2 for splice crossover.

parentsNeeded

public int parentsNeeded()

Specified by:
parentsNeeded in interface EvolutionaryOperator
Returns:
The number of parents needed.

init

public void init(EvolutionaryAlgorithm theOwner)
Called to setup the evolutionary operator.

Specified by:
init in interface EvolutionaryOperator
Parameters:
theOwner - The evolutionary algorithm used with this operator.


Copyright © 2014. All Rights Reserved.