[IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) -...

8
A (µ + λ) GP Algorithm and its use for Regression Problems Eduardo Oliveira Costa Computer Science Department Federal University of Paran´ a (UFPR) PO Box 19081, 81531-970, Curitiba, Brazil [email protected] Aurora Pozo Computer Science Department Federal University of Paran´ a (UFPR) PO Box 19081, 81531-970, Curitiba, Brazil [email protected] Abstract The Genetic Programming (GP) is a powerful technique for Symbolic Regression. However, because it is a new area, many improvements can be obtained changing the basic be- havior of the method. In this way, this work develop a dif- ferent Genetic Programming algorithm doing some modi- fications on the classical GP algorithm and adding some concepts of Evolution Strategies. The new approach was evaluated using two instances of Symbolic Regression prob- lem – the Binomial–3 problem (a tunably difficult problem), proposed in [4] and the problem of Modelling Software Re- liability Growth (an application of Symbolic Regression). The discovered results were compared with the classical GP algorithm. The Symbolic Regression problems obtained ex- cellent results and an improvement was detected using the proposed approach. 1. Introduction The Genetic Programming (GP) is a Machine Learning technique which showed be an efficient paradigm to solve problems in many knowledge areas such as digital circuits, data mining, molecular biology, optimization tasks and oth- ers [10]. Its stochastic search allows GP to explore practi- cally and robustly, if not necessarily efficiently, huge search spaces [10]. GP can be used “to learn” mathematical func- tions or to find patterns in a set of data which provide to GP a huge applicability field. Recent studies have been made with the purpose to de- tect and fix some problems in GP [3, 4, 13]. The analysis of the problems which are difficult to be solved by GP [4] and the factors that could increase the likelihood of success in GP [3] are examples of researches that have been done in this field. Also, the code growth (or bloat), that is an excess of code growth caused by the genetic operators in the search process, without a corresponding improvement in fitness have been studied. Considering this facts, this work presents a preliminary study of a new approach to Genetic Programming algorithm based on researches presented in [4, 3], together with some concepts of the theory of Evolution Strategies. The princi- pal idea of this work is to propose a new GP algorithm that is more based in the Evolution Strategies than in the theory of Genetic Algorithms, proposed by John Holland [8]. To evaluate this approach, experiments were conducted using two instances of Symbolic Regression problems. The Binomial–3 problem, a tunably difficult problem, proposed in [4], and the problem of Modelling Software Reliability Growth, an application of Symbolic Regression. This paper is organized as follow: Section 2 presents an overview of Genetic Programming and Evolution Strate- gies. The Section 3 presents the proposed approach to GP. In Sections 4 and 5 the two problems discussed before are presented, the methodology of the Experiments is described and the Results are shown. Finally, Section 6 presents the Conclusion and the Future Works. 2 An Overview of GP and ES Genetic Programming is a new paradigm to the resolu- tion of problems based on mechanisms observed on nature and formalized on Darwin’s Natural Selection Theory. In nature, the individuals that better adapt to the environment that surrounds them have a greater chance to survive. They pass their genetic characteristics to their descendents and consequently, after several generations, this process tends to select naturally the best individuals [5]. The GP was introduced by John Koza [10], based on the idea of Genetic Algorithms presented by John Holland [8]. Today, GP is acknowledged as an effective research para- digm in Artificial Intelligence and Machine Learning [10] and has been applied in many areas of knowledge. The first step of the algorithm is creating an initial popu- lation of computer programs randomly (Generation 0). Af- ter that there are two major tasks processed in a loop: the evaluation of each program by the use of a fitness function Proceedings of the 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) 0-7695-2728-0/06 $20.00 © 2006

Transcript of [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) -...

Page 1: [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) - Arlington, VA, USA (2006.11.13-2006.11.13)] 2006 18th IEEE International Conference

A (µ + λ) − GP Algorithm and its use for Regression Problems

Eduardo Oliveira CostaComputer Science Department

Federal University of Parana (UFPR)PO Box 19081, 81531-970, Curitiba, Brazil

[email protected]

Aurora PozoComputer Science Department

Federal University of Parana (UFPR)PO Box 19081, 81531-970, Curitiba, Brazil

