Artificial life simulations in search of open-endedness are often based on artificial evolution. While such systems can generate complexity, gradient-based learning remains under-explored and may offer a complementary path to open-endedness. We introduce Petri Dish Neural Cellular Automata (PD-NCA): a differentiable multi-agent substrate consisting of a competitive population of neural cellular automata (NCA), trained continuously as an artificial life simulation. Differentiable PD-NCA enable end-to-end learning in a competitive, multi-agent system, which we hypothesize can induce open-ended complexification. Importantly, and unlike typical NCA experiments, the models in our experiments are continuously learning through gradient descent. Exploratory experiments demonstrate that PD-NCA show signs of emergent behavioral complexity and cooperation. More broadly, our work introduces a new substrate where learning could potentially combine with evolution to form open-ended systems.
Emergent behaviors across grid and model sizes
These visualizations demonstrate the diverse range of emergent behaviors that arise from the Petri Dish NCA system. Each video shows different patterns of cooperation, competition, and self-organization that emerge without explicit programming.
One of our key hypothesis for how NCAs are able to outcompete NCAs with identical architectures is by the amount of information they're able to store on the grid.
With the blue-yellow and red-yellow groups in the first video, the blue-yellow section shows more regular patterns where the red section makes the hidden channels a uniform value. Entropy isn't a direct monotonic mapping for complexity, so we're working on ways to measure how much information a NCA is truly using and storing on the grid.
In the original NCA paper, there is an explicit distinction between the training and testing of a NCA model. While our experiments continuously do backprop throughout the entire simulation, it could be worth exploring doing a "pretraining" phase which runs NCAs for some short period of time and ensures that each of them is alive at the start. This could help stabilize NCAs at the start of a long run to prevent any early extinctions.