What does it mean to create life in a computer? In 1970, John Conway built a simple computer game where a user decides which boxes in a grid are populated and then hits start, letting the computer "evolve" depending on the initial conditions. Each "cell" of the grid can be "alive" or "dead" and has eight neighbors that determine its survival into the next "generation". The rules are pretty simple:
- If a live cell has fewer than two (underpopulation) or more than three (overpopulation) live neighbors, it will die
- if a dead cell has three live neighbors, it will come to life
- and if a live cell has two or three live neighbors it will survive
I'll use my banner to show you a little bit of how the program evolves over multiple generations. Most initial conditions lead to a total breakdown of the shape into a chaotic jumble:
There are also some initial conditions that end up making beautiful patterns that float across the screen or oscillators that cycle back through to their original conditions after a few generations, like these ones from the wikipedia page:
There are hundreds of other patters that people have discovered, all archived and described in detail in the LifeWiki, but you can also play around with the game and make your own patterns here, or even program your own using the python script over at Science After Sunclipse.
Computer programs like the Game of Life that use ideas and principles from biology--genetic algorithms, neural networks and machine learning--are fascinating and represent an interesting parallel to synthetic biology. While synthetic biologists try to make living systems more like designed systems and specifically electronic systems, many computer scientists and engineers are trying to make designed systems more like living systems, more evolvable, adaptable, and robust.
The really interesting thing about the Game of Life is how the game Turing complete. Thus, a game with very simple rules ends up able to mimic any algorithmic procedure we can conceive of.
I was not helped by Paul Callahan's shutting down his 3 websites. There is just so much I can do zooming up the pics on the home page of one. It USED to have links to applets, but now all I get is "no button" and blank boxes with x's in the upper left corner. Zooming up a pic blurs the focus.
I am also limited by the size of my graph paper. Some oscillators are just too huge and complex for me to graph properly. I constantly foul the pattern.(Herschel loops -except the 256g glider gun- are just too huge).