ANALYSIS TOOL BOX

Cellular Automata

Write down how you believe something spreads from place to place as simple neighbor-to-neighbor rules, run them many times, and see where spread tends to go, how fast, which starting points hurt most, and which assumption drives the answer.

How this technique works
What question is this model helping answer?

Unrest, fraud, malware, disinformation, disease, fire — anything that spreads from place to place.

Teaching Note

A cellular automaton is a grid of cells, each in one of a few states. Every step, each cell applies the same simple rules, looking only at its own state and its neighbors'. Nothing is in charge — fronts, corridors and dead zones emerge from local interactions. Writing the rules forces you to state exactly how you believe spread works, and running them shows what those beliefs imply. Treat the output as a Key Assumptions Check made executable: “under these rules, spread tends to…”, never “spread will…”. (Cellular automata come from complexity science, not the Heuer & Pherson canon.)

Start a new exercise

Starting a new exercise replaces the current scenarios. Earlier versions stay in the version history below.

Scenarios
States
States
4 of 6

The default state fills unpainted cells. Removing a state repaints its cells with the default and drops rules that use it.

Neighborhood and edges
Who counts as a neighbor

Moore: the 8 surrounding cells, edges and corners.

Edges

Hard edges suit real places. Wrap-around joins opposite borders into a loop — rarely true of real geography.

Transition rules
Transition rules

Each step, every cell tries its rules top to bottom; the first that matches and passes its probability roll fires. Probability 1 is deterministic; anything lower makes the model stochastic. Barrier cells never change.

1Aftersteps in,it becomeswith probability
2Aftersteps in,it becomeswith probability
3If a cell isandneighbors are,it becomeswith probability
4If a cell isandneighbors are,it becomeswith probability
5Aftersteps in,it becomeswith probability
Grid and labels
Rows
Columns
Row labels

Optional, comma-separated, top to bottom.

Column labels

Optional, comma-separated, left to right.

Map cells to named places

26 named places cover 400 of 400 cells.

Upload a CSV with row, column and name columns (1-based), plus optional state, barrier and seed columns. Named places appear in hover details, reports and the weak-point scan.

Run settings
Steps
One step represents

Used in labels and reports.

Replicates

Automatic: 500 (stochastic rules).

Random seed

Same seed, same results — every time.

Starting grid & single run

Step 0 / 28
Paint the starting grid

Click or drag to paint.

Seeds start as
Track spread of

4 seed cells · 16 barriers

At step 0
  • Calm396
  • Agitated0
  • Active Unrest4
  • Suppressed0
  • BarrierSeed
Hover a cell to see its neighbors and which rule applies. This is one illustrative run (replicate 1 of 500) — run the model below to see the range of outcomes.

Results across runs

Run the model to see where and how fast Active Unrest tends to spread: a probability map, a time-to-reach map and a spread curve across all replicates.

Weak-point scan

Where would ignition hurt most? The scan starts the model from every candidate location in turn — moving the current seed footprint (4 cells) across the grid — and ranks them by how far Active Unrest spreads on average.

Sensitivity

Which assumption drives the result? Vary one rule's probability across a range and watch the spread respond. Every value uses the same random draws, so differences come from the rule alone.

Rule
From
To
Values
Runs each

Scenario comparison

Use Duplicate as new scenario above, change one thing (add a barrier, slow a rule), run both, and compare them here side by side.

Limitations

  • Exploratory, not predictive: results show what follows from the stated rules ("under these rules, spread tends to…"), not what will happen.
  • Local interaction only: a cell is influenced only by its eight surrounding cells. Real spread can jump long distances (travel, media, supply chains, network links) and this model cannot represent that.
  • Rule uncertainty: every rule and probability is an analyst assumption. Rules without a stated rationale or source deserve the least weight.
  • Grid abstraction: places are approximated as equal-sized square cells; real geography, population and connectivity vary.

Judgment & notes

Version history

Last 40 edits, saved automatically

Edits are recorded here a moment after you make them.

Runs entirely in your browser and saves automatically. Export the model definition (.json) to hand it to a Python user.

About this technique

What is a cellular automaton?

A cellular automaton is a grid of cells, each in one of a few states, such as calm, agitated or active. At every step, each cell updates using the same simple rules, based only on its own state and its neighbors' states. Nothing is in charge, yet large patterns emerge: fronts, clusters, corridors and dead zones. John von Neumann and Stanislaw Ulam developed the idea in the 1940s. John Conway's Game of Life made it famous in 1970.

When to use it

Use a cellular automaton to explore how something might spread across a space, such as unrest, a fraud scheme, malware, disinformation or fire. It helps answer three questions: where would a spark do the most damage, would a barrier slow the spread, and how much does the outcome depend on each rule? Treat it as an exploratory "what-if" model, not a forecast. Its value is in showing what follows from your stated assumptions about how spread works.

How to use this tool

  1. State the question the model should help answer, or start from the Unrest Diffusion template.
  2. Define the states in plain language, and choose who counts as a neighbor: the 8 surrounding cells or the 4 adjacent ones.
  3. Write transition rules, such as "a calm cell becomes agitated if 2 or more neighbors are active." Each rule needs a rationale.
  4. Set up the grid. Label rows and columns to map cells to named places, then paint seeds and barriers.
  5. Run replicates to see the share of runs in which each cell is reached, and the spread curve over time.
  6. Run the weak-point scan and sensitivity sweeps, and compare scenarios side by side.

Common pitfalls

  • Treating the grid as a forecast. Phrase results as "under these rules, spread tends to…"
  • Ignoring long-range jumps. The model only connects adjacent cells, but real spread often jumps through travel, social media or supply chains.
  • Unexplained rules. A rule without a rationale is a hidden assumption.

Related