JavaGenes, NASA Ames. Written largely by Al Globus

gov.nasa.javaGenes.evolvableDoubleList
Class DeJongFitnessFunctions

java.lang.Object
  extended bygov.nasa.javaGenes.core.FitnessFunction
      extended bygov.nasa.javaGenes.evolvableDoubleList.DeJongFitnessFunctions
All Implemented Interfaces:
java.io.Serializable

public class DeJongFitnessFunctions
extends FitnessFunction

The well know De Jong fitness functions. Taken from http://home.ku.edu.tr/~dyuret/pub/aitr1569/node19.html and http://cs.gmu.edu/~eclab/kdj_thesis/appendices.pdf

See Also:
Serialized Form

Field Summary
protected static double[][] foxholes
           
static java.lang.String[] names
           
protected  int number
           
static int QUARTIC_NOISE
           
static DoubleInterval quarticNoiseRange
           
static int ROSENBROCK
           
static DoubleInterval rosenbrockRange
           
static int SHEKEL_FOXHOLES
           
static DoubleInterval shekelFoxholesRange
           
static int SPHERE
           
static DoubleInterval sphereRange
           
static int STEP
           
static DoubleInterval stepRange
           
 
Fields inherited from class gov.nasa.javaGenes.core.FitnessFunction
name
 
Constructor Summary
DeJongFitnessFunctions(int number)
           
 
Method Summary
 Fitness evaluateFitness(Evolvable evolvable)
           
protected  double gauss()
           
 double quarticNoise(EvolvableDoubleList list)
          min = f(0,...,0) == 0 originally for list.getSize() = 30
 double rosenbrock(EvolvableDoubleList list)
          min = f(1,...1) = 0.
 double shekelFoxholes(EvolvableDoubleList list)
          min = f(-32,-32) -- and four others ~= 1, the numbers are in a strange space, see code originally for list.getSize() = 2 with 25 local minima
 double sphere(EvolvableDoubleList list)
          min = f(0,...,0) == 0 originally for list.getSize() = 3
 double step(EvolvableDoubleList list)
          min = f({-5.12,-5],...,[-5.12,-5]) == 0 originally for list.getSize() = 5 Again the references disagree, but this time I use the second one since the min is always 0 regarless of dimensionality
 java.lang.String toString()
           
 
Methods inherited from class gov.nasa.javaGenes.core.FitnessFunction
bestDouble, getFunction, getName, getNameArray, isNewFunction, makeFiles, numberOfObjectives, report, setName, worstDouble
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SPHERE

public static final int SPHERE
See Also:
Constant Field Values

ROSENBROCK

public static final int ROSENBROCK
See Also:
Constant Field Values

STEP

public static final int STEP
See Also:
Constant Field Values

QUARTIC_NOISE

public static final int QUARTIC_NOISE
See Also:
Constant Field Values

SHEKEL_FOXHOLES

public static final int SHEKEL_FOXHOLES
See Also:
Constant Field Values

names

public static final java.lang.String[] names

sphereRange

public static final DoubleInterval sphereRange

rosenbrockRange

public static final DoubleInterval rosenbrockRange

stepRange

public static final DoubleInterval stepRange

quarticNoiseRange

public static final DoubleInterval quarticNoiseRange

shekelFoxholesRange

public static final DoubleInterval shekelFoxholesRange

number

protected int number

foxholes

protected static double[][] foxholes
Constructor Detail

DeJongFitnessFunctions

public DeJongFitnessFunctions(int number)
Method Detail

evaluateFitness

public Fitness evaluateFitness(Evolvable evolvable)
Specified by:
evaluateFitness in class FitnessFunction
Returns:
the fitness. Low values are fitter than high values.

sphere

public double sphere(EvolvableDoubleList list)
min = f(0,...,0) == 0 originally for list.getSize() = 3


rosenbrock

public double rosenbrock(EvolvableDoubleList list)
min = f(1,...1) = 0. in the converted space (-2.048 to 2.048). Note: the references disagree on the order of the subtractions. Went with the original thesis. originally for list.getSize() = 2


step

public double step(EvolvableDoubleList list)
min = f({-5.12,-5],...,[-5.12,-5]) == 0 originally for list.getSize() = 5 Again the references disagree, but this time I use the second one since the min is always 0 regarless of dimensionality


quarticNoise

public double quarticNoise(EvolvableDoubleList list)
min = f(0,...,0) == 0 originally for list.getSize() = 30


gauss

protected double gauss()

shekelFoxholes

public double shekelFoxholes(EvolvableDoubleList list)
min = f(-32,-32) -- and four others ~= 1, the numbers are in a strange space, see code originally for list.getSize() = 2 with 25 local minima


toString

public java.lang.String toString()

JavaGenes, NASA Ames. Written largely by Al Globus