Topography of Universe 3/03
This last weekend I added a section to my DigTrig math demos on Cellular Automaton. The most famous example of the topic is Conway's Game of Life (invented in the 1970's, but really exploded with computer simulations). I can't tell you how many hours were spent creating random Tetris-like shapes to see if I created a new life form, or if it would die out in extinction. I set out to create my own simulation, but I added the twist of being able to control the rules of the Universe. The original rule set for Conway's Game of Life was known as "23/3"... in the Life/Birth notation... meaning a unit that currently is alive and has 2 or 3 live neighbors will stay alive, and an empty unit that has 3 live neighbors will come to life, while all else dies. This simple rule set turns out to provide a huge variety of "life forms" and creates very interesting behaviors that look very viral-like. My demo allows you to set the rules to every combination possible (2^18 different combinations possible) and test out other "universes" with different laws.
One that I have become incredibly fond of is rule set 3/03 that begins with an empty field. Because of the '0' birth rule, the first iteration is a field of solid units. Because of the '3' life setting, at iteration 2, only those with 3 living neighbors survive, which just happen to be those 4 in the corners. The field then explodes in a variety of snowflake patterns that seem to never end.
Why am I so fascinated with 3/03? It is simplicity and complexity at its finest. The rule set itself has symbolic representations to the notion of the Big Bang (the idea of something being born of nothing) and within Numerology the number 3 has very powerful meaning symbolic of Birth, Life and Death. Throughout history, the triangle has been the symbol of divine connection and earthly formation. The patterns that express themselves in the field I created, a 20x20 grid, are perfectly symmetrical in all directions... horizontally, vertically and diagonally... a snowflake cut from paper that has been folded 3 times. It is simply elegant.
Given the pattern is symmetrical in such manner, you can easily calculate the total possible number of unique configurations. There is a small triangle of unique bits that make up the symmetry, which on a 20x20 grid means it has 55 unique bits to any design (the diagonal triangular half of one of the four quadrants). That means, given a state of alive or dead per unit, there are 2^55 possible configurations that can possibly exist... or 36,028,797,018,963,968... or a little over 36 quadrillion.
But, are there really 36 quadrillion states? Given the very confined field that these three simple laws must exist in, I would imagine there is a much smaller combination of possible states that, at some point, loop and repeat. I doubt it loops back to it's initial state of being empty or being completely filled, but rather after a given number of stages it hits one combination that is destined to be repeated. It has to at some point in time... what would it do at iteration 36,028,797,018,963,969? If allowed to continue on, at some point it has to duplicate itself... and by the nature of the rules that govern the universe, would then exactly duplicate the previous series of iterations from then on. You can think of it like a noose at the end of a rope... a bit of rope, then a knot that causes a loop in the rope. My interest in 3/03 is how many unique iterations will there be before hitting that knot, and how long of a loop will it be after that knot? I would like to map out the entire sequence of existence for a universe of 3/03, starting with an empty void. I'm hoping it is far less than 36 quadrillion states... otherwise this might take awhile. ;)
I have adjusted my demo to log the pattern (converting the grid's state into a hexadecimal string representing the 400 bits of information) and created a Ruby script that parses my log file to find that match, and log which iteration is that magic knot. By logging an exact representation, I also have the ability to duplicated any one of it's iterations... or create a PNG of every state. It would make a really fascinating art piece to see a series of small thumbnails of every state, a noose-shaped universe hanging on a wall.
However, my hopes for a gallery hanging have been smashed by my current count. As of the writing of this, I have now logged 17,000 iterations for 3/03... with no duplicates yet. I will continue to log each iteration and hopefully at some point in the future will have defined the topography of universe 3/03. The following is iteration 10,000:
