com.anji.neat
Class SingleTopologicalMutationOperator

java.lang.Object
  extended byorg.jgap.MutationOperator
      extended bycom.anji.neat.SingleTopologicalMutationOperator
All Implemented Interfaces:
Configurable

public class SingleTopologicalMutationOperator
extends MutationOperator
implements Configurable

Author:
Philip

Constructor Summary
SingleTopologicalMutationOperator()
          should call init() after this constructor
SingleTopologicalMutationOperator(float addConnMutationRate, float addNeuronMutationRate, RecurrencyPolicy aPolicy)
          ctor
 
Method Summary
 void init(Properties props)
           
protected  void mutate(Configuration jgapConfig, ChromosomeMaterial target, java.util.Set allelesToAdd, java.util.Set allelesToRemove)
          Leaves material unmodified, but updates allelesToAdd and allelesToRemove with modifications.
 
Methods inherited from class org.jgap.MutationOperator
doesMutationOccur, doesMutationOccur, getMutationRate, mutate, numMutations, setMutationRate, updateMaterial
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SingleTopologicalMutationOperator

public SingleTopologicalMutationOperator()
should call init() after this constructor


SingleTopologicalMutationOperator

public SingleTopologicalMutationOperator(float addConnMutationRate,
                                         float addNeuronMutationRate,
                                         RecurrencyPolicy aPolicy)
ctor

Parameters:
addConnMutationRate -
addNeuronMutationRate -
aPolicy -
Method Detail

init

public void init(Properties props)
          throws java.lang.Exception
Specified by:
init in interface Configurable
Parameters:
props - configuration parameters
Throws:
java.lang.Exception
See Also:
Configurable.init(com.anji.util.Properties)

mutate

protected void mutate(Configuration jgapConfig,
                      ChromosomeMaterial target,
                      java.util.Set allelesToAdd,
                      java.util.Set allelesToRemove)
Description copied from class: MutationOperator
Leaves material unmodified, but updates allelesToAdd and allelesToRemove with modifications. This interface was chosen at a time when we wanted to have the mutation operators not augment each other; i.e., each one operated on the original material, and the total allelesToAdd and allelesToRemove from all mutations would be applied at once. We have gone back to updating material after each mutation operator, but left the interface this way in case we decide to switch again.

Specified by:
mutate in class MutationOperator
Parameters:
jgapConfig -
target - chromosome material before mutation
allelesToAdd - alleles added by this mutation, Set contains Allele objects
allelesToRemove - alleles removed by this mutation, Set contains Allele objects
See Also:
MutationOperator.mutate(org.jgap.Configuration, org.jgap.ChromosomeMaterial, java.util.Set, java.util.Set)