GeneXproTools 4.0 implements the Relative/Hits fitness function
both with and without parsimony pressure. The version with
parsimony pressure puts a little pressure on the size of the
evolving solutions, allowing the discovery of more compact models.
For some Function Finding problems it is important to evolve a model that performs well for all fitness cases within a certain relative error (the
precision) of the correct value.
For those cases, the fitness f(ij) of an individual program
i for fitness case j is evaluated by the formula:
where p is the precision and E(ij) is the relative error of an individual program
i for fitness case j evaluated by the equation:
where P(ij) is the value predicted by the individual program
i for fitness case j and Tj is the target value for fitness case
j.
And overall, the fitness fi of an
individual program
i is expressed by the equation:
where n is the total number of fitness cases.
So, for this fitness function, maximum fitness fmax is given by: fmax =
n
Note that when the target value for a particular fitness case is zero, the relative error is undefined but, for fitness evaluation purposes
during training, GeneXproTools 4.0 salvages these cases so that they can also be used for fine-tuning solutions.
Its counterpart with parsimony pressure, uses this fitness
measure fi
as raw fitness rfi and complements
it with a parsimony term.
Thus, in this case, raw maximum fitness rfmax = n.
And the overall fitness fppi (that is, fitness with parsimony pressure) is evaluated by the formula:
where Si is the size of the program, Smax and
Smin represent, respectively, maximum and minimum program sizes and are evaluated by the formulas:
Smax = G (h + t)
Smin = G
where G is the number of genes, and h and t are the head and tail sizes (note that, for simplicity, the linking function was not taken into account). Thus, when
rfi = rfmax and Si =
Smin (highly improbable, though, as this can only happen for very simple functions as this means that all the sub-ETs are composed of just one node),
fppi = fppmax, with fppmax evaluated by the formula:
|