org.encog.ml.prg.opp
Class SubtreeCrossover

java.lang.Object
  extended by org.encog.ml.prg.opp.SubtreeCrossover
All Implemented Interfaces:
EvolutionaryOperator

public class SubtreeCrossover
extends Object
implements EvolutionaryOperator

Perform a type-safe subtree crossover. The crossover points will be chosen randomly but must be type-safe. The first parent will be cloned to produce the child. The tree formed from the crossover point of the second child will be copied and grafted into the parent's clone and its crossover point.


Constructor Summary
SubtreeCrossover()
           
 
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

SubtreeCrossover

public SubtreeCrossover()
Method Detail

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.

offspringProduced

public int offspringProduced()
Specified by:
offspringProduced in interface EvolutionaryOperator
Returns:
Returns the number of offspring produced. In this case, one.

parentsNeeded

public int parentsNeeded()
Specified by:
parentsNeeded in interface EvolutionaryOperator
Returns:
Returns the number of parents needed. In this case, two.

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.


Copyright © 2014. All Rights Reserved.