Genetic programming for solving common and domain-independent generic recursive problems

In human written computer programs, loops and recursion are very important structures. Many real-world applications require recursion and loops. Loops and recursion can also be achieved by using genetic programming (GP). There has been a lot of work on GP for loops but not much on recursion. Our recent initial work on GP for recursion has shown that GP can be used to solve recursion problems, based on which this work develops two new GP methods that can solve a wider range of problems without decreasing the performance. The two new methods are tested on symbolic regression problems, binary classification problems, and Artificial Ant problems. They are compared to methods using loops, traditional GP, and the methods developed in our previous work. The results show that the new methods have improved the accuracy and increased the range of symbolic regression problems that the methods can perfectly solve, and improved the performance on two of the Artificial Ant problems. The new methods can also solve classification problems, and have better performance than loops on many of these tasks. This is the first work using recursion for classification problems, and is the first design of a generic recursive method for GP.

[1]  A. Asuncion,et al.  UCI Machine Learning Repository, University of California, Irvine, School of Information and Computer Sciences , 2007 .

[2]  Mengjie Zhang,et al.  Genetic programming for evolving programs with loop structures for classification tasks , 2011, The 5th International Conference on Automation, Robotics and Applications.

[3]  Abderrahim Elmoataz,et al.  A color object recognition scheme: application to cellular sorting , 2003, Machine Vision and Applications.

[4]  Bing Xue,et al.  Genetic Programming for Region Detection, Feature Extraction, Feature Construction and Classification in Image Data , 2016, EuroGP.

[5]  T. Koshy Fibonacci Numbers in Nature , 2011 .

[6]  Dariu Gavrila,et al.  An Experimental Study on Pedestrian Classification , 2006, IEEE Transactions on Pattern Analysis and Machine Intelligence.

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

[8]  Mengjie Zhang,et al.  Reusing Extracted Knowledge in Genetic Programming to Solve Complex Texture Image Classification Problems , 2016, PAKDD.

[9]  Xiang Li,et al.  Utilising Restricted For-Loops in Genetic Programming , 2007 .

[10]  Alex Alves Freitas,et al.  Evolving recursive programs using non-recursive scaffolding , 2012, 2012 IEEE Congress on Evolutionary Computation.

[11]  Mengjie Zhang,et al.  Evolving While-Loop Structures in Genetic Programming for Factorial and Ant Problems , 2005, Australian Conference on Artificial Intelligence.

[12]  Mengjie Zhang,et al.  Using unrestricted loops in genetic programming for image classification , 2010, IEEE Congress on Evolutionary Computation.

[13]  Thomas Bartz-Beielstein,et al.  Parallel Problem Solving from Nature – PPSN XIII , 2014, Lecture Notes in Computer Science.

[14]  C. Clack,et al.  Recursion , Lambda Abstractions and Genetic Programming , 2022 .

[15]  Mengjie Zhang,et al.  Genetic programming for evolving programs with recursive structures , 2016, 2016 IEEE Congress on Evolutionary Computation (CEC).

[16]  Mengjie Zhang,et al.  Evolving More Representative Programs with Genetic Programming , 2009, Int. J. Softw. Eng. Knowl. Eng..

[17]  Brad Alexander,et al.  Boosting Search for Recursive Functions Using Partial Call-Trees , 2014, PPSN.

[18]  Mengjie Zhang,et al.  Evolving Genetic Programming classifiers with loop structures , 2012, 2012 IEEE Congress on Evolutionary Computation.

[19]  P. Nordin Genetic Programming III - Darwinian Invention and Problem Solving , 1999 .