org.jgap
Class FitnessFunction
- java.lang.Object
-
- org.jgap.FitnessFunction
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, ICloneable
- Direct Known Subclasses:
- CachedFitnessFunction, MaxFunction, SalesmanFitnessFunction, TruthTableFitnessFunction
public abstract class FitnessFunction extends java.lang.Object implements java.io.Serializable, ICloneable
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 double 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 doubles): 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
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static doubleDELTAstatic doubleNO_FITNESS_VALUE
-
Constructor Summary
Constructors Constructor and Description FitnessFunction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.Objectclone()Please override in your implementations!doublegetFitnessValue(IChromosome a_subject)Retrieves the fitness value of the given Chromosome.doublegetLastComputedFitnessValue()
-
-
-
Field Detail
-
NO_FITNESS_VALUE
public static final double NO_FITNESS_VALUE
- See Also:
- Constant Field Values
-
DELTA
public static final double DELTA
- See Also:
- Constant Field Values
-
-
Method Detail
-
getFitnessValue
public double getFitnessValue(IChromosome 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)
-
getLastComputedFitnessValue
public double getLastComputedFitnessValue()
- Returns:
- the last fitness value computed via method getFitnessValue( Chromosome), or NO_FITNES_VALUE if the former method has not been called yet
- Since:
- 2.4
-
clone
public java.lang.Object clone()
Please override in your implementations!- Specified by:
clonein interfaceICloneable- Overrides:
clonein classjava.lang.Object- Returns:
- deep clone of the current instance
- Since:
- 3.2
-
-
DMelt 3.0 © DataMelt by jWork.ORG