In this paper a simple modification of the Tarpeian bloat-control method is presented which allows one dynamically set the parameters of the method in such a way to guarantee that the mean program size will either keep a particular value (e.g., its initial value) or will follow a schedule chosen by the user. The mathematical derivation of the technique as well as its numerical and empirical corroboration are presented.
BackgroundMany techniques to control bloat have been proposed in the last two decades (for recent reviews see Luke and Panait, 2006;Alfaro-Cid et al., 2010;Silva, 2008)). One of the very few with a theoretically-sound basis is the Tarpeian method introduced in . This is the focus of this paper.The Tarpeian method is extremely simple in its implementation. All that is needed is a wrapper for the fitness function like the following algorithm:Tarpeian Wrapper: if size(program) > average program size and random() < p t then return( f low ); else return( fitness(program) );were p t is a real number between 0 and 1, random() is a function which returns uniformly distributed random numbers in the range [0, 1) and f low is a constant which represents an extremely low (or high, if minimising) fitness value such that individuals with such fitness are almost guaranteed not to be selected. A feature of this algorithm is that it does not require a priori knowledge of the size of the potential solutions to a problem. If programs need to grow in order to improve fitness, the Tarpeian method will not prevent this. It will occasionally hit some individuals that, if evaluated, would result in being fitter than average and this may slow down a little the progress of a run. However, because the wrapper does not evaluate the individuals being given a low fitness, very little computation is wasted. Even at a high anti-bloat intensity, p t , a better-than-average longerthan-average individual has still a chance of making it into the population. If enough individuals of this kind are produced (w.r.t. the individuals which are better-than-average but also shorter-thanaverage), eventually the average size of the programs in the population may grow. However, when this happens the Tarpeian method will immediately adjust so as to discourage further growth.