# TensorFlow Enabled Genetic Programming

arXiv: https://arxiv.org/abs/1708.03157 · HTML: https://mlsanity.com/paper/1708.03157/

## Key facts

- Cited by 5 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 10 Aug 2017.

## Built on by (most cited first, 5 of 5)

- [TensorGP -- Genetic Programming Engine in TensorFlow](https://mlsanity.com/paper/2103.07512/) (2021)
- [Enabling Population-Level Parallelism in Tree-Based Genetic Programming for GPU Acceleration](https://mlsanity.com/paper/2501.17168/) (2025)
- [Accelerating Genetic Programming using GPUs](https://mlsanity.com/paper/2110.11226/) (2021)
- [Speed Benchmarking of Genetic Programming Frameworks](https://mlsanity.com/paper/2106.11919/) (2021)
- [TurboGP: A flexible and advanced python based GP library](https://mlsanity.com/paper/2309.00149/) (2023)

## Abstract (arXiv)

Genetic Programming, a kind of evolutionary computation and machine learning algorithm, is shown to benefit significantly from the application of vectorized data and the TensorFlow numerical computation library on both CPU and GPU architectures. The open source, Python Karoo GP is employed for a series of 190 tests across 6 platforms, with real-world datasets ranging from 18 to 5.5M data points. This body of tests demonstrates that datasets measured in tens and hundreds of data points see 2-15x improvement when moving from the scalar/SymPy configuration to the vector/TensorFlow configuration, with a single core performing on par or better than multiple CPU cores and GPUs. A dataset composed of 90,000 data points demonstrates a single vector/TensorFlow CPU core performing 875x better than 40 scalar/Sympy CPU cores. And a dataset containing 5.5M data points sees GPU configurations out-performing CPU configurations on average by 1.3x.