[email protected]

Abstract

The Genetic Programming (GP) is a powerful techniquefor Symbolic Regression. However, because it is a new area,many improvements can be obtained changing the basic be-havior of the method. In this way, this work develop a dif-ferent Genetic Programming algorithm doing some modi-fications on the classical GP algorithm and adding someconcepts of Evolution Strategies. The new approach wasevaluated using two instances of Symbolic Regression prob-lem – the Binomial–3 problem (a tunably difficult problem),proposed in [4] and the problem of Modelling Software Re-liability Growth (an application of Symbolic Regression).The discovered results were compared with the classical GPalgorithm. The Symbolic Regression problems obtained ex-cellent results and an improvement was detected using theproposed approach.

1. Introduction

The Genetic Programming (GP) is a Machine Learningtechnique which showed be an efficient paradigm to solveproblems in many knowledge areas such as digital circuits,data mining, molecular biology, optimization tasks and oth-ers [10]. Its stochastic search allows GP to explore practi-cally and robustly, if not necessarily efficiently, huge searchspaces [10]. GP can be used “to learn” mathematical func-tions or to find patterns in a set of data which provide to GPa huge applicability field.

Recent studies have been made with the purpose to de-tect and fix some problems in GP [3, 4, 13]. The analysisof the problems which are difficult to be solved by GP [4]and the factors that could increase the likelihood of successin GP [3] are examples of researches that have been donein this field. Also, the code growth (or bloat), that is anexcess of code growth caused by the genetic operators inthe search process, without a corresponding improvementin fitness have been studied.

Considering this facts, this work presents a preliminarystudy of a new approach to Genetic Programming algorithmbased on researches presented in [4, 3], together with someconcepts of the theory of Evolution Strategies. The princi-pal idea of this work is to propose a new GP algorithm thatis more based in the Evolution Strategies than in the theoryof Genetic Algorithms, proposed by John Holland [8].

To evaluate this approach, experiments were conductedusing two instances of Symbolic Regression problems. TheBinomial–3 problem, a tunably difficult problem, proposedin [4], and the problem of Modelling Software ReliabilityGrowth, an application of Symbolic Regression.

This paper is organized as follow: Section 2 presentsan overview of Genetic Programming and Evolution Strate-gies. The Section 3 presents the proposed approach to GP.In Sections 4 and 5 the two problems discussed before arepresented, the methodology of the Experiments is describedand the Results are shown. Finally, Section 6 presents theConclusion and the Future Works.

2 An Overview of GP and ES

Genetic Programming is a new paradigm to the resolu-tion of problems based on mechanisms observed on natureand formalized on Darwin’s Natural Selection Theory. Innature, the individuals that better adapt to the environmentthat surrounds them have a greater chance to survive. Theypass their genetic characteristics to their descendents andconsequently, after several generations, this process tendsto select naturally the best individuals [5].

The GP was introduced by John Koza [10], based on theidea of Genetic Algorithms presented by John Holland [8].Today, GP is acknowledged as an effective research para-digm in Artificial Intelligence and Machine Learning [10]and has been applied in many areas of knowledge.

The first step of the algorithm is creating an initial popu-lation of computer programs randomly (Generation 0). Af-ter that there are two major tasks processed in a loop: theevaluation of each program by the use of a fitness function

Proceedings of the 18th IEEE InternationalConference on Tools with Artificial Intelligence (ICTAI'06)0-7695-2728-0/06 $20.00 © 2006

Page 2: [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) - Arlington, VA, USA (2006.11.13-2006.11.13)] 2006 18th IEEE International Conference

(this is defined according to the problem) and the creation ofa new population with the selection of individuals, based ontheir fitness values and by applying genetic operators suchas: reproduction, crossover and mutation. Each run of thisloop represents a new generation of computer programs thatreplace the previous one. This process is repeated until a so-lution is found or until a maximum number of generationsare reached.

The GP is a new approach and many improvements canbe done in this area. Some studies have been done withthis purpose such as: the analysis of the problems whichare difficult to be solved by GP [4], the factors that couldincrease the likelihood of success in GP [3] and the codegrowth (or bloat), that is an excess of code growth causedby the application of the genetic operators in the search forbetter solutions, without a corresponding improvement infitness have been studied.

