Neural Cellular Automata Simulator

Explore dynamic models in real-time!

What are Neural Cellular Automata?

Neural Cellular Automata (NCA) are a category of cellular automata that involve using a neural network as the cell's update rule. The neural network can be trained to determine how to update the cell's value in coordination with other cells, operating on the same rule to produce a target behavior.

From a deep learning perspective, NCA can be characterized as a Recurrent Convolutional Neural Network.

Select a Model

Classic Conway's Game of Life

The most famous example of cellular automata operating on simple rules: All cells are either alive or dead (1 or 0).

A living cell with 2 or 3 neighbors survives. A dead cell with exactly 3 neighbors becomes alive. In all other cases, the cell dies or remains dead. Even with such simple rules, complex behaviors can emerge.

Explore Classic Conway's Game of Life

Life-Like Cellular Automata

Operates very similarly to the Game of Life in that all cells are either alive or dead. However, Life Like gives you the freedom to choose how many cells must be alive.

The rule string format uses survival/birth notation. In this notation, the original Game of Life would be expressed as 23/3, where 2 or 3 cells in the neighbourhood are required for survival of a living cell, and 3 cells are required for a dead cell to come to life.

Explore Life-Like Cellular Automata

Larger than Life

Builds on Life Like CA by introducing even more flexibility with specifiable neighbourhood radius, shapes, and minimum lifespan of living cells.

The neighbourhood radius can encompass cells that are further than one cell away. Different neighbourhood shapes allow for different ways of determining a cell's distance from the target cell.

Explore Larger than Life

Continuous Cellular Automata

Instead of using binary dead or alive states, Continuous CA uses a continuous range of values.

The new cell state value is calculated by multiplying each neighbour by a weight, adding this together and applying a basic mathematical function to it. Can display behaviours similar to basic organisms and population level behaviours of bacteria.

Explore Continuous Cellular Automata

Growing NCA

One of the best examples of NCA is Growing Neural Cellular Automata (A. Mordvintsev et al., 2020), where they trained NCA to 'grow' target images from a single seed cell.

The Growing-NCA model emphasises that the perception of only neighbouring cells bears parallels with how natural cells communicate within living organisms. Interestingly, this results in Growing Neural Cellular Automata (and other NCA) also showing natural regenerative properties when the image is disturbed during generation.

Explore Growing NCA

Texture NCA

Based on Self Organising Textures (A. Mordvintsev et al., 2021), where they trained NCA to mimic target textures from a random initial state.

The main difference between Texture NCA and Growing NCA is that it aims to replicate image features on a small scale. It shares properties of regeneration, as well as independence of grid location, resulting in textures that can be smoothly and cohesively replicated over graphs of any size and shape.

Explore Texture NCA

Need Help?

If you're experiencing issues with the simulator, check out our troubleshooting guide.

Go to Troubleshooting