-
Notifications
You must be signed in to change notification settings - Fork 1
Fitness Scaling
Each individual possess a fitness value indicating how good of a solution this object represents. The lower the value, the better the gene combination. A fitness of 0 represents an optimal solution. In order to work with fitness values they has to be normalized to a known range. The genetic algorithm uses the newly computed metric to determine which individuals are picked how often as parents for the next generation see: selection strategies for more information how it is used.
On the contrary to the normal fitness value a higher scaled fitness indicates a better result.
On the scaled fitness value ... depend e.g. parent selection and in some cases crossover strategies. Depending on how fitness scaling alters the fitness value
In order to work with fitness values
Rank scaling allows fit individuals to play a more dominant role in reproduction while still giving weaker individuals a chance to participate in the overall procedure. Individuals are sorted ascendingly based on their fitness value and assigned a rank equivalent to it's position. Individuals with the exact same fitness will be assigned the same rank.
.withScalingStrategy(new RankScaling())
Top scaling .withScalingStrategy(new TopScaling(double topPercentage))
.withScalingStrategy(new ProportionalScaling())
.withScalingStrategy(new AgeScaling(ScalingStrategy starat))
Take the scaled fitness and multiply the incomming with rank scaling..