Studying bloat control and maintenance of effective code in linear genetic programming for symbolic regression
Linear Genetic Programming (LGP) is an Evolutionary Computation algorithm, inspired in the Genetic Programming (GP) algorithm. Instead of using the standard tree representation of GP, LGP evolves a linear program, which causes a graph based data flow with code reuse. LGP has been shown to outperform GP in several problems, including Symbolic Regression (SReg) and to produce simpler solutions. In this paper, we propose several LGP variants and compare them with a traditional LGP algorithm on a set of benchmark SReg functions from the literature. The main objectives of the variants were to both control bloat and privilege useful code in the population. Here we evaluate their effects during the evolution process and in the quality of the final solutions. Analysis of the results showed that bloat control and effective code maintenance worked, but they did not guarantee improvement in solution quality. HighlightsWe studied tournament procedures for bloat control in LGP.We proposed seven variations of known tournament procedures.The variations were tested in 35 symbolic regression problems.The proposed procedures show competitive or better solution quality than the original procedure, but with smaller solutions.
Neurocomputing