Skip to main content Skip to navigation

Probabilistic Cellular Automata

Andrei Toom's PCA and related models are a excellent example of emergent behaviour. In general they are simple enough to both simulate and visualise. All I've done is add a user-friendly interface, which could potentially decrease the hassle of trying to get an idea of how the model behaves with a change in parameters.
This was done in Processing (version 1.0.3), a Java-based developing environment. The resultant GUI has buttons framing a square that shows the state of the system at a particular time. The 'About' button has some information about the system and its evolution rules.

The subpages contain applets and various resources relating to four different models (see their description below. In the first model each site has two possible states, whereas the last three are distinguished by their evolution rules).
There are several ways to proceed. First, the applets may not work on some browsers (but tends to work in Firefox), in which case a stand-alone application can be downloaded. This, however, was not tested on Linux and Windows. In that case there's always the option of installing Processing and running the original code. In addition to the main .pde file the zip-ed packages contain the three necessary font files as well as a read-me guide to the application.
Any reported bugs always welcome.



Two-state (possibly asymmetric) PCA

A periodic lattice with red and white squares. Update rules for each square depend only on a certain probability (which itself depends on the square colour), and the dominant colour of a neighbourhood N. Squares are updated simultaneously. Specifically, the update rule for any square depends only on parameter lambda if it is red, and on nu if white; and on the average colour of neighbourhood N at the time of update. Colour is changed to the latter with a probability (1 - (lambda or nu)), and to the opposite (complement) with probability lambda or nu. If the neighbourhood does not have a clear preference then the default is for the square in question to become either red or white with equal probability.

Files (separate read-me file) Application: for Mac (opening in separate window/full screen) Windows Linux  

Applet can be found here



Three-state PCA

A periodic lattice of squares that can be one of three colours. The update rule is the same for all squares, and depends only on parameters lambda, delta, and the squares in some neighbourhood N at the time of update. First with probability (1 - lambda) a square becomes the dominant colour in the neighbourhood, if it exists (staying the same with probability lambda). Otherwise with probability delta the square becomes either one of the dominating colours (with equal probability for each). Delta is preset to be 0.05.

Files (separate read-me file) Application: for Mac (opening in separate window/full screen) Windows Linux 

Applet can be found here 



Three-state PCA v.2

A periodic lattice of squares that can be one of three colours. The update rule is the same for all squares, and depends only on a parameter lambda, and the squares in some neighbourhood N at the time of update. First a square becomes one of the dominant colours in the neighbourhood with equal probability. Next, colour is changed with probability lambda (with equal probability of lambda/2 of becoming one of the two complementary colours. This happens simultaneously for all squares.

Files (separate read-me file) Application: for Mac (opening in separate window/full screen) Windows Linux 

Applet can be found here


Three-state PCA v.3

A periodic lattice of squares that can be one of three colours. The update rule is the same for all squares, and depends only on a parameter lambda, and the squares in some neighbourhood N at the time of update. The update consists of two parts. First a square becomes the dominant colour in the neighbourhood, if that colour exists (staying that same if it doesn't). Next, colour is changed with probability lambda (with equal probability of lambda/2 of becoming one of the two complementary colours). This happens simultaneously for all squares.

Files (separate read-me file) Application: for Mac (opening in separate window/full screen) Windows Linux 

Applet can be found here