The Game of Life

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

This "Game of Life" captivated computer scientists, and has influenced many other computer programs like it, called cellular automata, as well as the awesome design of my banner by my boyfriend Nick.

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:

i-e1b24cd2e9e5fb6e2fc383700ad8b4b6-gameoflife-thumb-525x404-25403.png

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.

More like this

Todays entry isn't so much a pathological language itself as it is a delightful toy which can be used to *produce* pathological languages. I'm looking at Chris Pressey's wonderful language [ALPACA](http://catseye.mine.nu:8080/projects/alpaca/), which is a meta-language for describing different…
One of my fellow ScienceBloggers, [Karmen at Chaotic Utopia](http://scienceblogs.com/chaoticutopia/2006/11/puzzling_at_a_simpleminde…) pointed out a spectacularly stupid statement in [Casey Luskin's critique of Carl Zimmer][lutkin] (*another* fellow SBer) at the Discovery Institutes "Center for…
Over at [Dispatches][dispatches], Ed Brayton has been shredding my old friend Sal Cordova. Ed does a great job arguing that intelligent design is a PR campaign, and not a field of scientific research. Ed does a fine job with the argument; you should definitely click on over to take a look. But Sal…
Lately I've been giving a lot of thought to a question that I'm nearly constantly asked: "So...[long pause]...are you a physicist...[long pause]...or are you a computer scientist?" Like many theorists in quantum computing, a field perched between the two proud disciplines of physics and computer…

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).

By Paul R Wilson (not verified) on 01 May 2010 #permalink