Abstract A key goal in machine learning and artificial intelligence is to automatically and dynamically decompose problems into simpler problems in order to facilitate their solution. This paper describes two extensions to genetic programming, called “automatic” function definition and “hierarchical automatic” function definition, wherein functions that might be useful in solving a problem are automatically and dynamically defined during a run in terms of dummy variables. The defined functions are then repeatedly called from the automatically discovered “main” result-producing part of the program with different instantiations of the dummy variables. In the “hierarchical” version of automatic function definition, automatically defined functions may call other automatically defined functions, thus creating a hierarchy of dependencies among the automatically defined functions. The even-11-parity problem was solved using using hierarchical automatic function definition.
[1]
John R. Koza,et al.
Genetic programming - on the programming of computers by means of natural selection
,
1993,
Complex adaptive systems.
[2]
John R. Koza,et al.
Genetic Programming: The Movie
,
1992
.
[3]
Frédéric Gruau,et al.
Genetic synthesis of Boolean neural networks with a cell rewriting developmental process
,
1992,
[Proceedings] COGANN-92: International Workshop on Combinations of Genetic Algorithms and Neural Networks.
[4]
John R. Koza,et al.
A Hierarchical Approach to Learning the Boolean Multiplexer Function
,
1990,
FOGA.
[5]
John R. Koza,et al.
Genetic programming: a paradigm for genetically breeding populations of computer programs to solve problems
,
1990
.