Thursday, April 5, 2012

Games of Life

In 1970, a British Mathematician named John Conway created Life, not life in a Petri dish, life via spontaneous generation, or the like, but a simulation--easily programmed onto a computer--that he named "Life." The background of this creation is somewhat heavy, intellectually speaking. Conway's creation was a response to the work of another mathematician, John von Neumann, the founder of Game Theory and a key participant in the Manhattan Project.

It is--in my view--a great irony that someone so deeply involved with the creation of the most lethal weapons in history is also the originator of such a rich field of inquiry and the inspiration for models depicting life, in general.

What is of import here is von Neumann's theoretical construction of a machine fully capable of self-replication (those of you hearing Terminator theme music rising up in the background are actually on the right track). Conway, building on von Neumann's ideas, created a system for producing the same, a very simple system.

Briefly, this is Conway's "game of Life." Imagine a grid--like a sheet of graph paper--that is very, very large. That is the "world." Each square is a cell. When one is white it is "off," or "dead." When it is black--or any other color chosen--it is "on," or "alive" (quite obviously, the reverse configuration can be used: white=alive, black=dead). Below is a screen shot of a world at some moment in time:

The way it works is that initially, the world is seeded with some living cells (turned on, colored in black). Then the world goes forward in turns. Each turn, the rules of the game are applied to the world. There are exactly three rules, no more, no less:

  1. Survivals. Every living cell with two or three neighboring living cells survives for the next generation. 
  2. Deaths. Each  living cell with four or more neighbors dies (is removed) from overpopulation. Every  living cell with one neighbor or none dies from isolation. 
  3. Births. Each dead cell adjacent to exactly three neighbors--no more, no fewer--is a birth cell. It becomes a living cell.
Note that every cell in the world--which is infinite in the basic version--has exactly eight neighboring cells, vertically, horizontally, and diagonally. And the above rules are applied worldwide, each and every turn. There are some examples in the above article--from 1970--of how things evolve in the course of a few turns.

Some patterns are stable--like a four cell block--and go on forever, unchanging. Other patterns--like the "glider"--also live forever, but seem to move across the world. From Wikipedia:

The Wikipedia page has other examples of moving patterns, stable ones, and oscillating ones. And it shows some of the more complicated patterns, including those that actually produce life, like "glider guns" and "puffers." For those who would like to "play" the game of Life, this site has an excellent Java-based applet, which will allow you to seed an initial population if you choose, then watch what happens over time. Be sure to slow down the speed so you can better see what happens. It has pre-loaded patterns available, as well. Use the "open" button, choose "breeder," then hit "go" and watch what happens. Make sure the window is maximized, too.

All of this is, however, is just a scratch on the surface of Conway's game of Life. Patterns can actually be constructed that will spit out solutions to problems: the game, itself, is like a very large computer that can actually be programmed. For readers familiar with Douglas Adams' writings, the number 42 is probably in your mind, as you remember that--in The Hitchhiker's Guide to the Galaxy--the Earth is, itself, a computer created by aliens to answer the Ultimate Question.

In this respect, Conway's game has important implications in the field of artificial intelligence research; self-replication is the key, in this regard, as it points to the issue of self-realization in more ways than one. Douglas Hofstadter discusses these issues in his acclaimed work, Gödel, Escher, Bach: An Eternal Golden Braid. And indeed, it is here that I was first introduced to Conway's work (along with Gödel's).

And that brings us to Sugarscape. Building on Conway's work, Joshua M. Epstein and Robert Axtell developed the basic ideas behind an agent-based simulation and created a basic model--on computer--in that regard, sharing both in their book, Growing Artificial Societies: Social Science from the Bottom Up (Complex Adaptive Systems). That model and others built from the same basic premises are generally known as Sugarscapes, because--in the original version--agents in the "game" spend their time growing and harvesting sugar, the sole source of food in the simulated world.

Unlike in Conway's world of Life--where agents are cells that live or die, turn to turn--agents in Sugarscape have distinctive characteristics and move about the world in search of food. In more advanced versions, the character traits are individualized, there are multiple food sources, and agents can trade with each other. Like Conway's game, there is a distinct set of rules applied worldwide on each turn.

Different things happen, depending on the rules in use and the initial seeding, but in general the agents of Sugarscape tend to do one of three things: die, eke out a basic existence with a turn to turn search for food, or stockpile food and become "rich." Agents with enough food can also breed, thus increasing the world population, and all agents have limited lifespans (figured in a number of turns), food or no food.

Obviously, the goal is to simulate reality in a Sugarscape, to produce a model that can tell us something about ourselves, about the nature of life. And that means more and more complexity in the rules. Still, at the end of the day the agents in Sugarscape are following rules, not making choices. Nonetheless, the results of extended turn-play in Sugarscape seem to indicate something: that, no matter the rules, equality of outcome for agents seems impossible to achieve, except when that equality is worldwide death or survival at subsistence levels. Otherwise, a population at any given turn breaks down into economic levels, from very poor to very rich. Not surprisingly, larger growing populations have the clearest demarcations in this regard.

As in Conway's game, the algorithmic nature of Sugarscape means that while the future of a sufficiently complex seeding cannot be predicted with certainty, that future is limited to only certain possibilities. Very, very many ones, but not all that could be imagined; what we might think is infinite--the range of possible outcomes--is not infinite at all. There are some futures that just cannot be achieved, within the framework of the rules.

And therein lies the lesson of these games of life: the world cannot be reshaped by the hand of man into some sort of perfect or even near-perfect future. No amount of planning--however well-intentioned--will serve to produce a utopia, will create a world wherein equality of outcome is a certainty.

Cheers, all.


  1. The main difference here I see is that computer programmed On/Off cells (like Republicans) don't feel compassion for their fellow human beings the way normal humans do. :D

  2. LOL!

    Actually Ed, there have been attempts to factor in altruism, if I remember correctly.