TensorGP -- Genetic Programming Engine in TensorFlow
This work addresses efficiency issues for researchers and practitioners in evolutionary computation, though it is incremental as it applies existing TensorFlow optimizations to a known bottleneck.
The paper tackled the problem of slow domain evaluation in Genetic Programming by developing TensorGP, a TensorFlow-based engine that uses data vectorization and fitness caching, achieving performance gains of up to two orders of magnitude compared to standard iterative methods.
In this paper, we resort to the TensorFlow framework to investigate the benefits of applying data vectorization and fitness caching methods to domain evaluation in Genetic Programming. For this purpose, an independent engine was developed, TensorGP, along with a testing suite to extract comparative timing results across different architectures and amongst both iterative and vectorized approaches. Our performance benchmarks demonstrate that by exploiting the TensorFlow eager execution model, performance gains of up to two orders of magnitude can be achieved on a parallel approach running on dedicated hardware when compared to a standard iterative approach.