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.
Accelerating GP Genome Evaluation Through Real Compilation with a Multiple Program Single Data Approach / Veloso De Melo, Vinícius; Banzhaf, Wolfgang; Iacca, Giovanni. - (2024), pp. 2041-2049. ( GECCO '24 Melbourne 14th July- 18th July 2024) [10.1145/3638530.3664168].
Accelerating GP Genome Evaluation Through Real Compilation with a Multiple Program Single Data Approach
Giovanni Iacca
2024-01-01
Abstract
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.| File | Dimensione | Formato | |
|---|---|---|---|
|
3638530.3664168.pdf
accesso aperto
Tipologia:
Versione editoriale (Publisher’s layout)
Licenza:
Creative commons
Dimensione
749.32 kB
Formato
Adobe PDF
|
749.32 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione



