Particle Life: Emergence of Complexity from Simple Rules

You can run these simulations yourself on a Windows 64 machine by downloading the Particle Life App. Complete Java source code is available from GitHub, although as all things Java, getting it to build is a fussy and frustrating process.

Another demonstration of spontaneous emergence of complex behaviour from simple rules is Fourmilab Flocking Birds for Second Life.


Thank you for sharing. I had fun playing with the simulation this morning.

The simulation forms beautiful, complex patterns, including cell-like structures with semi-permeable membranes. However, even a small change in the rules or starting positions of the particles can result in vastly different outcomes.

Playing with the simulation has sparked many questions. I wonder: Given the state or multiple states of the particles, is it possible to reverse engineer the rules and starting conditions for the simulation? (I ask this without any prior knowledge of automata theory.)

Is the process of deducing the rules that determine emergent phenomenon the same as the “compression” that @jabowery often refers to? Is the scientific method a form of compression? Are there ways of compressing data that are more efficient than the scientific method?


In the ultimate sense, yes. In the proximate sense the answer is more nuanced in the same sense that our dynamical models of, say, the weather, abstract away the dynamics of individual gas molecules into statistical mechanics but then (and this is absolutely crucial to understanding such abstractions) we reformulate those statistical laws into fluid dynamics, often expressed in recurrence laws involving complex numbers. Where things then get interesting is the phenomenon of turbulence and other forms of chaos where the butterfly effect tempts us to abandon our abstractions as having been falsified in the Popperian sense. This is utterly insane idiocy – as arose in my recent interactions with Oxford epidemiologists during the early urgency of the COVID-19 pandemic where they appealed to inadequate data availability so as to constrain the butterfly effect of dynamical models. Good grief! “Inadequate data availability”??? No what we have are inadequate macrosocial models due to the fact that the Algorithmic Information Criterion has not been applied to the absolute torrential availability of data about society! The real question is: Why don’t we have such macrosocial models available and at hand to apply to emergencies?


Here’s an attempt to take the game of life and make it just a bit more complex:

Particle-Life does look good though!


You can build some interesting artificial life models with pure cellular automata (CA). (As I understand it, “SproutLife” has what amounts to a supervisor layer running on top of the life CA that turns the static block pattern back into an R-pentomino seed, but this is not done entirely by the per-cell rules.)

Here are artificial life models that run under Cellular Automata Laboratory. You can run these directly within your browser by clicking the “Play” button at the top right of the description of the rule.

  • Byl and Chou-Reggia minimalist self-reproducing automata
  • Evoloops and EvoloopsAB: self-reproduction with death, evolution, and abiogenesis
  • Langton: classic self-reproducing automaton
  • Sexyloop: self-reproduction with exchange of genetic information
  • Wator: Dewdney’s “Sharks and Fish on the Planet Wa-Tor” ecosystem

Here is Langton’s self-reproducing automaton. On an infinite grid, this will grow without bound, but with toroidal wrapping at the edges, the growing patterns eventually collide with one another and break the reproduction cycle.