Node Preservation and its Effect on Crossover in Cartesian Genetic Programming
Mark Kocherovsky, Illya Bakurov, Wolfgang Banzhaf
TL;DR
The paper investigates node preservation during crossover in Cartesian Genetic Programming (CGP) and compares canonical, node-preserving, Subgraph, and semantic operator variants on symbolic regression benchmarks. It shows that preserving nodes during crossover or mutation improves search effectiveness and often yields the best models, challenging the dominance of mutation-only CGP. The findings suggest representation-aware crossover that respects CGP's graph structure can enable more reliable reuse of building blocks. The work provides practical guidance for CGP operator design and highlights the importance of genome structure and alignment in achieving scalable CGP performance.
Abstract
While crossover is a critical and often indispensable component in other forms of Genetic Programming, such as Linear- and Tree-based, it has consistently been claimed that it deteriorates search performance in CGP. As a result, a mutation-alone $(1+λ)$ evolutionary strategy has become the canonical approach for CGP. Although several operators have been developed that demonstrate an increased performance over the canonical method, a general solution to the problem is still lacking. In this paper, we compare basic crossover methods, namely one-point and uniform, to variants in which nodes are ``preserved,'' including the subgraph crossover developed by Roman Kalkreuth, the difference being that when ``node preservation'' is active, crossover is not allowed to break apart instructions. We also compare a node mutation operator to the traditional point mutation; the former simply replaces an entire node with a new one. We find that node preservation in both mutation and crossover improves search using symbolic regression benchmark problems, moving the field towards a general solution to CGP crossover.
