fashion are performed. This strategy can be general-
ized in a natural way by the execution of alternative
turns of both algorithms. We will consider a turn as
the isolated and uninterrupted evolution of one popu-
lation for a fixed number of generations. Note that if
a turn consists of only one generation we obtain the
basic strategy. We display below the algorithm de-
scribing this cooperative coevolutionary architecture:
begin
Pop_slp := initialize_GP-slp_population
Pop_const := initialize_EA-constants_population
Const_collabor := random(Pop_const)
evaluate(Pop_slp,Const_collabor)
While (not termination condition) do
Pop_slp := turn_GP(Pop_slp,Const_collabor)
Collabor_slp := {best(Pop_slp),
random(Pop_slp)}
Pop_const := turn_EA(Pop_const,Collabor_slp)
Const_collabor := best(Pop_const)
end
5 EXPERIMENTATION
5.1 Experimental Settings
The experimentation consists in the execution of the
proposed cooperative coevolutionary strategies, con-
sidering several types of target functions. Two exper-
iments were performed.
For the first experiment two groups of tar-
get functions are considered: the first group in-
cludes 100 randomly generated univariate polyno-
mials whose degrees are bounded by 5 and the
second group consists of 100 target functions rep-
resented by randomly generated slp’s over F =
{+,−,∗, /,sqrt,sin,cos,ln,exp} and T = {x,c}, c ∈
[−1,1], with length 16. We will name this second
group “target slp’s”.
A second experiment is also performed solving
symbolic regression problem instances associated to
the following three multivariate functions:
f
1
(x,y,z) = (x+ y+ z)
2
+ 1 (8)
f
2
(x,y,z,w) =
1
2
x+
1
4
y+
1
6
z+
1
8
w (9)
f
3
(x,y) = x y+ sin((x− 1) (y+ 1)) (10)
For every execution the sample set is constituted
by 30 points. In the case of the functions that belong
to the first experiment, the sample points are in the
range [−1, 1]. For the functions f
1
and f
2
the points
are in the range [−100,100] for all variables. Finally
function f
3
varies in the range [−3,3] along each axis.
The individuals are slp’s over F =
{+,−,∗, /,sqrt} in the executions related to the
100 generated polynomials and to the functions f
1
and f
2
. The function set F is incremented with the
operation sin for the problem instance associated to
f
3
and also with the operations cos, ln and exp for
the group of target slp’s.
Besides the variables, the terminal set also in-
cludes two referencesto constants for thepolynomials
and only one reference to a constant for the rest of the
target functions. The constants take values in [−1,1].
The particular settings for the parameters of the
GP process are the following: population size: 200,
crossover rate: 0.9, mutation rate: 0.05, reproduc-
tion rate: 0.05, 5-tournament as selection procedure
and maximum length of the slp’s: 16. In the case of
the EA that adjusts the constants, the population in-
cludes 100 vector of constants, crossover rate: 0.9,
mutation rate: 0.1 and 2-tournament as selection pro-
cedure. For all the coevolutionary strategies, the com-
putation of the fitness of an slp during the GP process
will use the best vector of constants as collaborator,
whereas in order to compute the fitness of a vector of
constants in the EA process, we consider a collabo-
rator set containing the best slp of the population and
another one randomly selected. Both processes are
elitist and a generational replacement between pop-
ulations is used. But in the construction of the new
population, the offsprings generated do not necessar-
ily replace their parents. After a crossover we have
four individuals: two parents and two offsprings. We
select the two best individuals with different fitness
values. Our motivation is to prevent premature con-
vergence and to maintain diversity in the population.
We compare the standard GP-slp strategy with-
out coevolution with three coevolutionary strategies
that follow the general architecture described in sec-
tion 4. We have implemented and executed over the
same sets of problem instances, the well known GP-
tree strategy with the standard recombination opera-
tors. Thus the obtained results are included in the
comparative study.
The first coevolutionary strategy, named Basic
GP-EA (BGPEA), consists in the alternative execu-
tion of one generation of each cooperative algorithm.
The second strategy, named Turns GP-EA (TGPEA),
generalizes BGPEA by means of the execution of al-
ternative turns of each algorithm. Finally, the third
strategy executes first a large turn of the GP algo-
rithm with the slp’s and then follows the execution
of the EA related with the constants until termination
condition was reached. This strategy is named Sep-
arated GP-EA (SGPEA). In the case of TGPEA we
have considered a GP turn as the evolution of the pop-
ulation of slp’s during 25 generations. On the other
hand, an EA turn consists of 5 generations in the evo-
COEVOLUTIONARY ARCHITECTURES WITH STRAIGHT LINE PROGRAMS FOR SOLVING THE SYMBOLIC
REGRESSION PROBLEM
45