Welcome
TwitterFacebookGoogle

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.

Highlights

  • We 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.

doi:10.1016/j.neucom.2015.10.109

Bloat control; Effective code; Symbolic regression; Linear genetic programming

http://www.sciencedirect.com/science/article/pii/S0925231215015866

dal Piccol Sotto, Léo Françoso; de Melo, Vinícius Veloso; Studying bloat control and maintenance of effective code in linear genetic programming for symbolic regression,Neurocomputing,2015,Elsevier

@article{dal2015studying,
title={Studying bloat control and maintenance of effective code in linear genetic programming for symbolic regression},
author={dal Piccol Sotto, L{\’e}o Fran{\c{c}}oso and de Melo, Vin{\’\i}cius Veloso},
journal={Neurocomputing},
year={2015},
publisher={Elsevier}
}