The evolution of size in variable length representations
William B. Langdon · 2002
In many cases, a program's length increases during artificial evolution. This is known as "bloat", "fluff" or "increasing structural complexity". We show that bloat is not specific to genetic programming and suggest it is inherent in search techniques with discrete variable-length representations using simple static evaluation functions. We investigate the bloating characteristics of three non-population-based and one population-based search technique using a novel mutation operator. An artificial ant following the Santa Fe trail problem is solved by simulated annealing, hill climbing, strict hill climbing and population-based searching using two variants of the the new subtree-based mutation operator. As predicted, bloat is observed when using unbiased mutation and is absent in simulated annealing and in both hill climbers when using the length-neutral mutation; however, bloat occurs with both mutations when using a population. We conclude that there are two causes of bloat: (1) search operators with no length bias tend to sample bigger trees, and (2) competition within populations favours longer programs, as they can usually reproduce more accurately.