Applying Genetic Improvement to a Genetic Programming library in C++
Résumé
A young subfield of Evolutionary Computing that has gained the attention of many researchers in recent years is Genetic Improvement. It uses an automated search method that directly modifies the source code or binaries of a software system tofind improved versions based on some given criteria. Genetic Improvement has achieved notable results and the acceptance of several research communities, namely software engineering and evolutionary computation. Over the past 10 years there has been core publications on the subject, however, we have identified, to the best of our knowledge, that there is no work on applying Genetic Improvement to a meta-heuristic system. In this work we apply the GI framework called GISMO to the Beagle Puppy library version 0.1 in C++, a Genetic Programming system configured to perform symbolic regression on several benchmark and real-world problems. The objective is to improve the processing time while maintaining a similar or better test-fitness of the best individual produced by the unmodified Genetic Programming search. Results show that GISMO can generate individuals that present an improvement on those two key aspects over some problems, while also reducing the effects of bloat, one of the main issues in Genetic Programming.