| java.lang.Object org.jgap.FitnessFunction
All known Subclasses: examples.simpleBooleanThreaded.MaxFunction, examples.equalDistribution.SampleFitnessFunction, examples.grid.fitnessDistributed.SampleFitnessFunction, examples.chromInit.MaxFunction, org.jgap.impl.StaticFitnessFunction, examples.multidimension.KnapsackFitnessFunction, examples.MinimizingMakeChangeFitnessFunction, org.jgap.perf.TestOverallPerformanceFitnessFunc, org.jgap.CachedFitnessFunction, org.jgap.impl.RandomFitnessFunction, examples.grid.evolutionDistributed.SampleFitnessFunction, examples.simpleBoolean.MaxFunction, org.jgap.impl.job.MaxFunction, examples.supergene.AbstractChangeFitnessFunction, examples.energy.CoinsEnergyFitnessFunction, org.jgap.impl.salesman.SalesmanFitnessFunction, examples.audit.CoinsExampleFitnessFunction, examples.dynamicMutation.DynamicMutationFitnessFunction, org.jgap.impl.fitness.TruthTableFitnessFunction, examples.knapsack.KnapsackFitnessFunction, examples.config.MaximizingFunctionFitnessFunction, examples.distinctGenes.SampleFitnessFunction,
FitnessFunction | abstract public class FitnessFunction implements Serializable,ICloneable(Code) | | 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.
author: Neil Rotstan author: Klaus Meffert since: 1.0 |
DELTA | final public static double DELTA(Code) | | |
NO_FITNESS_VALUE | final public static double NO_FITNESS_VALUE(Code) | | |
clone | public Object clone()(Code) | | Please override in your implementations!
deep clone of the current instance author: Klaus Meffert since: 3.2 |
evaluate | abstract protected double evaluate(IChromosome a_subject)(Code) | | 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 positive double reflecting the fitness rating of the givenChromosome. Note that if a non-positive double is returned, aRuntimeException should be generated author: Neil Rotstan author: Klaus Meffert since: 2.0 (until 1.1: return type int) |
getFitnessValue | public double getFitnessValue(IChromosome a_subject)(Code) | | 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 thefitness value the fitness value of the given Chromosome author: Neil Rotstan author: Klaus Meffert since: 2.0 (until 1.1: return type int) |
getLastComputedFitnessValue | public double getLastComputedFitnessValue()(Code) | | the last fitness value computed via method getFitnessValue(Chromosome), or NO_FITNES_VALUE if the former method has not been calledyet author: Klaus Meffert since: 2.4 |
|
|