Together with these studies, the Evolution Strategies ap-pear as an interesting alternative to be joined with GP in or-der to improve the technique. This technique can be definedas an algorithm where individuals (potential solutions) arecodified by a real-value variable set, the “genome”. The firstES algorithm proposed, used a mutation-selection schema,known as two-membered ES or (1 + 1) − ES algorithm[6]. According to [1], the (1 + 1) − ES works with an in-dividual, which creates an offspring through mutation. Thebest of these both individuals is deterministically selected tointegrate the next generation. This process posteriorly wasimproved, adding the idea of population [6]. Rechenbergproposed the multimembered ES, (µ + 1) − ES , whereµ parents, (µ > 1), participate in the generation of onedescendant. In this method all parents have the same likeli-hood of matching.

The (µ+λ)−ES specifies that µ parents produce λ de-scendants, where (λ > µ). The descendants compete withtheir parents in the selection of the best µ individuals to thecreation of the next generation. This procedure presents lo-cal optimals. To solve it, the (µ, λ) − ES was proposed,where the lifetime of an individual is just during a genera-tion. Recent evidences points that the last algorithm is asgood as the first one in practical applications [6].

The notation of an ES algorithm is the following:

(µ + λ) − ES or (µ, λ) − ES

Where:µ: is the size of the population.+/, : The “+” operator indicates that µ and λ will com-

pete to the next generation. The µ best individuals will beselected. The “,” operator indicates that the µ best individ-uals will be selected just only between the descendants.

λ: is the number of descendants created at each genera-tion.

3 A (µ + λ) − GP algorithm

One of the motivations to propose this new approach toGP is the research presented in [3], where Daida performedexperiments trying to identify an initial metric in popula-tions that could increase the likelihood of success in Ge-netic Programming problems. One major finding of thiswork was in indicating a strong correlation between indi-vidual rank within an initial population and the material thatis ultimately used in a solution.

Also, the ideas of multicrossover to prevent the occur-rence of code growth, presented in [15], gave some sugges-tions to formulate the considered algorithm. The hypothesisbehind this implementation is that many crossovers betweenthe best individuals could avoid the loss of good genetic ma-terial and also, the likelihood to generate good individualscould be increased.

Furthermore, in this work we propose a preliminarystudy doing some modifications at mutation operator, in at-tempt to prevent some needless code generated. The orig-inal mutation operator proposed by [10] just selects ran-domly a sub tree and change the sub tree selected for an-other sub tree also chosen randomly. Considering that insome situations the trees contain needless code, an elimina-tion of a sub tree could be good to the evolutionary process.

Considering these facts, we propose the selection of alittle percentage of the best individuals created at each gen-eration to be applied the genetic operators. In this step weused the elitist selection, choosing the n% best individuals.

After that in the set of n% best individuals, using theRoulette Wheel method with fitness proportional selection[7], the genetic operators (crossover or reproduction) areapplied until generate λ individuals, where (λ > µ).

The next step is the application of the mutation operator.The mutation is applied with some modifications. The origi-nal mutation is preserved, being added one more option thatis the removal of a sub tree (chosen randomly). This bothoptions of operators are chosen randomly. In a similar wayto the previous step, the candidates to the mutation operatorwere selected using the Roulette Wheel method.

The descendants will compete with their parents in theselection of µ best individuals to the next generation [6].This approach was based on the (µ + λ) − ES algorithm.The Algorithm 1 presents the proposed (µ+λ)−GP algo-rithm.

3.1 Implementation Aspects

The software Lilg-gp [16] which is a free and easily con-figurable software, was used to implement the proposed al-gorithm and to perform the experiments.

First of all, a study about the architecture and potential-lity of the system were done. After that, the needed changes

Proceedings of the 18th IEEE InternationalConference on Tools with Artificial Intelligence (ICTAI'06)0-7695-2728-0/06 $20.00 © 2006

Page 3: [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) - Arlington, VA, USA (2006.11.13-2006.11.13)] 2006 18th IEEE International Conference

