Information Technology Reference
In-Depth Information
As shown in Table 5.8, despite requiring rational constants, the ā€œVā€ func-
tion problem was better tackled by the simpler GEA-B approach, as both the
average best-of-run fitness (895.167 for the GEA-B algorithm, 714.658 for
the GEP-NC algorithm, and 812.840 for the GEP-RNC algorithm) and aver-
age best-of-run R-square (0.996039 for the GEA-B algorithm, 0.989324 for
the GEP-NC algorithm, and 0.993623 for the GEP-RNC algorithm) indicate.
Indeed, with the collection of functions chosen for the function set, most of
which extraneous, the algorithm is equipped with different tools for evolv-
ing highly accurate models without explicitly using numerical constants. As
we will see below, the structures of these extremely accurate models are
somewhat unconventional as highly creative ways of representing the nu-
merical constants are discovered by the algorithms. We will also see that,
despite performing overall slightly better, the best models designed by the
GEA-B algorithm are slightly worse than the best models designed with nu-
merical constants. And not surprisingly, the best models of all were designed
by the GEP-RNC algorithm.
The best solution of the GEA-B experiment was found in generation 4698
of run 2 (the sub-ETs are linked by addition):
0123456789012
+/L*E*aaaaaaa
ES*+CSaaaaaaa
SSESSEaaaaaaa
EE/*aSaaaaaaa
EE/*aSaaaaaaa (5.19a)
It has a fitness of 998.730 and an R-square of 0.9999970702 evaluated over
the training set of 20 fitness cases and an R-square of 0.999977473 evalu-
ated against a testing set of 100 random points also chosen from the interval
[-1, 1] and is therefore a very good solution to the problem at hand. More
formally, it corresponds to the following C++ function:
double apsModel(double d[])
{
double dblTemp = 0.0;
dblTemp = (((d[0]*d[0])/exp(d[0]))+log((d[0]*d[0])));
dblTemp += exp(sin(((sin(d[0])+d[0])*cos(d[0]))));
dblTemp += sin(sin(exp(sin(sin(exp(d[0]))))));
dblTemp += exp(exp(((sin(d[0])*d[0])/d[0])));
dblTemp += exp(exp(((sin(d[0])*d[0])/d[0])));
return dblTemp;
}
(5.19b)
Search WWH ::




Custom Search