Using Numerical Simplification to Control Bloat in Genetic Programming

In tree based genetic programming there is a tendency for the size of the programs to increase from generation to generation, a process known as bloat. It is standard practice to place some form of control on program size either by limiting the number of nodes or the depth of the tree, or by adding a component to the fitness function that rewards smaller programs (parsimony pressure). Others have proposed directly simplifying individual programs using algebraic methods. In this paper, we add node-based numerical simplification as a tree pruning criterion to control program size. We show that simplification results in reductions in expected program size, memory use and computation time. We further show that numerical simplification performs at least as well as algebraic simplification alone, and in some cases will outperform algebraic simplification.

[1]  Sean Luke,et al.  Lexicographic Parsimony Pressure , 2002, GECCO.

[2]  Terence Soule,et al.  An Analysis of the Causes of Code Growth in Genetic Programming , 2002, Genetic Programming and Evolvable Machines.

[3]  Lothar Thiele,et al.  Genetic Programming and Redundancy , 1994 .

[4]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[5]  Mengjie Zhang,et al.  Using Gaussian distribution to construct fitness functions in genetic programming for multiclass object classification , 2006, Pattern Recognit. Lett..

[6]  Rolf Drechsler,et al.  Applications of Evolutionary Computing, EvoWorkshops 2008: EvoCOMNET, EvoFIN, EvoHOT, EvoIASP, EvoMUSART, EvoNUM, EvoSTOC, and EvoTransLog, Naples, Italy, March 26-28, 2008. Proceedings , 2008, EvoWorkshops.

[7]  Xiaodong Li,et al.  Multi-objective techniques in genetic programming for evolving classifiers , 2005, 2005 IEEE Congress on Evolutionary Computation.

[8]  Edwin D. de Jong,et al.  Multi-Objective Methods for Tree Size Control , 2003, Genetic Programming and Evolvable Machines.

[9]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[10]  Peter Nordin,et al.  Complexity Compression and Evolution , 1995, ICGA.

[11]  Byoung-Tak Zhang,et al.  Balancing Accuracy and Parsimony in Genetic Programming , 1995, Evolutionary Computation.

[12]  Mengjie Zhang,et al.  Algebraic simplification of GP programs during evolution , 2006, GECCO.

[13]  Mengjie Zhang,et al.  Program Size and Pixel Statistics in Genetic Programming for Object Detection , 2004, EvoWorkshops.

[14]  Terence Soule,et al.  Code growth in genetic programming , 1996 .

[15]  Ian H. Witten,et al.  Data mining: practical machine learning tools and techniques, 3rd Edition , 1999 .

[16]  Gilbert Strang,et al.  The Discrete Cosine Transform , 1999, SIAM Rev..

[17]  B. Vandeginste,et al.  PARVUS: An extendable package of programs for data exploration, classification and correlation, M. Forina, R. Leardi, C. Armanino and S. Lanteri, Elsevier, Amsterdam, 1988, Price: US $645 ISBN 0‐444‐43012‐1 , 1990 .

[18]  Ian Witten,et al.  Data Mining , 2000 .