Resource-Limited Genetic Programming: Replacing Tree Depth Limits Sara Silva 1 , Pedro J.N. Silva 2 , Ernesto Costa 1 1 Centro de Inform´ atica e Sistemas da Univ. Coimbra, Dep. Engenharia Inform´ atica Polo II – Pinhal de Marrocos, 3030 Coimbra, Portugal 2 Centro de Gen´ etica e Biologia Molecular, Dep. Biologia Vegetal Fac. Ciˆ encias Univ. Lisboa, Campo Grande, 1749-016 Lisboa, Portugal E-mail: {sara,ernesto}@dei.uc.pt, pedro.silva@fc.ul.pt Abstract We propose replacing the traditional tree depth limit in Genetic Programming by a single limit on the amount of resources available to the whole population, where re- sources are the tree nodes. The resource-limited tech- nique removes the disadvantages of using depth limits at the individual level, while introducing automatic popu- lation resizing, a natural side-effect of using an approach at the population level. The results show that the replace- ment of individual depth limits by a population resource limit can be done without impairing performance, thus validating this first and important step towards a new ap- proach to improving the efficiency of GP. 1 Introduction Genetic Programming (GP) solves complex problems by evolving populations of computer programs, using Darwinian evolution and Mendelian genetics as inspira- tion. Bloat is an excess of code growth caused by the genetic operators in search of better solutions, without a corresponding improvement in fitness. It is a serious problem in GP, often leading to the stagnation of the evo- lutionary process [1]. The traditional approach to maintaining code growth under control is by imposing a tree depth limit on the individuals accepted into the population, on a tree-based GP system [2]. Several other techniques have been used with various degrees of success (reviews and recent work in refs. 3–6), but none was ever as popular as the tradi- tional depth limits. This paper describes how to implement a simple tech- nique to replace the traditional tree depth limits. It is based on a single limit imposed on the amount of re- sources available to the whole GP population, where resources are the tree nodes or other elements in non tree-based GP (e.g. code lines). The resource-limited technique removes most of the disadvantages of using depth limits at the individual level, while introducing au- tomatic population resizing, a natural side-effect of using an approach at the population level. Previous work, focused on financial time series pre- diction, also used limits on the total number of nodes in the population [7]. The results presented were, however, scarce, and the implications of the idea have not been explored any further. Section 2 of this paper deals with several aspects of tree depth limits, while Sect. 3 introduces and explains the limited-resources technique. Section 4 describes the experiments made, Sect. 5 relates the results obtained, and finally Sect. 6 draws some conclusions and points towards future directions of this work. 2 Tree Depth Limits Tree-based GP traditionally uses a depth limit to avoid excessive growth of its individuals [2]. When crossover creates an offspring that violates this limit, one of its par- ents is chosen for the new generation instead. Traditional depth limits effectively avoid the growth of trees beyond a certain point, but they do nothing to control bloat until the limit is reached. They may also prevent the optimal solution to be found for problems of unsuspected high complexity. This may happen ei- ther because the number of possible nodes in a tree of maximum depth is not enough to represent the solution, or because a maximum depth may prove too hard a re- striction to find the solution, regardless of the number of necessary nodes (for example, in symbolic regression of the quartic polynomial, x 4 + x 3 + x 2 + x, tree-based GP usually finds a solution of depth 7, whereas solutions of depth 6, 5, and even 4 1 are rarely found). Last but not least, depth limits cannot be used on non tree-based GP systems. Various approaches have been tried in order to over- come the difficulties mentioned above. Some rely on 1 The factored form of the polynomial, (x 2 + 1)(x 2 + x), can be represented with a tree of depth 4.