Leveraging asynchronous parallel computing to produce simple genetic programming computational models

Traditionally, reducing complexity in Machine Learning promises benefits such as less overfitting. However, complexity control in Genetic Programming (GP) often means reducing the sizes of the evolving expressions, and past literature shows that size reduction does not necessarily reduce overfitting. In fact, whether size consistently represents complexity is itself debatable. Therefore, this paper proposes evaluation time of an evolving model - the computational time required to evaluate a model on data - as the estimate of its complexity. Evaluation time depends upon the size, but crucially also on the composition of an evolving model, and can thus distil its underlying complexity. To discourage complexity, this paper takes an innovative approach that asynchronously evaluates multiple models concurrently. These models race to their completion; thus, those models that finish earlier, join the population earlier to breed further in a steady-state fashion. Thus, the computationally simpler models, even if less accurate, get further chances to evolve before the more accurate yet expensive models join the population. Crucially, since evaluation times vary from one execution to another, this paper also shows how to significantly minimise this variation. The paper compares the proposed method on six challenging symbolic regression problems with both standard GP and GP with an effective bloat control method. The results demonstrated that the proposed asynchronous parallel GP (APGP) indeed produces individuals that are smaller, faster and more accurate than those in standard GP. While GP with bloat control (GP+BC) produced smaller individuals, it did so at the cost of lower accuracy than APGP both on training and test data, thus questioning the overall benefits of bloat control. Also, while APGP took the fewest evaluations to match the training accuracy of GP, GP+BC took the most. These results, and the portability of evaluation time as an estimate of complexity encourage further experimentation and fine-tuning of this hitherto unexplored style of GP.

[1]  Marco Dorigo,et al.  Evolving a cooperative transport behavior for two simple robots , 2004 .

[2]  Leonardo Vanneschi,et al.  Measuring bloat, overfitting and functional complexity in genetic programming , 2010, GECCO '10.

[3]  Conor Ryan,et al.  Performance Optimization of Multi-Core Grammatical Evolution Generated Parallel Recursive Programs , 2015, GECCO.

[4]  Maarten Keijzer,et al.  Improving Symbolic Regression with Interval Arithmetic and Linear Scaling , 2003, EuroGP.

[5]  Bastien Chopard,et al.  Parallel Genetic Programming and its Application to Trading Model Induction , 1997, Parallel Comput..

[6]  Dick den Hertog,et al.  Order of Nonlinearity as a Complexity Measure for Models Generated by Symbolic Regression via Pareto Genetic Programming , 2009, IEEE Transactions on Evolutionary Computation.

[7]  Gilbert Syswerda,et al.  A Study of Reproduction in Generational and Steady State Genetic Algorithms , 1990, FOGA.

[8]  Nguyen Xuan Hoai,et al.  Representation and structural difficulty in genetic programming , 2006, IEEE Transactions on Evolutionary Computation.

[9]  Conor Ryan,et al.  Handbook of Grammatical Evolution , 2018, Springer International Publishing.

[10]  Sean Luke,et al.  Fighting Bloat with Nonparametric Parsimony Pressure , 2002, PPSN.

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

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

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

[14]  Una-May O'Reilly,et al.  Genetic Programming II: Automatic Discovery of Reusable Programs. , 1994, Artificial Life.

[15]  Yi Mei,et al.  Evolving Time-Invariant Dispatching Rules in Job Shop Scheduling with Genetic Programming , 2017, EuroGP.

[16]  Sean Luke,et al.  A Comparison of Bloat Control Methods for Genetic Programming , 2006, Evolutionary Computation.

[17]  Kenneth A. De Jong,et al.  Evaluation-Time Bias in Quasi-Generational and Steady-State Asynchronous Evolutionary Algorithms , 2016, GECCO.

[18]  Ting Hu,et al.  Evolutionary dynamics on multiple scales: a quantitative analysis of the interplay between genotype, phenotype, and fitness in linear genetic programming , 2012, Genetic Programming and Evolvable Machines.

[19]  Sanjeev R. Kulkarni,et al.  Statistical learning theory: a tutorial , 2011 .

[20]  Hitoshi Iba,et al.  Genetic programming using a minimum description length principle , 1994 .

[21]  Lee Spector,et al.  Genetic Programming and Autoconstructive Evolution with the Push Programming Language , 2002, Genetic Programming and Evolvable Machines.

[22]  Wojciech Jaskowski,et al.  Better GP benchmarks: community survey results and proposals , 2012, Genetic Programming and Evolvable Machines.

[23]  Ivanoe De Falco,et al.  A Kolmogorov Complexity-based Genetic Programming Tool for String Compression , 2000, GECCO.

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

[25]  Erick Cantú-Paz,et al.  A Survey of Parallel Genetic Algorithms , 2000 .

[26]  Mario Couture Complexity and Chaos - State-of-the-Art; Formulations and Measures of Complexity , 2007 .

[27]  Saurabh Goyal,et al.  Resource-efficient Machine Learning in 2 KB RAM for the Internet of Things , 2017, ICML.

[28]  Shin Yoo,et al.  GPGPGPU: Evaluation of Parallelisation of Genetic Programming Using GPGPU , 2017, SSBSE.

[29]  P. Grünwald 1 Introducing the Minimum Description Length Principle , 2022 .

[30]  Zachary Chase Lipton The mythos of model interpretability , 2016, ACM Queue.

[31]  Edmund K. Burke,et al.  On improving genetic programming for symbolic regression , 2005, 2005 IEEE Congress on Evolutionary Computation.

[32]  Cyril Fonlupt,et al.  Exploring Overfitting in Genetic Programming , 2003, Artificial Evolution.

[33]  Vladimir Vapnik,et al.  Statistical learning theory , 1998 .

[34]  Conor Ryan,et al.  Promoting diversity using migration strategies in distributed genetic algorithms , 2005, 2005 IEEE Congress on Evolutionary Computation.

[35]  Kenneth A. De Jong,et al.  Evaluation-Time Bias in Asynchronous Evolutionary Algorithms , 2015, GECCO.

[36]  Julian Francis Miller,et al.  The Automatic Acquisition, Evolution and Reuse of Modules in Cartesian Genetic Programming , 2008, IEEE Transactions on Evolutionary Computation.

[37]  Conor Ryan,et al.  Variance based selection to improve test set performance in genetic programming , 2011, GECCO '11.

[38]  John R. Koza,et al.  Parallel Genetic Programming on a Network of Transputers , 1995 .

[39]  John R. Koza,et al.  Human-competitive machine invention by means of genetic programming , 2008, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[40]  Riccardo Poli,et al.  A Simple but Theoretically-Motivated Method to Control Bloat in Genetic Programming , 2003, EuroGP.