Never Mind The No-Ops: Faster and Less Volatile Simulation Modelling of Co-Evolutionary Species Interactions via Spatial Cyclic Games
Dave Cliff
TL;DR
This work identifies severe inefficiencies in the traditional Original Elementary Step (OES) used for Evolutionary Spatial Cyclic Games (ESCGs), caused by no-op commands and many empty cells. It introduces the Revised Elementary Step (RES), which eliminates no-ops and treats the core probabilities $\mu$, $\sigma$, and $\epsilon$ as literal, leading to faster and more stable simulations that can be run on smaller lattices without sacrificing qualitative behavior. Empirical results show that RES achieves comparable dynamics to OES while significantly reducing the required lattice size and total computation time (up to 85% in large-scale settings, with typical wall-clock speedups around 18%). The approach enables more efficient exploration of co-evolutionary dynamics in RPS and RPSLS-like systems and is complemented by publicly available code for replication and extension.
Abstract
Issues in co-evolutionary population dynamics have long been studied via computationally intensive simulations of minimally simple agent-based models, known as Evolutionary Spatial Cyclic Games (ESCGs), involving multiple interacting biological species in which each agent has its own unique spatial location in a cell on a regular lattice, and can move from cell to cell over time. Many papers have been published exploring the dynamics of ESCGs where competitive inter-species predator/prey relationships are modelled via the cyclic game Rock-Paper-Scissors (RPS) for three species, or Rock-Paper-Scissors-Lizard-Spock (RPSLS) for five. At the core of these simulations is the "Elementary Step" (ES), in which one or two agents are chosen at random to either compete to the death, or to reproduce, or to move location. ESCG studies typically involve executing trillions of ESs and hence the computational efficiency of the core ES algorithm is a key concern. In this paper I demonstrate that the de facto standard "Original ES" (OES) algorithm is computationally inefficient both in time and in space due to the implicit execution of many "no-op" commands (i.e., commands that do nothing) and because at steady state large numbers of cells can be empty, and yet empty cells serve no purpose. I present a new "Revised ES" (RES) algorithm which eliminates these inefficiencies, and I show empirically that ESCGs with RES exhibit qualitatively the same characteristics as those with OES, and are also markedly more stable. The more stable dynamics of RES-based simulations means that they can be run with smaller lattices than when using OES, leading to reductions in total simulation times of 85% or more. Python source code developed for the experiments reported here is freely available on GitHub.
