Time and Individual Duration in Genetic Programming

This paper presents a new way of measuring complexity in variable-size-chromosome-based evolutionary algorithms. Dealing with complexity is particularly useful when considering bloat in Genetic Programming. Instead of analyzing size growth, we focus on the time required for individuals’ fitness evaluations, which correlates with size. This way, we consider time and space as two sides of a single coin when devising a more natural method for fighting bloat. We thus view the problem from a perspective that departs from traditional methods applied in Genetic Programming. We have analyzed first the behavior of individuals across generations, taking into account their fitness evaluation times, thus providing clues about the general practice of the evolutionary process when modern parallel and distributed computers are used to run the algorithm. This new perspective allows us to understand that new methods for bloat control can be derived. Moreover, we develop from this framework a first proposal to show the usefulness of the idea: to group individuals in classes according to computing time required for evaluation, automatically accomplished by parallel and distributed systems without any change in the underlying algorithm, when they are only allowed to breed within their classes. Experimental data confirms the strength of the approach: using computing time as a measure of individuals’ complexity allows control of the natural size growth of genetic programming individuals while preserving the quality of solutions in both the parallel and sequential versions of the algorithm.

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

[2]  Riccardo Poli,et al.  The evolution of size and shape , 1999 .

[3]  Leonardo Vanneschi,et al.  The Effect of Plagues in Genetic Programming: A Study of Variable-Size Populations , 2003, EuroGP.

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

[5]  Juan Antonio Gómez Pulido,et al.  Control of Bloat in Genetic Programming by Means of the Island Model , 2004, PPSN.

[6]  Enrique Alba,et al.  Heterogeneous computing scheduling with evolutionary algorithms , 2010, Soft Comput..

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

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

[9]  Garrison W. Greenwood,et al.  Multiprocessor Scheduling of High Concurrency Algorithms , 1994 .

[10]  Francisco Herrera,et al.  Advanced nonparametric tests for multiple comparisons in the design of experiments in computational intelligence and data mining: Experimental analysis of power , 2010, Inf. Sci..

[11]  Marc Parizeau,et al.  Controlling code growth by dynamically shaping the genotype size distribution , 2015, Genetic Programming and Evolvable Machines.

[12]  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.

[13]  Leonardo Vanneschi,et al.  Studying the influence of synchronous and asynchronous parallel GP on programs length evolution , 2002, Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600).

[14]  Francisco Herrera,et al.  A study on the use of statistical tests for experimentation with neural networks: Analysis of parametric test conditions and non-parametric tests , 2007, Expert Syst. Appl..

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

[16]  Francisco Fernández de Vega,et al.  Self-adjusting focus of attention in combination with a genetic fuzzy system for improving a laser environment control device system , 2015, Appl. Soft Comput..

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

[18]  Juan Julián Merelo Guervós,et al.  Bloat Control Operators and Diversity in Genetic Programming: A Comparative Study , 2010, Evolutionary Computation.

[19]  Riccardo Poli,et al.  Fitness Causes Bloat , 1998 .

[20]  Leonardo Vanneschi,et al.  An Empirical Study of Multipopulation Genetic Programming , 2003, Genetic Programming and Evolvable Machines.

[21]  Lothar Thiele,et al.  Multiobjective genetic programming: reducing bloat using SPEA2 , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

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

[23]  Erick Cantú-Paz,et al.  Efficient and Accurate Parallel Genetic Algorithms , 2000, Genetic Algorithms and Evolutionary Computation.

[24]  Giandomenico Spezzano,et al.  A Cellular Genetic Programming Approach to Classification , 1999, GECCO.

[25]  Francisco Herrera,et al.  A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms , 2011, Swarm Evol. Comput..

[26]  Matthew J. Streeter,et al.  The Root Causes of Code Growth in Genetic Programming , 2003, EuroGP.

[27]  Gustavo Olague,et al.  Evolutionary multi-objective visual cortex for object classification in natural images , 2016, J. Comput. Sci..

[28]  Matthew J. Saltzman,et al.  Statistical Analysis of Computational Tests of Algorithms and Heuristics , 2000, INFORMS J. Comput..

[29]  J.M. Sanchez,et al.  Efficient use of computational resources in genetic programming: controlling the bloat phenomenon by means of the island model , 2002, IEEE 2002 28th Annual Conference of the Industrial Electronics Society. IECON 02.

[30]  Srinivasan Parthasarathy,et al.  Customized Dynamic Load Balancing for a Network of Workstations , 1997, J. Parallel Distributed Comput..

[31]  John W. Fowler,et al.  A multi-population genetic algorithm to solve multi-objective scheduling problems for parallel machines , 2003, Comput. Oper. Res..

[32]  Gustavo Olague,et al.  Evolving Head Tracking Routines With Brain Programming , 2018, IEEE Access.

[33]  Sambit Bakshi,et al.  Artificial Visual Cortex and Random Search for Object Categorization , 2019, IEEE Access.

[34]  L. Altenberg The evolution of evolvability in genetic programming , 1994 .

[35]  Carlos Cotta,et al.  A Preliminary Analysis and Simulation of Load Balancing Techniques Applied to Parallel Genetic Programming , 2011, IWANN.

[36]  Zhang Lei,et al.  Designing of classifiers based on immune principles and fuzzy rules , 2008, Inf. Sci..

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

[38]  Erik D. Goodman,et al.  It is Time for New Perspectives on How to Fight Bloat in GP , 2020, GPTP.

[39]  William B. Langdon,et al.  Some Considerations on the Reason for Bloat , 2002, Genetic Programming and Evolvable Machines.

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

[41]  Walter Alden Tackett,et al.  Recombination, selection, and the genetic construction of computer programs , 1994 .

[42]  Pierre Borne,et al.  EVOLUTIONARY ALGORITHMS FOR JOB-SHOP SCHEDULING , 2004 .

[43]  Grant Dick,et al.  Implicitly Controlling Bloat in Genetic Programming , 2010, IEEE Transactions on Evolutionary Computation.

[44]  Leonardo Vanneschi,et al.  A Study of Diversity in Multipopulation Genetic Programming , 2003, Artificial Evolution.

[45]  Gustavo Olague,et al.  Brain programming as a new strategy to create visual routines for object tracking , 2018, Multimedia Tools and Applications.

[46]  Benjamin Doerr,et al.  Bounding bloat in genetic programming , 2017, GECCO.

[47]  A. Osman,et al.  Dynamic Load Balancing Strategies for Parallel Computers , 2002, Sci. Ann. Cuza Univ..

[48]  Francisco Herrera,et al.  A study of statistical techniques and performance measures for genetics-based machine learning: accuracy and interpretability , 2009, Soft Comput..

[49]  Albert Y. Zomaya,et al.  Observations on Using Genetic Algorithms for Dynamic Load-Balancing , 2001, IEEE Trans. Parallel Distributed Syst..

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

[51]  Riccardo Poli,et al.  Generalisation of the limiting distribution of program sizes in tree-based genetic programming and analysis of its effects on bloat , 2007, GECCO '07.

[52]  Gustavo Olague,et al.  CUDA-based parallelization of a bio-inspired model for fast object classification , 2017, Neural Computing and Applications.