Evolving exact integer algorithms with Genetic Programming

The synthesis of exact integer algorithms is a hard task for Genetic Programming (GP), as it exhibits epistasis and deceptiveness. Most existing studies in this domain only target few and simple problems or test a small set of different representations. In this paper, we present the (to the best of our knowledge) largest study on this domain to date. We first propose a novel benchmark suite of 20 non-trivial problems with a variety of different features. We then test two approaches to reduce the impact of the negative features: (a) a new nested form of Transactional Memory (TM) to reduce epistatic effects by allowing instructions in the program code to be permutated with less impact on the program behavior and (b) our recently published Frequency Fitness Assignment method (FFA) to reduce the chance of premature convergence on deceptive problems. In a full-factorial experiment with six different loop instructions, TM, and FFA, we find that GP is able to solve all benchmark problems, although not all of them with a high success rate. Several interesting algorithms are discovered. FFA has a tremendous positive impact while TM turns out not to be useful.

[1]  Xin Yao,et al.  Frequency Fitness Assignment , 2014, IEEE Transactions on Evolutionary Computation.

[2]  Kenneth O. Stanley,et al.  Abandoning Objectives: Evolution Through the Search for Novelty Alone , 2011, Evolutionary Computation.

[3]  Xiang Li,et al.  Experiments with explicit for-loops in genetic programming , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[4]  Shane Legg,et al.  Fitness uniform optimization , 2006, IEEE Transactions on Evolutionary Computation.

[5]  Ke Tang,et al.  Novel Loop Structures and the Evolution of Mathematical Algorithms , 2011, EuroGP.

[6]  Riccardo Poli,et al.  Memory with memory: soft assignment in genetic programming , 2008, GECCO '08.

[7]  Timothy Y. Lai Discovery of Understandable Math Formulas Using Genetic Programming , 1995 .

[8]  Thomas Weise,et al.  Evolving Distributed Algorithms With Genetic Programming , 2012, IEEE Transactions on Evolutionary Computation.

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

[10]  Lishan Kang,et al.  Genetic Programming with simple loops , 1999, Journal of Computer Science and Technology.

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

[12]  Victor Ciesielski,et al.  Evolving programs with parameters and loops , 2010, IEEE Congress on Evolutionary Computation.