For this analysis, we are going to use the basic Gene Expression
Algorithm both with and without random constants. In both cases,
though, a single tree structure encoded in a single gene will be
evolved.
As it is customary, the parameters used per run are summarized in a
table (Table 1). Note that, in these experiments, small population
sizes of only 50 individuals were used, incomparably smaller than
the 4,000 individuals used by Koza to solve this same problem
(indeed, this population size of 50 individuals is kept constant
throughout this work in order to allow a more fruitful comparison
between the different systems). Also worth pointing out is that,
throughout this study and whenever possible, a maximum program size
around 50 points was used so that comparisons could be made between
all the experiments (to be more precise, for the unigenic systems a
head length of 24 gives maximum program size 49, whereas for the
multigenic systems with four genes with head length six, maximum
program size equals 52). So, for the unigenic systems of this study,
chromosomes with a head length h = 24 were chosen, giving maximum
program length of 49 (note, however, that the chromosome length in
the system with random numerical constants is larger on account of
the Dc domain).
Table 1
Settings for the sextic polynomial problem using a unigenic system
with (ugGEPRNC) and without (ugGEP) random numerical
constants.

ugGEP 
ugGEPRNC 
Number of runs 
100 
100 
Number of generations 
200 
200 
Population size 
50 
50 
Chromosome length 
49 
74 
Number of genes 
1 
1 
Head length 
24 
24 
Gene length 
49 
74 
Terminal set 
a 
a ? 
Function set 
+  * / 
+  * / 
Mutation rate 
0.044 
0.044 
Inversion rate 
0.1 
0.1 
RIS transposition rate 
0.1 
0.1 
IS transposition rate 
0.1 
0.1 
Twopoint recombination rate 
0.3 
0.3 
Onepoint recombination rate 
0.3 
0.3 
Random constants per gene 
 
5 
Random constants data type 
 
Integer 
Random constants range 
 
03 
Dcspecific mutation rate 
 
0.044 
Dcspecific inversion rate 
 
0.1 
Dcspecific IS transposition
rate 
 
0.1 
Random constants mutation rate 
 
0.01 
Number of fitness cases 
50 
50 
Selection range 
100 
100 
Precision 
0.01 
0.01 
Success rate 
26% 
4% 
As shown in Table 1, the probability of success for this problem
using the unigenic system without random numerical constants is
considerably higher than the success rate obtained with the ugGEPRNC algorithm (26% as opposed to just 4%), which, again, shows
that, for this kind of simple, modular problem, evolutionary
algorithms fare far better if the numerical constants are created
from scratch by the algorithm itself through the evolution of simple
mathematical expressions. This is not to say that, for complex
realworld problems of just one variable or really complex problems
of higher dimensions, random numerical constants are not important;
indeed, most of the time, they play a crucial role in the discovery
of good solutions.
Let’s take a look at the structure of the first perfect solution
found using the unigenic system without the facility for the
manipulation of random numerical constants:
0123456789012345678901234567890123456789012345678 

*++a/****+a*/aa*/*aaaaaaaaaaaaaaaaaaaaaaaaa 
(16) 
As its expression shows, it contains a relatively big neutral region
involving a total of nine nodes and two smaller ones involving just
three nodes each. It is also worth pointing out the creation of the
numerical constant 1 through the simple arithmetic operation a/a.
It is also interesting to take a look at the structure of the first
perfect solution found using the unigenic system with the facility
for the manipulation of random numerical constants:
01234567890123456789012345678901234567890123456789012345678901234567890123 

*a+*aa+*a*/aaa*++?aa*a?aaa???aaaaaa?a?a?a???a?a0210121021334303442030040 



A = {1, 1, 1, 1, 3} 
(17) 
As its expression reveals, it is a fairly compact solution with no
obvious neutral regions that makes good use of the random numerical
constant 1 to evolve a perfect solution.
