Accelerating GP Genome Evaluation Through Real Compilation with a Multiple Program Single Data Approach
Vinícius Veloso de Melo, Wolfgang Banzhaf, Giovanni Iacca · Proceedings of the Genetic and Evolutionary Computation Conference Companion · 2024
Genetic Programming (GP) presents a unique challenge in fitness evaluation due to the need to repeatedly execute the evolved programs, often represented as tree structures, to assess their quality on multiple input data. Traditional approaches rely on interpreting these program trees, which can be computationally expensive. This paper proposes an optimization method that leverages code generation using a novel strategy and Just-In-Time (JIT) compilation to significantly improve the efficiency of fitness evaluation in GP. We propose to revisit using an actual compiler to transform a GP individual into native computer code executable quickly on the CPU. Our GP implementation is a simple tree-based approach that makes it easy for researchers to experiment with, while the evaluation function shows high performance. Preliminary results in Symbolic Regression on artificial datasets demonstrate that our approach is more than 6× faster than a popular GP framework that uses high-performance single-function evaluation but in a stack-based interpreter mode.