org.jgap
Class FitnessFunction

java.lang.Object
  extended byorg.jgap.FitnessFunction
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
MinimizingMakeChangeFitnessFunction

Deprecated. use BulkFitnessFunction instead

public abstract class FitnessFunction
extends java.lang.Object
implements java.io.Serializable

Fitness functions are used to determine how optimal a particular solution is relative to other solutions. This abstract class should be extended and the evaluate() method implemented. The fitness function is given a Chromosome to evaluate and should return a positive integer that reflects its fitness value. The higher the value, the more fit the Chromosome. The actual range of fitness values isn't important (other than the fact that they must be positive integers): it's the relative difference as a percentage that tends to determine the success or failure of a Chromosome. So in other words, two Chromosomes with respective fitness values of 1 and 100 have the same relative fitness to each other as two Chromosomes with respective fitness values of 10 and 1000 (in each case, the first is 1% as fit as the second).

Note: Two Chromosomes with equivalent sets of genes should always be assigned the same fitness value by any implementation of this interface.

See Also:
BulkFitnessFunction, Serialized Form

Constructor Summary
FitnessFunction()
          Deprecated.  
 
Method Summary
protected abstract  int evaluate(Chromosome a_subject)
          Deprecated. Determine the fitness of the given Chromosome instance.
 int getFitnessValue(Chromosome a_subject)
          Deprecated. Retrieves the fitness value of the given Chromosome.
 int getMaxFitnessValue()
          Deprecated.  
abstract  void init(java.util.Properties newProps)
          Deprecated.  
 void setMaxFitnessValue(int aMaxFitnessValue)
          Deprecated.  
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FitnessFunction

public FitnessFunction()
Deprecated. 
Method Detail

getMaxFitnessValue

public int getMaxFitnessValue()
Deprecated. 
Returns:
int maximum fitness that can be returned by this function

setMaxFitnessValue

public void setMaxFitnessValue(int aMaxFitnessValue)
Deprecated. 
Parameters:
aMaxFitnessValue - maximum fitness that can be returned by this function

init

public abstract void init(java.util.Properties newProps)
Deprecated. 
Parameters:
newProps - configuration parameters

getFitnessValue

public final int getFitnessValue(Chromosome a_subject)
Deprecated. 
Retrieves the fitness value of the given Chromosome. The fitness value will be a positive integer.

Parameters:
a_subject - the Chromosome for which to compute and return the fitness value.
Returns:
the fitness value of the given Chromosome.

evaluate

protected abstract int evaluate(Chromosome a_subject)
Deprecated. 
Determine the fitness of the given Chromosome instance. The higher the return value, the more fit the instance. This method should always return the same fitness value for two equivalent Chromosome instances.

Parameters:
a_subject - The Chromosome instance to evaluate.
Returns:
A positive integer reflecting the fitness rating of the given Chromosome.