« Reading List: Kindling | Main | HotBits: New Version with API Keys, Pseudorandom Generation »

Tuesday, June 13, 2017

Cellular Automata Laboratory: Bootstrap Percolation

Here's another new rule for Cellular Automata Laboratory (CelLab): Bootperc. The rule illustrates the process of bootstrap percolation in statistical mechanics. The rule is started with a random pattern in which some fraction of cells are set to 1 with the others zero. On each generation, zero cells look at their neighbours (either 4 for the von Neumann neighbourhood or 8 for the Moore neighbourhood) and, if the number of nonzero neighbours exceeds a threshold (2 for the 4-neighbour case, 4 for 8 neighbours), become ones. A cell, once set to one, remains forever in that state.

When run, one of two things will happen: either the map will evolve into a number of isolated domains separated by gaps, or else it will percolate—end up with all cells set to 1. Whether this happens is highly sensitive to the initial density of one cells. Below a critical density, the map will almost never percolate, while above it the map will almost always end up all ones. Near the critical density, whether or not the map percolates depends upon details of its initial random configuration. The critical density depends upon the neighbourhood size, and is around 4.5% ones for the four neighbour case and 7.5% for eight neighbours.

Colour is used to trace the waves of percolation, but plays no part in the operation of the rule. Initially set cells are displayed in white and do not change. Newly set cells in each generation are in green, and cells age over a colour gradient from red to dark blue. You can see the percolation front proceeding from each nucleation site as a green wave leaving the rainbow behind it, with the oldest cells in dark blue. If the map completely percolates, the end state will be the white initially set cells on a background of dark blue.

When you run the rule, try stopping it after it has reached a steady state and then use the “Random” button in the Pattern section and its Density field to load patterns with different densities and explore how they behave. The rule is initially set for the eight cell Moore neighbourhood. You can change this by editing the rule program, changing the setting of the vonnN variable, then pressing “Generate” to update the rule.

Run the Bootperc rule in CelLab

Posted at June 13, 2017 22:27