An Analysis of Automatic Subroutine Discovery in Genetic Programming

This paper analyses Rosca's ARL as a general framework for automatic subroutine discovery. We review and compare a number of heuristics for code selection, and experimentally test their effectiveness in the ARL framework. We also propose and analyse a new heuristic, the Saliency, and two extensions to ARL: diffusion of the new subroutines through mutation and the MaxFit technique to adaptively change the length of an epoch. In spite of the effectiveness of the proposed extensions, the main result is that any attempt to improve the selection criterion seems not able to produce better results than a simple near-random heuristic.