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.
翻译:笛卡尔遗传规划(CGP)是遗传规划中实用且广泛使用的一种形式,因其采用基于图的程序表示。本文首次对使用完整训练集进化布尔函数的CGP进行运行时分析。我们证明了在最多使用$D \geq n-1$个二元门、最小函数集且采用严格生存选择的情况下,CGP构建$n$输入合取函数所需的期望适应度评估次数具有渐近上界$O(n D^5)$。当采用非严格选择时,该上界改进为$O(n D^4)$。我们的分析揭示了CGP诱导搜索的有趣特性——这些特性此前仅通过实验观察得到。特别地,允许接受同等最优解(包括包含不贡献适应度的连接门的情况)可加速搜索进程,从而获得更优的渐近时间复杂度。与合取函数相反,我们同时证明了CGP需指数时间才能进化出异或函数的负面结果。合取函数进化实验验证了我们的理论发现。使用不完整训练集可进一步降低平均适应度评估次数,同时保持较好的泛化能力。