  The NeuroEvolution of Augmenting Topologies (NEAT) algorithm has received
considerable recognition in the field of neuroevolution. Its effectiveness is
derived from initiating with simple networks and incrementally evolving both
their topologies and weights. Although its capability across various challenges
is evident, the algorithm's computational efficiency remains an impediment,
limiting its scalability potential. In response, this paper introduces a
tensorization method for the NEAT algorithm, enabling the transformation of its
diverse network topologies and associated operations into uniformly shaped
tensors for computation. This advancement facilitates the execution of the NEAT
algorithm in a parallelized manner across the entire population. Furthermore,
we develop TensorNEAT, a library that implements the tensorized NEAT algorithm
and its variants, such as CPPN and HyperNEAT. Building upon JAX, TensorNEAT
promotes efficient parallel computations via automated function vectorization
and hardware acceleration. Moreover, the TensorNEAT library supports various
benchmark environments including Gym, Brax, and gymnax. Through evaluations
across a spectrum of robotics control environments in Brax, TensorNEAT achieves
up to 500x speedups compared to the existing implementations such as
NEAT-Python. Source codes are available at:
https://github.com/EMI-Group/tensorneat.
