Imagine 100 squares arranged in a 10 x 10 grid like this:
Each square can change color from white to red, depending on a rule it shares with the other squares. In using this rule, each square can use 2 pieces of information:
- Its color
- The number of adjacent squares that are red or white
Each square repeats this rule indefinitely, and each square updates simultaneously — it doesn’t wait for any other square to finish updating before it does.
So with these restrictions, what results would we get?
Let’s start with a very simple rule:
Reverse your color
The grid would flash white and red indefinitely. Here are some still frames of the results:
Not very interesting or surprising. But what if the rule is:
Turn red if an even number of adjacent squares are red; otherwise turn white
Then we’d get a flashing mosaic of highly organized patterns (that eventually repeat). Here are the still frames:
What’s interesting is the patterns show GLOBAL order; they make sense when viewed as a whole, yet there was no global authority creating the pattern, just a series of squares operating independently with only local information. Yet from this local information, global order emerged.
In a sense, this is no mystery. Even though each square only has access to adjacent squares, those adjacent squares have access to adjacent squares, and so on. So information does propagate, although it gets processed every step of the way. Yet the results are still surprising because there’s no explicit coding for global order. It just emerges. It’s self-organization.
Seeing this in action — even on a very simplified case — suggests an explanation for much of the order seen in the real world. For instance, do social groups self organize? What about biological organisms or their components? Crystals? Other physical processes?
This even raises questions about the nature of intelligence. It’s easy to think of intelligence as a global entity, but could intelligence reside in “the whole system” much as the order reside in the whole grid (squares + propagation + rule + initial state)? What is the whole system in the case of intelligence? The whole body? The person and culture? Once again, I think of Searle’s Chinese Room thought experiment. Is intelligence in the entire set-up of this room?
Let’s keep the same update rule, but vary the initial state. What if we start off with a random red square? Here are the frames:
A small change in initial conditions can lead to dramatic changes in the results. Chaos Theory.
Order in the initial conditions implies order in the results. For instance, if a pattern exists in the initial conditions (such as a square of 4 red squares), you get:
Even the symmetry seems to be related to the symmetry of the initial state. For instance, start with an orderly initial state that exhibits diagonal symmetry and the patterns you get also appear to be diagonally symmetrical:
We could go on forever. Change the size of the grid and the patterns change. Change the update rule and the patterns change.
But don’t take my word for it — try it out yourself! Don’t worry about all the code — just focus on the lower right hand panel.
So we talked about Emergence and mentioned Chaos. But the medium upon which we explored this — the squares and the update rules are an instance of a class of structures called Cellular Automata. They’ve been used to study computation, traffic jams, generate music and may even form a basis for learning and games — topics I’ve been exploring and may blog in the future.
Cellular Automata can vary dramatically. They can have any number of dimensions, more than one state, be non-deterministic and so on.
Update rules can be as involved as you like. For instance, a very popular Cellular Automaton is the Game of Life and it has a more complex update rule:
- Any red cell with fewer than two red neighbors turns white.
- Any red cell with two or three red neighbors stays red.
- Any red cell with more than three red neighbors turns white.
- Any white cell with exactly three red neighbors turns red.
This leads to surprisingly complex scenarios, and people have experimented with different initial states and documented the results. There’s documentation on a whole category of patterns, properties and interactions in this system, and people have actually built functioning computers in this system!