ACGP: Adaptable Constrained Genetic Programming

Genetic Programming requires that all functions/terminals (tree labels) be given a priori. In the absence of specific information about the solution, the user is often forced to provide a large set, thus enlarging the search space — often resulting in reducing the search efficiency. Moreover, based on heuristics, syntactic constraints, or data typing, a given subtree may be undesired or invalid in a given context. Typed Genetic Programming methods give users the power to specify some rules for valid tree construction, and thus to prune the otherwise unconstrained representation in which Genetic Programming operates. However, in general, the user may not be aware of the best representation space to solve a particular problem. Moreover, some information may be in the form of weak heuristics. In this work, we present a methodology, which automatically adapts the representation for solving a particular problem, by extracting and utilizing such heuristics. Even though many specific techniques can be implemented in the methodology, in this paper we utilize information on local first-order (parent-child) distributions of the functions and terminals. The heuristics are extracted from the population by observing their distribution in “better” individuals. The methodology is illustrated and validated using a number of experiments with the 11-multiplexer. Moreover, some preliminary empirical results linking population size and the sampling rate are also given.