Algorithm 1 Proposed (µ + λ) − GP algorithm1: Initialization:

(a) Generate the initial population.(b) Calculate fitness.(c) Select the µ best individuals.

2: Repeat until the solution was not found or the maxi-mum number of generations was not reached

3: Using the Roulette Wheel method, select parents andapply genetic operators until generate λ descendants.

4: Apply mutation on λ descendants:(a) Replace sub trees (original mutation).(b) Choose a sub tree and replace for a terminal.

5: Calculate fitness.6: Select the µ best parents between (µ + λ).7: End repeat until

were performed to the construction of the proposal algo-rithm. The changes, mostly were in the kernel of the system.The first important change was in the selection process. Theoriginal method was replaced, adding a function, responsi-ble to select the best n% individuals. Changes in the muta-tion operator were performed also. It was added a mecha-nism to replace the random selected subtree by a valid ter-minal. Together with the original mutation operator, theyhave 50% of chance of occur each one.

The parameter settings used in the experiments was prac-tically the same as used in [4] and founded in Chapter 7 of[10]. The general parameter settings for the Classical GPand for the New GP are shown in the Table 1. The specificparameter settings for the New GP are show in the Table 2.The experiments were performed in a cluster using mono–processed Athlon 64 machines, with 2GB of memory each.

Table 1. General Parameter SettingsSoftware

Parameter Binomial-3 ReliabilityGrowth

Number of runs 600 10Maximum generations 200 250Population size 500 4000Selection method best bestInitialization method half and half fullInitialization depths 2-6 2-10Maximum depth 26 10Maximum nodes 100 50Crossover rate 80% 70%Reproduction rate 10% 20%Mutation rate 20% 10%

Table 2. New GP - Specific Parameter SettingsSoftware

Parameter Binomial-3 ReliabilityGrowth

Initial Population 500 4000µ 100 800λ 400 3200Selection method µ + λ µ + λ

4 The Binomial–3 problem

The first experiment conducted was with the Binomial–3problem. The Binomial–3 was proposed as a tunably diffi-cult problem by Daida, et. al. in [4]. The Binomial–3 prob-lem is an instance of symbolic regression problems and theinvolved function for the solution is

f(x) = 1 + 3x + 3x2 + x3 (1)

The term “binomial” refers to the sequence of the coeffi-cients in this polynomial and the “3” to the order of thispolynomial [4].

The Binomial–3 problem was defined according to [4]:Fitness cases are 50 equidistant points generated from theequation f(x) = 1 + 3x + 3x2 + x3, over the interval [-1,0). The raw fitness is the sum of the absolute error. A hit isdefined being within 0.01 in ordinate of a fitness case for atotal of 50 hits. The stop criteria is when an individual in apopulation first scores 50 hits.

The function set defined is {+,−,÷,×}, which corre-sponds to the basic arithmetic operators (with protected di-vision). The terminal set is defined as {x, β}, where x isthe symbolic variable and β is the set of ephemeral randomconstants (ERCs). The ephemeral random constants areuniformly distributed over a specified interval of the form[−α, α], where α is a real number that defines the range forERCs. Each ERCs was generated once at population ini-tialization and is not changed in value during the course ofa GP run.

Seven values for α were used, they are:

{0.1, 1, 2, 3, 10, 100, 1000}An option with no ERCs was run also. Eight datasets werecollected according to Table 3. Each dataset was trainedwith 600 runs for a total of 4800 runs. Experiments wereaccomplished with the classical GP method and with thenew GP approach.

4.1 Results

In this section the results obtained with the experimentsare showed and discussed. For each experiment a compari-son between the proposed method and the classical GP was

Proceedings of the 18th IEEE InternationalConference on Tools with Artificial Intelligence (ICTAI'06)0-7695-2728-0/06 $20.00 © 2006

Page 4: [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) - Arlington, VA, USA (2006.11.13-2006.11.13)] 2006 18th IEEE International Conference

Table 3. Datasets of ERCsDataset ERC Dataset ERC

N – 3 [-3, 3]0 [-0.1, 0.1] 4 [-10, 10]1 [-1, 1] 5 [-100, 100]2 [-2, 2] 6 [-1000, 1000]

