Description
Before evaluating an individual, we could check if identical individuals (clones) are already present in the population.
When the number of clones (
n
) is greater than zero, the actual fitness assigned to the individual is multiplied byS
(the parameter is called the clone scaling factor).While a continous range of values is possible, in many programs
S
is set either to1
(no clone scaling) or to0
(clone extermination).
(from "Evolving Assembly Programs: How Games Help Microprocessor Validation". Corno, Sanchez, Squillero)
Because of the hash table based fitness scoring, in Vita we cannot assign different fitness values to syntactically equivalent individuals.
Anyway the hash table can be augmented with information used to calculate an approximation of n
and the evaluator_proxy
can be modified to use these information.