Genetic Programming and Evolvable Machines

, Volume 10, Issue 2, pp 141–179

Dynamic limits for bloat control in genetic programming and a review of past and current bloat theories

Original Paper

DOI: 10.1007/s10710-008-9075-9

Cite this article as:
Silva, S. & Costa, E. Genet Program Evolvable Mach (2009) 10: 141. doi:10.1007/s10710-008-9075-9

Abstract

Bloat is an excess of code growth without a corresponding improvement in fitness. This is a serious problem in Genetic Programming, often leading to the stagnation of the evolutionary process. Here we provide an extensive review of all the past and current theories regarding why bloat occurs. After more than 15 years of intense research, recent work is shedding new light on what may be the real reasons for the bloat phenomenon. We then introduce Dynamic Limits, our new approach to bloat control. It implements a dynamic limit that can be raised or lowered, depending on the best solution found so far, and can be applied either to the depth or size of the programs being evolved. Four problems were used as a benchmark to study the efficiency of Dynamic Limits. The quality of the results is highly dependent on the type of limit used: depth or size. The depth variants performed very well across the set of problems studied, achieving similar fitness to the baseline technique while using significantly smaller trees. Unlike many other methods available so far, Dynamic Limits does not require specific genetic operators, modifications in fitness evaluation or different selection schemes, nor does it add any parameters to the search process. Furthermore, its implementation is simple and its efficiency does not rely on the usage of a static upper limit. The results are discussed in the context of the newest bloat theory.

Keywords

Genetic programming Bloat Dynamic limits Review Bloat theories 

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  1. 1.CISUC, University of Coimbra, Polo II – Pinhal de MarrocosCoimbraPortugal