Cellular Automata: The Importance of Rule 30

Karan Kashyap
DataSeries
Published in
6 min readJul 24, 2020

What are Cellular Automata?

Cellular Automata (singular: Cellular Automaton) are abstract computational systems that are typically represented visually in the form of a grid with values. The more recent visualizations, however, are in the form of a grid of black and white squares. Each element in this grid is called a cell. Generally, in various computational models, cells can have an infinite set of values, however, in the case of simple Cellular Automata, each cell can have just one of two states: 1 (black) or 0 (white).

Cellular Automata evolve based on a set of rules that determine the color of the next cell by considering the color of the cell above it and the two cells that neighbor the cell above it (these 3 cells are defined as the “neighborhood” of the cell whose value is being determined. These rules are applied repeatedly and the structure thus obtained is a representation of these rules. Cellular Automata were initially studied by the likes of von Neumann, however, the most recent, and arguably the most prominent work on the subject was conducted by Stephen Wolfram.

Stephen Wolfram (source: Stephen Wolfram’s Twitter)

Note: Unless specified otherwise, all the images used in this essay were generated through the use of the Wolfram Language.

Looking at a basic Cellular Automaton to see how they evolve:

In order to get a better understanding of how exactly Cellular Automata work, we will take a look at a simple Cellular Automaton: Rule 1. The ruleset is defined as shown in the image below:

Ruleset for Rule 1

If we take a look at the leftmost block within the ruleset, it indicates that if there is a set of three black cells, the cell in the next row will be white. Similarly, the second block tells us that if there are two black cells followed by a white cell, the cell in the next row will be a white cell.

Let us assume that we begin our cellular with a single black cell with two white cells on either side of it. Once we apply the ruleset to this arrangement, here is what we get:

This is because the sixth block in the ruleset stated that if we have one black cell between two white cells, the resultant cell in the next row must be white. When we apply the ruleset to this second row now, we get the third row:

Similarly, when we apply the same ruleset repeatedly 10 times, this is the structure we get:

Hopefully, this has helped you understand how Cellular Automata work. Now, we will analyse why these computational models are important.

Why are Cellular Automata Important?

On the face of it, Cellular Automata appear to be extremely simple and it is hard to think of any applications of such a computational model. For the most part, this is true. Most rulesets lead to the formation of generic patterns or structures that are “boring”. The ruleset we looked at in the example above (Rule 1) shows just that. Even if we take a look at the visual representations of the first 20 rules, each evolved for 50 stages, we see that none of them are particularly interesting:

Rules 1–5
Rules 6–10
Rules 11–15
Rules 16–20

While some of these patterns, like those in Rule 18 look quite “cool” since they form a sort of recursive nested structure, they are all regular patterns and are not of much interest to us since they are simple systems. Seeing this, most people would be inclined to think that cellular automata of this type can only generate simple patterns. This, however, is not the case.

There are certain rules that show a much more interesting behavior. We will now take a look at what is arguably the most famous of these “interesting” rulesets: Rule 30.

Rule 30

Rule 30 has a similar ruleset to the other Cellular Automata that we have looked at earlier:

The Ruleset for Rule 30

When we apply this ruleset to the similar single black square starting condition that we had applied to the previous Cellular Automata, we get the following structure after 50 evolutions:

The Rule 30 Cellular Automaton (50 evolutions)

While it might not be very apparent, a close inspection reveals something interesting about this particular rule. The left edge does appear to have some pattern to it, however in the central column, we struggle to see any patterns. We can generate the first 200 evolutions to see if this sustains:

The Rule 30 Cellular Automaton (200 evolutions)

Several people have tried a variety of methods to try and find patterns in the central column of Rule 30, however, all such attempts have been unsuccessful, i.e. the central column of rule 30 is, for all practical purposes, perfectly random.

The simulation of what can be considered to be an inherently complex system through the repeated use of a finite set of simple rules changes our perception of various phenomena that we have been trying to explain. In his famous book A New Kind of Science, Wolfram states:

“Over and over again, we will see the same kind of thing: that even though the underlying rules for a system are simple, and even though the system is started from simple initial conditions, the behavior that the system shows can nevertheless be highly complex. And I will argue that it is this basic phenomenon that is ultimately responsible for most of the complexity that we see in nature.”

This belief has manifested itself in many forms over the years, but perhaps Wolfram’s own interest in this phenomenon has emerged in the form of the Wolfram Physics Project. This project appears to be in accordance with Wolfram’s belief in the sheer power of computational thinking. The idea is that in theory, if we can simulate complex systems through arbitrary sets of simple rules, it is also possible that our entire universe is also governed by a simple ruleset. In this Computational Universe, the quest for the theory of everything has shifted from using mathematical equations as the means to model everything to using computational concepts to simulate universal phenomena. So far, it appears that this project has been largely successful with the accurate simulation of various phenomena known to be true through the use of such computational concepts.

A visual summary of the work done in the Wolfram Physics Project (Source: Wolfram Physics Project)

Conclusion

We can clearly see that Cellular Automata have a lot of applications in the real world despite what many consider to be their outwardly non-interesting appearance. While they have been used in the past for various purposes like modeling the growth of crystals (by Ulam), they have now found their place in the study of the fundamental theory of the universe, or, in this case, perhaps the fundamental rule of the universe.

Irrespective of whether or not this theory pans out, it is important to realize the potential of these simple computational systems so that we can try and find more innovative ways to use them to solve problems that we face today.

--

--