On the Time and Space Complexity of Genetic Programming for Evolving Boolean Conjunctions

Authors

  • Andrei Lissovoi University of Sheffield
  • Pietro Oliveto University of Sheffield

DOI:

https://doi.org/10.1609/aaai.v32i1.11517

Keywords:

Genetic programming, Runtime analysis, Computational complexity

Abstract

Genetic Programming (GP) is a general purpose bio-inspired meta-heuristic for the evolution of computer programs. In contrast to the several successful applications, there is little understanding of the working principles behind GP. In this paper we present a performance analysis that sheds light on the behaviour of simple GP systems for evolving conjunctions of n variables (AND_n). The analysis of a random local search GP system with minimal terminal and function sets reveals the relationship between the number of iterations and the expected error of the evolved program on the complete training set. Afterwards we consider a more realistic GP system equipped with a global mutation operator and prove that it can efficiently solve AND_n by producing programs of linear size that fit a training set to optimality and with high probability generalise well. Additionally, we consider more general problems which extend the terminal set with undesired variables or negated variables. In the presence of undesired variables, we prove that, if non-strict selection is used, then the algorithm fits the complete training set efficiently while the strict selection algorithm may fail with high probability unless the substitution operator is switched off. In the presence of negations, we show that while the algorithms fail to fit the complete training set, the constructed solutions generalise well. Finally, from a problem hardness perspective, we reveal the existence of small training sets that allow the evolution of the exact conjunctions even in the presence of negations or of undesired variables.

Downloads

Published

2018-04-25

How to Cite

Lissovoi, A., & Oliveto, P. (2018). On the Time and Space Complexity of Genetic Programming for Evolving Boolean Conjunctions. Proceedings of the AAAI Conference on Artificial Intelligence, 32(1). https://doi.org/10.1609/aaai.v32i1.11517

Issue

Section

AAAI Technical Track: Heuristic Search and Optimization