performed using paired two-sided t tests, at a 95% confi-dence level. In Tables 4 and 5 are showed the results of thecomparison of the proposed method with the classical GP.

Table 4. Binomial-3 – Classical GP ResultsSet Fitness Hits Average ± Success

Average Deviation %

N 0.191 46.45 ± 10.44 92.90 1.339 22.16 ± 14.26 44.321 0.357 40.37 ± 10.96 80.732 0.418 37.86 ± 12.12 75.733 0.481 36.44 ± 12.42 72.894 0.914 27.38 ± 14.55 54.865 1.603 15.93 ± 12.49 31.866 1.927 14.47 ± 12.22 28.94

Table 5. Binomial-3 – New GP ResultsSet Fitness Hits Average ± Success

Average Deviation %

N 0.164 46.85 ± 8.67 93.70 0.765 30.13 ± 14.29 60.261 0.248 44.66 ± 8.11 89.322 0.285 43.42 ± 9.15 86.853 0.294 45.30 ± 10.33 90.64 0.512 36.84 ± 12.22 73.75 0.692 33.23 ± 16.16 66.666 1.081 25.00 ± 15.12 49.89

According to the results presented, the probability ofsuccess in the experiments with the new approach of GP isbigger than with the classical GP. In the dataset 6 (which isthe most difficult degree), the difference between the meth-ods is around of 40%. In Figure 1 a comparative graphicbetween the probabilities of success of the two approachesis presented.

In Table 6 are shown the results of the comparison ofthe proposed method with the classical GP. Considering theresults, just in the dataset N (which is the easier difficult de-gree) the p-value is > 0.05, what permit us consider thatthere is not statistically significant difference between thetwo sets compared. In the others datasets, the statisticallysignificant difference is confirmed, that is, the proposedmethod is statistically better than the classical GP.

In Figure 2, a graphic with the evolution of the solution’sgrowth is presented. The dataset 6, that presents the moredifficult step, was chosen to be compared between the two

20

30

40

50

60

70

80

90

100

0 1 2 3 4 5 6 7

Pro

babi

lity

of S

ucce

ss

Difficulty

Classical GPNew GP

Figure 1. Binomial-3 – Probability of Success

Table 6. Binomial-3 – Results of paired two-sided t test

Dataset p-values

N 0.5360 < 0.0011 < 0.0012 < 0.0013 < 0.0014 < 0.0015 < 0.0016 < 0.001

approaches.The values presented are the average of the fitness and

the number of hits of 50 runs during the evolutionaryprocess. Analyzing the graph, we can observe that the evo-lution of the mean fitness using the new approach of GPis greater than the classical GP. Considering the number ofhits, this difference is still greater using the proposed algo-rithm.

5 Modelling Software Reliability Growthproblem

Reliability is a software characteristic that can be ex-pressed as the probability of a system works without failuresalong the time in a environment. Reliability models permitto estimate (or predict) the current or the future reliabilityof a system. They use failure data collected during the testactivity. The use of such models allows project managers toestimate the necessary time and effort to test and release thesoftware at an acceptable reliability level.

Different software reliability models were proposed.

Proceedings of the 18th IEEE InternationalConference on Tools with Artificial Intelligence (ICTAI'06)0-7695-2728-0/06 $20.00 © 2006

Page 5: [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) - Arlington, VA, USA (2006.11.13-2006.11.13)] 2006 18th IEEE International Conference

0

5

10

15

20

25

30

0 50 100 150 200

Fitn

ess

/ Hits

Generations

Fitness (Classical GP)Hits (Classical GP)Fitness (New GP)

Hits (New GP)

Figure 2. Binomial-3 – Evolution of the Mean Fitness inDataset 6

They can be classified according to the assumption that eachmodel does in its formulation. Some of them are based ontime [11], that is, they consider the time between failures.

Some authors propose other classification for the mod-els. The parametric and traditional models assume in theiranalytic formulation a predetermined behavior where someparameters have to be adjusted, fitting the curve to the fail-ure data. Their parameters are explicitly defined in themodel and have a physical interpretation. To adjust the pa-rameters of the parametric models, there is always a set ofassumptions that may not be suitable for most cases.

