Saved in:
Bibliographic Details
Main Authors: Kalkreuth, Roman, Baeck, Thomas
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2406.09038
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866911915983241216
author Kalkreuth, Roman
Baeck, Thomas
author_facet Kalkreuth, Roman
Baeck, Thomas
contents The reference implementation of Cartesian Genetic Programming (CGP) was written in the C programming language. C inherently follows a procedural programming paradigm, which entails challenges in providing a reusable and scalable implementation model for complex structures and methods. Moreover, due to the limiting factors of C, the reference implementation of CGP does not provide a generic framework and is therefore restricted to a set of predefined evaluation types. Besides the reference implementation, we also observe that other existing implementations are limited with respect to the features provided. In this work, we therefore propose the first version of a modern C++ implementation of CGP that pursues object-oriented design and generic programming paradigm to provide an efficient implementation model that can facilitate the discovery of new problem domains and the implementation of complex advanced methods that have been proposed for CGP over time. With the proposal of our new implementation, we aim to generally promote interpretability, accessibility and reproducibility in the field of CGP.
format Preprint
id arxiv_https___arxiv_org_abs_2406_09038
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle CGP++ : A Modern C++ Implementation of Cartesian Genetic Programming
Kalkreuth, Roman
Baeck, Thomas
Neural and Evolutionary Computing
Machine Learning
The reference implementation of Cartesian Genetic Programming (CGP) was written in the C programming language. C inherently follows a procedural programming paradigm, which entails challenges in providing a reusable and scalable implementation model for complex structures and methods. Moreover, due to the limiting factors of C, the reference implementation of CGP does not provide a generic framework and is therefore restricted to a set of predefined evaluation types. Besides the reference implementation, we also observe that other existing implementations are limited with respect to the features provided. In this work, we therefore propose the first version of a modern C++ implementation of CGP that pursues object-oriented design and generic programming paradigm to provide an efficient implementation model that can facilitate the discovery of new problem domains and the implementation of complex advanced methods that have been proposed for CGP over time. With the proposal of our new implementation, we aim to generally promote interpretability, accessibility and reproducibility in the field of CGP.
title CGP++ : A Modern C++ Implementation of Cartesian Genetic Programming
topic Neural and Evolutionary Computing
Machine Learning
url https://arxiv.org/abs/2406.09038