Since I’ve heard of Conway’s ‘Game of Life’ (now some 25 years ago) I was fascinated by it. The first version I had ran on my Amstrad CPC-128 (the 128 meaning 128kb memory, which was twice as much as the popular Commodore-64!). I typed in about one page of HEX-code (EF 3A 2C AA 86 ...) so that it ran optimised in machine code, and enjoyed the chaotic development of “Life’s” universe, when even based on a set of very simple rules:
The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, alive or dead. Every cell interacts with its eight neighbours, which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:
Any live cell with fewer than two live neighbours dies, as if caused by under-population.
Any live cell with two or three live neighbours lives on to the next generation.
Any live cell with more than three live neighbours dies, as if by overcrowding.
Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
Here an example from Wikipedia:
With every new computer I had, there once would come the day that I would look what the best implementation of the Game of Life was that would run at my faster computer with more memory than the previous.
Now that I am reading Dennett’s “Freedom Evolves”, which has one chapter dealing with the Game of Life, I thought that I could look it up again, seeing what the state of the art is nowadays. My start was Youtube (sometimes you find movies made with supercomputers), and I found a few fascinating videos:
For those who don’t know what the Droste effect is…
Now the fun of it: these example are all from a program that can run on your own computer. Not only the hardware has become faster, but also there has been a lot of improvement in algorithms to calculate generation after generation. This is the program: Golly. There are versions for Linux, Mac and even for Windows. Ubuntu users can take it from the Software Center. Golly comes with a lot of examples, you will find a lot of the constructs shown in the Youtube videos.
What makes ‘Life’ so interesting? Well, in the first place it is an absolute deterministic universe, but it shows chaotic behaviour. Secondly, there exists a mathematical proof that it is impossible to make absolute predictions in this universe, except than having a faster computer that runs from exactly the same initial conditions. (Of course you can make higher level predictions, but they will only work in constellations you already know exactly, and the only way to know them exactly is to already have them calculated once.) Thirdly, it was proven that it is possible to implement a universal Turing machine in Life’s Universe. So make the biggest jump here: as a universal Turing machine can simulate everything that is deterministic, in theory it would be possible to implement a simulation of billions of nerve cells. So Life’s universe would allow to create consciousness. (In my opinion the third video gives you some feeling for this possibility. It shows how you can simulate “Conway’s Game of Life” within “Conway’s Game of Life”)
Enjoy the video’s, if you want, install the program and play with it. Let me know your thoughts, reflections and speculations! It really is fascinating stuff!