Initialising…
25,600 chaotic agents, one rule
Initialising…
The period-doubling cascade toward chaos. Each vertical slice shows the long-run attractor values at that growth rate. Lavender = periodic, orange = chaotic.
A simulation of 25,600 chaotic agents that somehow manage to think together.
I kept returning to a question from Michael Levin's work on collective intelligence in biology: how does a collection of locally-simple agents produce globally-coherent behavior? All this without genetic blueprints or top-down instruction, just from being coupled together.
Levin frames this using the idea of platonic space: a structured space of mathematical patterns that assert themselves in physical systems regardless of substrate. His paradigm example is the logistic map:
The Feigenbaum constant ($\delta \approx 4.6692\ldots$) describes the limiting ratio between successive bifurcation intervals in this map. It appears in every smooth single-humped map, regardless of the physical details or evolutionary history of the system. Something like what Levin means by platonic causation: a mathematical structure that asserts itself on whatever happens to instantiate it.
This simulation runs that same equation on 25,600 cells simultaneously. I built it to make the transition from local chaos to collective order visible and interactive. Something you can feel rather than just read about.
The grid is 160 × 160 cells, each holding a value $x \in [0,\,1]$. At every timestep, the simulation runs two passes:
Pass 1: logistic step. Every cell computes its own post-logistic value:
Pass 2: coupling step. Each cell blends its result with its neighbors' results:
The order matters. Neighbors are aggregated on post-logistic values $f(x)$, not on raw $x$. Coupling on post-logistic values is what keeps the simulation in parity with the theoretical model. Swap the order and you get a fundamentally different, and frankly less interesting, system.
Cell values are colored by the Inferno colormap (customizable in the Display panel): $x \approx 0$ is deep purple, $x \approx 1$ is bright yellow. Synchrony tracks how similar all cells are globally (high = one color dominates). Neighbor Δ tracks the mean absolute difference between adjacent cells (high = sharp domain boundaries visible).