org.jgap
Class FitnessFunction
java.lang.Object
org.jgap.FitnessFunction
- All Implemented Interfaces:
- java.io.Serializable
- 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.
- Since:
- 1.0
- Author:
- Neil Rotstan, Klaus Meffert
- See Also:
- Serialized Form
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FitnessFunction
public FitnessFunction()
getFitnessValue
public final double getFitnessValue(Chromosome a_subject)
- Retrieves the fitness value of the given Chromosome. The fitness
value will be a positive double.
- Parameters:
a_subject - the Chromosome for which to compute and return the
fitness value.
- Returns:
- the fitness value of the given Chromosome.
- Since:
- 2.0 (until 1.1: return type int)
getNoFitnessValue
public double getNoFitnessValue()
- Returns:
- the double value that indicated that there is no fitness value
assigned yet
- Since:
- 2.0