A new implementation to speed up Genetic Programming

Genetic Programming (GP) is an evolutionary algorithm inspired by the evolutionary process in biology. Although, GP has successfully applied to various problems, its major weakness lies in the slowness of the evolutionary process. This drawback may limit GP applications particularly in complex problems where the computational time required by GP often grows excessively as the problem complexity increases. In this paper, we propose a novel method to speed up GP based on a new implementation that can be implemented on the normal hardware of personal computers. The experiments were conducted on numerous regression problems drawn from UCI machine learning data set. The results were compared with standard GP (the traditional implementation) and an implementation based on subtree caching showing that the proposed method significantly reduces the computational time compared to the previous approaches, reaching a speedup of up to nearly 200 times.

[1]  Julian Francis Miller,et al.  Cartesian genetic programming , 2010, GECCO.

[2]  Wolfgang Banzhaf,et al.  Distributed genetic programming on GPUs using CUDA , 2011 .

[3]  Peter Ross,et al.  Dynamic Training Subset Selection for Supervised Learning in Genetic Programming , 1994, PPSN.

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

[5]  Darren M. Chitty,et al.  A data parallel approach to genetic programming using programmable graphics hardware , 2007, GECCO '07.

[6]  Marco Tomassini,et al.  PARALLEL AND DISTRIBUTED EVOLUTIONARY COMPUTATION FOR FINANCIAL APPLICATIONS , 2000, Parallel Algorithms Appl..

[7]  Darren M. Chitty Fast parallel genetic programming: multi-core CPU versus many-core GPU , 2012, Soft Comput..

[8]  Stan Openshaw,et al.  Building New Spatial Interaction Models Using Genetic Programming , 1994 .

[9]  Michael O'Neill,et al.  On the roles of semantic locality of crossover in genetic programming , 2013, Inf. Sci..

[10]  Astro Teller,et al.  Automatically Choosing the Number of Fitness Cases: The Rational Allocation of Trials , 1997 .

[11]  Giandomenico Spezzano,et al.  An ensemble-based evolutionary framework for coping with distributed intrusion detection , 2010, Genetic Programming and Evolvable Machines.

[12]  Mengjie Zhang,et al.  SCHEME: Caching subtrees in genetic programming , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[13]  Emiliano Carreño Jara Long memory time series forecasting by using genetic programming , 2011 .

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

[15]  Wolfgang Banzhaf,et al.  Fast Genetic Programming on GPUs , 2007, EuroGP.

[16]  Sebastián Ventura,et al.  Speeding up the evaluation phase of GP classification algorithms on GPUs , 2012, Soft Comput..

[17]  Maarten Keijzer Alternatives in Subtree Caching for Genetic Programming , 2004, EuroGP.

[18]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .