🤖 AI Summary
This study investigates the runtime complexity of evolving Boolean functions using Cartesian Genetic Programming (CGP), with a focus on the stark efficiency differences between conjunction and XOR functions. Through theoretical analysis and empirical validation, the work establishes—using probabilistic methods, program graph representations, and both strict and non-strict selection mechanisms—the first asymptotic upper bound of $O(n D^4)$ on the expected number of fitness evaluations required to evolve conjunctions, demonstrating that accepting neutral moves significantly accelerates search. In contrast, it rigorously proves that evolving XOR functions necessitates exponential time. Experimental results corroborate these theoretical findings and further reveal that employing incomplete training sets can substantially reduce evaluation costs while maintaining strong generalization performance.
📝 Abstract
Cartesian Genetic Programming (CGP) is among the practical and popular forms of Genetic Programming as it uses a graph-based representation of programs. This paper presents a first runtime analysis of CGP in evolving Boolean functions using complete training sets. We prove an asymptotic bound $O(n D^5)$ for the expected number of fitness evaluations of CGP to construct a conjunction of $n$ inputs using at most $D \geq n-1$ binary gates, a minimal function set, and even with a strict survival selection. When the non-strict selection is used, the bound is improved to $O(n D^4)$. Our analysis reveals interesting characteristics of CGP induced search, which have been only observed empirically. In particular, enabling the acceptance of equally good solutions, including those with connected gates non-contributing to fitness, can lead to a speedup, and consequently a better asymptotic time bound. In contrast to conjunctions, we also prove a negative result which shows that CGP requires exponential time to evolve an exclusive disjunction. Experiments evolving conjunctions complement our theoretical findings. The use of incomplete training sets is found to further reduce the average number of fitness evaluations while maintaining a good level of generalisation.