Local Search is Underused in Genetic Programming

There are two important limitations of standard tree-based genetic programming (GP). First, GP tends to evolve unnecessarily large programs, what is referred to as bloat. Second, GP uses inefficient search operators that focus on modifying program syntax. The first problem has been studied extensively, with many works proposing bloat control methods. Regarding the second problem, one approach is to use alternative search operators, for instance geometric semantic operators, to improve convergence. In this work, our goal is to experimentally show that both problems can be effectively addressed by incorporating a local search optimizer as an additional search operator. Using real-world problems, we show that this rather simple strategy can improve the convergence and performance of tree-based GP, while also reducing program size. Given these results, a question arises: Why are local search strategies so uncommon in GP? A small survey of popular GP libraries suggests to us that local search is underused in GP systems. We conclude by outlining plausible answers for this question and highlighting future work.

[1]  Mario Graff,et al.  Wind speed forecasting using genetic programming , 2013, 2013 IEEE Congress on Evolutionary Computation.

[2]  Oliver Schütze,et al.  A Local Search Approach to Genetic Programming for Binary Classification , 2015, GECCO.

[3]  Riccardo Poli,et al.  Foundations of Genetic Programming , 1999, Springer Berlin Heidelberg.

[4]  Leonardo Vanneschi,et al.  Prediction of energy performance of residential buildings: a genetic programming approach , 2015 .

[5]  Conor Ryan,et al.  A Simple Approach to Lifetime Learning in Genetic Programming-Based Symbolic Regression , 2014, Evolutionary Computation.

[6]  Riccardo Poli,et al.  Operator Equalisation and Bloat Free GP , 2008, EuroGP.

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

[8]  Risto Miikkulainen,et al.  Evolving Neural Networks through Augmenting Topologies , 2002, Evolutionary Computation.

[9]  Athanasios Tsanas,et al.  Accurate quantitative estimation of energy performance of residential buildings using statistical machine learning tools , 2012 .

[10]  Leonardo Trujillo,et al.  Predicting per capita violent crimes in urban areas: an artificial intelligence approach , 2015, Journal of Ambient Intelligence and Humanized Computing.

[11]  Marc Parizeau,et al.  Open BEAGLE: A New C++ Evolutionary Computation Framework , 2002, GECCO.

[12]  Maarten Keijzer,et al.  Evolving Objects: A General Purpose Evolutionary Computation Library , 2001, Artificial Evolution.

[13]  Sara Silva,et al.  Reassembling operator equalisation: a secret revealed , 2011, GECCO '11.

[14]  Leonardo Vanneschi,et al.  Operator equalisation for bloat free genetic programming and a survey of bloat control methods , 2011, Genetic Programming and Evolvable Machines.

[15]  A. Topchy,et al.  Faster genetic programming based on local gradient search of numeric leaf values , 2001 .

[16]  Leonardo Trujillo,et al.  Evolutionary-computer-assisted design of image operators that detect interest points using genetic programming , 2011, Image Vis. Comput..

[17]  Leonardo Trujillo,et al.  Evolving estimators of the pointwise Hölder exponent with Genetic Programming , 2012, Inf. Sci..

[18]  Pablo Moscato,et al.  Handbook of Memetic Algorithms , 2011, Studies in Computational Intelligence.

[19]  Leonardo Vanneschi,et al.  A C++ framework for geometric semantic genetic programming , 2014, Genetic Programming and Evolvable Machines.

[20]  O. Schütze,et al.  Evaluating the Effects of Local Search in Genetic Programming , 2014 .

[21]  Kay Chen Tan,et al.  A Multi-Facet Survey on Memetic Computation , 2011, IEEE Transactions on Evolutionary Computation.

[22]  J. Ross Quinlan,et al.  Combining Instance-Based and Model-Based Learning , 1993, ICML.

[23]  Lee Spector,et al.  Inheritable Epigenetics in Genetic Programming , 2014, GPTP.

[24]  Riccardo Poli,et al.  General Schema Theory for Genetic Programming with Subtree-Swapping Crossover: Part I , 2003, Evolutionary Computation.

[25]  Kenneth Chiu,et al.  Prioritized grammar enumeration: symbolic regression by dynamic programming , 2013, GECCO '13.

[26]  Luis Muñoz,et al.  neat Genetic Programming: Controlling bloat naturally , 2016, Inf. Sci..

[27]  Carlos A. Coello Coello,et al.  HCS: A New Local Search Strategy for Memetic Multiobjective Evolutionary Algorithms , 2010, IEEE Transactions on Evolutionary Computation.

[28]  Leonardo Vanneschi,et al.  The Importance of Being Flat–Studying the Program Length Distributions of Operator Equalisation , 2011 .

[29]  Sara Silva,et al.  GPLAB A Genetic Programming Toolbox for MATLAB , 2004 .

[30]  Riccardo Poli,et al.  Parsimony pressure made easy , 2008, GECCO '08.

[31]  Stephan M. Winkler,et al.  Effects of constant optimization by nonlinear least squares minimization in symbolic regression , 2013, GECCO.

[32]  Trent McConaghy,et al.  FFX: Fast, Scalable, Deterministic Symbolic Regression Technology , 2011 .

[33]  Shi-Chun Tsai,et al.  JGAP: a Java‐based graph algorithms platform , 2001, Softw. Pract. Exp..

[34]  David R. White Software review: the ECJ toolkit , 2011, Genetic Programming and Evolvable Machines.

[35]  Leonardo Vanneschi,et al.  A survey of semantic methods in genetic programming , 2014, Genetic Programming and Evolvable Machines.

[36]  Krzysztof Krawiec,et al.  Geometric Semantic Genetic Programming , 2012, PPSN.

[37]  Leonardo Vanneschi,et al.  Energy Consumption Forecasting Using Semantic-Based Genetic Programming with Local Search Optimizer , 2015, Comput. Intell. Neurosci..

[38]  S. Narayanamoorthy,et al.  The Intelligence of Dual Simplex Method to Solve Linear Fractional Fuzzy Transportation Problem , 2015, Comput. Intell. Neurosci..

[39]  Leonardo Vanneschi,et al.  Prediction of relative position of CT slices using a computational intelligence system , 2016, Appl. Soft Comput..

[40]  Michael Affenzeller,et al.  HeuristicLab: A Generic and Extensible Optimization Environment , 2005 .

[41]  John R. Koza,et al.  Human-competitive results produced by genetic programming , 2010, Genetic Programming and Evolvable Machines.

[42]  Reinhard Lohmann,et al.  Application of Evolution Strategy in Parallel Populations , 1990, PPSN.

[43]  Marc Parizeau,et al.  DEAP: a python framework for evolutionary algorithms , 2012, GECCO '12.

[44]  Mengjie Zhang,et al.  Genetic Programming with Gradient Descent Search for Multiclass Object Classification , 2004, EuroGP.

[45]  Michael T. M. Emmerich,et al.  Design of Graph-Based Evolutionary Algorithms: A Case Study for Chemical Process Networks , 2001, Evolutionary Computation.

[46]  Leonardo Vanneschi,et al.  Geometric Semantic Genetic Programming with Local Search , 2015, GECCO.

[47]  Ernesto Costa,et al.  Dynamic limits for bloat control in genetic programming and a review of past and current bloat theories , 2009, Genetic Programming and Evolvable Machines.