Non-parametric modeling determines both the modeland the coefficients thereof. The influence of external para-meters and other peculiarities of a model can be eliminatedif we have a model that is able to evolve itself based on thefailure data collected during the initial test phase. Althoughthey include parameters in their analytical formulation, theyare also known as non-parametric reliability models, be-cause these parameters do not have a physical interpreta-tion. These models use machine learning techniques, suchas Artificial Neural Networks (ANN), for the determinationof a reliability model based on time [14] or coverage.

In [2] the Genetic Programming was used as an alterna-tive approach to determinate the reliability in models basedon time. The results showed that the GP models better adaptto the reliability curve, when compared with traditional onesand with ANN models. To allow comparison with classicalGP results, we used the same methodology of [2] and con-ducted experiments.

5.1 Methodology

The datasets contain failure data gathered by John Musaat Bell Telephone Laboratories [12]. He collected data tohelp project managers in the test activities and scheduling,and help researchers to evaluate software reliability mod-els. The failure data consist of: project identification, fail-ure number, time between failures (TBF) and, day of occur-rence. Table 7 shows the size of datasets used.

Table 7. DatasetsDataset Size Dataset Size

1 136 5 83114C 36 6 7317 38 SS1A 1122 54 SS1B 37527 41 SS1C 2773 38 SS2 1924 53 SS3 27840 101 SS4 196

The failure data were initially stored in arrays, orderedby day of occurrence so that it could be processed. Failuredata, such as TBF, may present a high level of noise becausethe activation of a defect that causes a failure depending onhow the software system is operated. This imprecision af-fects the convergence of the model. In order to lower thelevel of noise, the moving average method was applied inthe datasets. As an example, Figures 3 and 4 shows themoving average applied to Dataset 1. Given a set of num-bers Y1, Y2, Y3, ..., Yn. The K-order moving average is de-fined by the Equation 2:

Y1, Y2, ..., YK

K;Y2, Y3, ..., YK+1

K;Yn+1−k, ..., Yn

K(2)

0 20 40 60 80 100 120 1400

1000

2000

3000

4000

5000

6000

7000

Figure 3. Time Between Failures (TBF).

Proceedings of the 18th IEEE InternationalConference on Tools with Artificial Intelligence (ICTAI'06)0-7695-2728-0/06 $20.00 © 2006

Page 6: [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) - Arlington, VA, USA (2006.11.13-2006.11.13)] 2006 18th IEEE International Conference

0 20 40 60 80 100 120 1400

500

1000

1500

2000

2500

3000

Figure 4. 7th–order moving average of the TBF.

After applying the moving average, the time betweenfailure data were converted to elapsed time data. Theelapsed time array contains the accumulated time betweenfailures array and represents the absolute time that each fail-ure occurred since the beginning of the test. This unit has asmoother curve making the determination of a model morelikely to converge.

Figure 5 shows both arrays, plotting the time each fail-ure occurred and the interval between each of them and itssuccessor (TBF).

Figure 5. Failures x Time

Five different measures to evaluate the models wereused. They are described below. In the description y andy are the observed and estimated values, respectively, and nis the total number of estimations accomplished.

Maximum deviation (md): Is the maximum differencebetween the estimation of the model and the observed value.It can be obtained with the expression:

md = max

( |y − y|y

)(3)

Average Bias (ab): Measures the general tendency tooverestimate or underestimate the number of faults [9].

ab =1n

n∑i=1

yi − yi

yi(4)

Average Error (ae) : Measures how well a model pre-dicts throughout the testing phase [9]. It is given by:

ae =1n

n∑i=1

|yi − yi|yi

(5)

Prediction Error: Is the error of the last estimated valuegiven by:

pe =yn − yn

yn(6)

Correlation Coefficient (cc): Represents how well theestimation corresponds to the observed values. A correla-tion of 1 means that the model perfectly represents the real-ity. It is given by:

cc =sxy√

sxx√

syy(7)

where:

sxy =n∑

i=1

(xi − x)(yi − y) (8)

To configure LIL-GP they used the same parameters ofTable 1 and the function set:

{+,−,÷,×, expx, exp−x, sqrt, log, sin, cos}For each data set, ten GP models were trained using dif-

