Colin Vallon Trio — Cendre

In my last post on teaching the fundamentals of quantum computation to a toddler, I touched on the subject of computational complexity, noting that this field should not be confused with the more general study of complexity that one may encounter at Santa Fe Institute for instance. I’d like to use this post to expand a little on that more general field of complexity, perhaps instead of teaching it to a toddler it will be geared for teenagers this time (who are thus able to make a few of their own deductions and inferences). I’ll use for analogous illustration of concepts elementary cellular automata, music, and illustrations. The use of cellular automata here was inspired by Stephen Wolfram’s A New Kind of Science (which I will abbreviate here as NKS), and much of the discussion will be guided by subjects that were addressed in that work. I’ll also borrow several images of these automata from Wolfram’s Atlas of Simple Programs.

Although NKS was not written predominantly about complexity, it was one of my earlier exposures to the concept and partly inspired a reading journey from authors such as Melanie Mitchell, Stuart Kauffman, George Johnson, Murray Gell-Mann, Yaneer Bar-Yam, and others — for those that wish to learn more about the subject these authors are good places to start, as are the MOOC’s available from Santa Fe Institute’s Complexity Explorer.

First a brief introduction to cellular automata. An elementary cellular automata is basically a set of rules for determining the progression of values for a 2D grid of binary (black/white) cells which evolves from top rows down. The grid is seeded with an input row (most examples here will have a seed of a single black cell or a row of randomly placed black/white cells), and then based on the values of the seed row the rules determine values of cells in each subsequent row and similarly on down, with the resulting output images given some interesting shapes of varying degrees of complexity. For the simple versions we will be discussing here the rules will derive a value for a child cell based only on the three parent cells immediately adjacent in the row above. Since there will be 2³=8 combinations of parent cells requiring a rule, and thus 8 potential inputs for child cells, we can then derive that there will be 2⁸=256 potential variants of elementary cellular automata, which are traditionally identified using a numbering convention of 0–255.

Rule 110, an example. Each child cell is derived as a function of 3 adjacent cells in row above.

Shown here are a few highlighted rules out of the 256 that will demonstrate the variety of potential output shapes. Most of those shown have a seed of a single black cell in top row although a few such as 128 or 136 are shown here with multiple seed cells to demonstrate some particular behavior. Often a single seed cell will result in some kind of triangle shaped output as the cell’s area of influence expands wider in each subsequent row, although for some rules (where three white parent cells result in a black child cell) a row-wide transformation may be immediate.

A few highlights of the 256 elementary cellular automata rules — Source: Wolfram Atlas of Simple Programs

The study of cellular automata wouldn’t be very practical without computers to simulate them. This turns into one of the themes of NKS, about how computer simulations could open the door to new routes to scientific discovery (aka a “new kind of science”). The elementary cellular automata merit so much attention because even in their very limited space of 256 simple rules there can be found a wide band of potential behaviors and complexity. We can sort the potential behaviors into four classes. Class 1 is the most simple with initial conditions leading to some uniform final state (examples include rules 0, 4, 255, etc). Class 2 may have many potential final states but they all are a set of simple uniform or repetitive shapes (examples include rules 1, 50, 190, etc). Class 3 is where things start to get interesting, in these rules the behavior gets more complicated with apparent randomness and fractal nesting of shapes (examples include rules 22, 30, 90, etc). Class 4 is perhaps the most interesting, it involves a mixture of order and randomness, with local structures that may appear simple but through progression move around and interact with each other in complex ways — this behavior may become more obvious with more elaborate seedings beyond a single cell, we’ll have some demonstrations to follow (examples include rules 110, 124, 137, etc). It should be noted that the boundaries between these four classes are not firm and some rules may exhibit properties of multiple classes to some degree. If you remember one thing about elementary cellular automata it should be this: these rules illustrate that even from extremely simple rules it is possible to generate highly complex and irreducible behavior of a system.

The grouping of these cellular automata into the four categories based on behavior is a kind of measure of their complexity. Researchers have developed more general descriptions of a system’s complexity based on a variety of metrics such as how hard the system is to describe, how hard it is to create, or the degree of organization — a representative list of 42 such descriptions was assembled by Seth Lloyd here. Note that Lloyd doesn’t claim that this list is exhaustive, and actually calls for submissions of additional metrics which perhaps implies some ambiguity as to a formal agreement on definition of complexity between researchers. Melanie Mitchell has helpfully clarified that “As yet, Complexity is not a single unified science; rather, to paraphrase William James, it is still ‘the hope of a science’. I believe that this hope has great promise.”

Just as the toolbox of an industrial engineer are based on probability and statistics, the tools of complexity research are models via computer simulation. This post will primarily feature simulations of cellular automata whose rules of evolution are based on values of adjacent cells, however there are plenty of other types of systems that could be simulated using more elaborate rules — some examples being crowd dynamics, street traffic patterns, or possibly even electrical grid distribution systems. Through the simulations of elementary cellular automata behavior we will attempt to explore a few features of complexity here.