Evolvica Core API Version 0.6.2
Last Modified: June 29 2004

org.evolvica.core.mutate.iarray
Class ReverseMutator

java.lang.Object
  extended byorg.evolvica.engine.AbstractOperator
      extended byorg.evolvica.core.common.AbstractGeneticOperator
          extended byorg.evolvica.core.mutate.AbstractMutator
              extended byorg.evolvica.core.mutate.iarray.IntegerArrayMutator
                  extended byorg.evolvica.core.mutate.iarray.ReverseMutator
All Implemented Interfaces:
IGeneticOperator, IOperator, IProcessor, java.io.Serializable

public class ReverseMutator
extends IntegerArrayMutator

Reverse mutation of an integer array. This operator will randomly reverse a section of an array.

Since:
0.4.0
Version:
$Revision: 1.8 $ $Date: 2004/05/26 11:58:10 $
Author:
Andreas Rummler
See Also:
Serialized Form

Field Summary
protected  int lowerBound
          Lower bound.
protected  float rangePercentage
          Mutation range.
protected  int upperBound
          Upper bound.
 
Fields inherited from class org.evolvica.core.mutate.AbstractMutator
propability
 
Fields inherited from class org.evolvica.engine.AbstractOperator
descriptor, element, id, name
 
Constructor Summary
ReverseMutator()
          Constructor.
ReverseMutator(float rangePercentage)
          Constructor with random range.
ReverseMutator(int lBound, int uBound)
          Constructor with lower and upper reverse bound.
 
Method Summary
 int[] mutate(int[] array)
          Reverses an array of integers.
protected  int[] randomRange(int length)
          Helper for calculating a valid reverse range, dependent from length of array and percentage value.
 
Methods inherited from class org.evolvica.core.mutate.iarray.IntegerArrayMutator
mutate
 
Methods inherited from class org.evolvica.core.mutate.AbstractMutator
getPropability, process, setPropability
 
Methods inherited from class org.evolvica.engine.AbstractOperator
attachDescriptor, attachElement, descriptor, element, getId, getName, setId, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.evolvica.engine.IOperator
attachDescriptor, attachElement, descriptor, element, getId, getName, setId, setName
 

Field Detail

lowerBound

protected int lowerBound
Lower bound.


upperBound

protected int upperBound
Upper bound.


rangePercentage

protected float rangePercentage
Mutation range.

Constructor Detail

ReverseMutator

public ReverseMutator()
Constructor.


ReverseMutator

public ReverseMutator(float rangePercentage)
Constructor with random range.

Parameters:
rangePercentage - percentage value of the length of a randomly selected range to reverse

ReverseMutator

public ReverseMutator(int lBound,
                      int uBound)
Constructor with lower and upper reverse bound.

Parameters:
lBound - lower bound for reversing
uBound - upper bound for reversing
Method Detail

mutate

public int[] mutate(int[] array)
Reverses an array of integers. The reverse is done dependent on lowerBound and upperBound.

Specified by:
mutate in class IntegerArrayMutator
Parameters:
array - array to be reversed
Returns:
mutated array

randomRange

protected int[] randomRange(int length)
Helper for calculating a valid reverse range, dependent from length of array and percentage value.

Parameters:
length - length of the array
Returns:
integer array with lower and upper bound

Evolvica Core API Version 0.6.2
Last Modified: June 29 2004

Copyright © 2000-2004 Technical University of Ilmenau, Department Electronic Circuits and Systems