ferent initial seeds. The best model for each dataset waschosen.

5.2 Results

The results obtained in [2] and with the our approach,following exactly the same methodology are shown in Ta-bles 8 and 9 respectively.

It can be observed that an important improvement isreached in the datasets (14C, 27 and 3) with the new ap-proach. A more valid comparison between the two meth-ods was accomplished considering all the different seedsand the measure average error (ae) for each dataset. Thepaired two-sided t tests for each dataset at a 95% (0.95)confidence level was performed. The results are shown inTable 10. These results prove that there is a statistically sig-nificant difference in almost all of the datasets comparingthe classical GP with the proposed approach. This differ-ence confirms that the presented approach is better than theclassical GP in these datasets. The statistically significantdifference (p-value < 0.05) is in bold.

Proceedings of the 18th IEEE InternationalConference on Tools with Artificial Intelligence (ICTAI'06)0-7695-2728-0/06 $20.00 © 2006

Page 7: [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) - Arlington, VA, USA (2006.11.13-2006.11.13)] 2006 18th IEEE International Conference

Table 8. Software Reliability – Classical GPResultsDataset md pe ab ae cc

1 11.45 11.45 1.72 3.96 99.8214C 128.65 -128.65 -348.86 354.99 16.917 13.55 0.97 1.12 4.31 99.442 9.65 4.59 0.94 3.54 99.8227 50.3 50.3 8.56 12.8 90.233 67.11 67.11 11.63 14.98 70.944 39.05 39.02 -1.65 3.2 97.5340 6.43 -6.43 -7.57 9.81 99.165 9.61 9.37 0.92 9.48 99.746 21.79 1 4.82 5.36 9.14 98.31

SS1A 22.39 -16.45 -10.05 11.89 99.21SS1B 5.27 5.27 -2.75 5.66 99.78SS1C 10.8 0.57 -6.11 8.44 99.72SS2 9.44 5.08 12.17 16.28 99.58SS3 15.61 14.78 3.42 7.51 99.31SS4 5.71 1.20 2.51 5.45 99.84

Table 9. Software Reliability – New GP ResultsDataset md pe ab ae cc

1 -11.43 -11.43 -2 4.35 99.8114C -299.24 -299.24 -33.97 37.06 81.0217 -13.86 -13.86 -1.84 3.95 99.582 9.67 -2.18 1.28 3.32 99.7327 5.86 5.86 -2 5.25 99.383 -17.76 -17.76 -1.73 5.36 99.094 -38.51 -38.51 -4.73 7.78 98.5940 -8.27 -8.27 -4.42 8.18 99.335 -6.59 -6.59 -4.23 8.96 99.716 20.96 11.83 5.56 8.94 98.43

SS1A -0.86 -0.86 -2.72 5.31 99.78SS1B 16.58 16.58 1.07 6.72 99.34SS1C 7.91 7.91 -7.9 15.68 99.53SS2 8.84 0.33 -0.22 6.15 99.76SS3 18.66 16.15 8.36 15.71 98.76SS4 10.24 7.36 -6.66 14 99.64

6 Conclusions and Future Works

This work presented a new approach of Genetic Pro-gramming algorithm, based on the concepts of EvolutionStrategies and some related studies about the problems andimprovement suggested for the GP algorithm. Prelimi-nary experiments were conducted using two instances ofthe symbolic regression problem: the Binomial–3 problem(a tunably difficult problem) and the Modelling SoftwareReliability Growth problem (an application of symbolic re-gression).

Table 10. Software Reliability – Results ofpaired two-sided t test

Dataset p-values

1 < 0.00114C 0.01417 0.0012 < 0.001

27 < 0.0013 < 0.0014 < 0.001

40 < 0.0015 < 0.0016 0.002

SS1A 0.001SS1B 0.006SS1C 0.008SS2 0.285SS3 0.324SS4 0.046

In the first experiment, with the Binomial–3 problem,we obtained good results with the new approach. The im-provement comparing the results with the classical GP, itwas about 50%, in the most difficult level of the Binomial–3 problem. The evolution of the mean fitness presented andthe paired t test results confirmed that the new approach inthis problem is more efficient than the classical GP.

In the second experiment using Software Reliabilitymodels, we obtained better fitness results with the new ap-proach also. The improvement was not so bigger than theone detected in first experiment, but it shows us that theGP is an efficient technique to model Software RelibalityGrowth.

Considering the results of the experiments, we can con-clude that the new projected algorithm, including ideas ofEvolutionary Strategies and the new mutation operators, isa valid approach to induce programs specially for regressionproblems.

Future works include the incorporation of others con-cepts of Evolution Strategies in the algorithm, the creationof other mutation operators and other experiments withproblems of different domains.

References

[1] T. Back, G. Rudolph, and H. P. Schewell. Evolutionary pro-gramming and evolution strategies: similarities and differe-ces. In Annual Conference of Evolutionary Programming,pages 11–22. San Diego, USA, 1993.

[2] E. O. Costa, S. R. Verglio, A. Pozo, and G. Souza. Modelingsoftware reliability growth with genetic programming. In

Proceedings of the 18th IEEE InternationalConference on Tools with Artificial Intelligence (ICTAI'06)0-7695-2728-0/06 $20.00 © 2006

Page 8: [IEEE 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06) - Arlington, VA, USA (2006.11.13-2006.11.13)] 2006 18th IEEE International Conference

XVI International Symposium of Software Reliability Engi-neering. IEEE Computer Society, Chicago, USA, November2005.

[3] J. M. Daida. Towards identifying populations that in-crease the likelihood of success in genetic programming.In GECCO-2005 - Genetic and Evolutionary ComputationConference, pages 1627–1634. Association for ComputingMachinery, Washington, D.C., USA, June 2005.

[4] J. M. Daida, R. R. Bertram, S. A. Stanhope, J. C. Khoo, S. A.Chaudhary, O. A. Chaudhri, and J. A. Polito 2. What makesa problem gp-hard? analysis of a tunably difficult problem ingenetic programming. Genetic Programming and EvolvableMachines, 2:165–191, June 2001.

[5] C. Darwin. On the origin of species by means of naturalselection or the preservation of favored races in the strugglefor life. Murray, London, UK, 1859.

[6] M. Dianati, I. Song, and M. Treiber. An introduction to ge-netic algorithms and evolution strategies. Technical report,University of Waterloo, Ontario, Canada, 2002.

[7] D. E. Goldberg. Genetic Algorithms in search, optimizationand machine learning. Addison-Wesley, 1989.

[8] J. Holland. Adaptation in Natural and Artificial Systems.MIT Press, 1975.

[9] N. Karunanithi, P. Verma, and Y. Malaiya. Predictability ofsoftware reliability models. IEEE Transactions on Reliabil-ity, 41(4):539–546, December 1992.

[10] J. Koza. Genetic Programming: On the Programming ofComputers by Means of Natural Selection. MIT Press, 1992.

[11] P. Moranda. Predictions of software reliability during de-bugging. In Proceddings of the Annual Reliability Main-tainability Symposium, 1975.

[12] J. Musa. Software reliability data. Data & Analysis Centerfor Software, January 1980.

[13] S. Silva and E. Costa. Resource-limited genetic program-ming: The dynamic approach. In GECCO-2005 - Geneticand Evolutionary Computation Conference, pages 1673–1680. Association for Computing Machinery, Washington,D.C., USA, June 2005.

[14] G. Souza and S. Vergilio. Modeling software reliabilitygrowth with artificial neural networks. In IEEE Latin Amer-ican Test Workshop. Buenos Aires, Argentina, March 2006.

[15] J. Stevens, R. B. Heckendorn, and T. Soule. Exploiting dis-ruption aversion to control code bloat. In GECCO-2005 -Genetic and Evolutionary Computation Conference, pages1605–1612. Association for Computing Machinery, Wash-ington, D.C., USA, June 2005.

[16] D. Zongker and B. Punch. Lil-gp 1.0 User’s Manual. Michi-gan State University, July 1995.

Proceedings of the 18th IEEE InternationalConference on Tools with Artificial Intelligence (ICTAI'06)0-7695-2728-0/06 $20.00 © 2006