
IF YOU found a self-replicating organism living inside your computer, your first instinct might be to reach for the antivirus software. If, however, you are Andrew Wade, an avid player in the two-dimensional, mathematical universe known as the , such a discovery is nothing short of an epiphany.
When Wade on 18 May, it sparked a wave of excitement. āThis is truly ground-breaking work,ā wrote , on the website Game of Life News. āIn fact, this is arguably the single most impressive and important pattern ever devised.ā
A first for the game, the replicator demonstrates how astounding complexity can arise from simple beginnings and processes ā an echo of lifeās origins, perhaps. It might help us understand how life on Earth began, or even inspire strategies to build tiny computers.
Advertisement
The Game of Life is the best-known example of a cellular automaton, in which patterns form and evolve on a grid according to a few simple rules. You play the game by choosing an initial pattern of āliveā cells, and then watch as the configuration changes over many generations as the rules are applied over and over again (see āTake two simple rulesā).
The rules of the game were laid down by mathematician John Conway in 1970, but cellular automata first took off in the 1940s when the late mathematician John von Neumann suggested using them to demonstrate self-replication in nature. This lent philosophical undertones to Life, which ended up attracting a cult following.
Life enthusiasts have since catalogued an entire zoo of interesting patterns, such as āspaceshipsā that travel across the grid, or āgunsā, which constantly spawn other patterns. But a pattern that spawned an identical copy of itself proved elusive.
A programmer living in Toronto, Canada, Wade first dabbled with Life during the 1990s but eventually lost interest and moved on. It wasnāt until 2009 that he began to experiment anew, spurred on by discoveries in the previous decade.
One such discovery was the universal constructor, a pattern of cells that can be programmed to spit out a variety of others in subsequent generations. In an effort to create a replicator, Life enthusiasts had tried connecting this constructor to a second pattern known as a ācomputerā because it is capable of arithmetic. But the result ran too slowly to be of any practical use.
Wadeās breakthrough came after his real-life child was born. The duties of fatherhood limited the time he could spend playing the game, so he replaced the ācomputerā with a much simpler pattern called an āinstruction tapeā, made up of smaller patterns known as āglidersā. By placing these at precise intervals, he created a program that feeds into the constructor and dictates its actions, much like the punched rolls of tape once used to control the first computers.
This proved a smart move. āI wanted to see it working as soon as possible,ā he says. āI stripped out as much as I could, which cut out leads that could have taken me a long time to pursue.ā
Dubbed Gemini, his creature is made of two sets of identical structures, which sit at either end of the instruction tape. Each is a fraction of the size of the tapeās length but, made up of two constructor arms and one ādestructorā, plays a key role. Geminiās initial state contains three of these structures, plus a fourth that is incomplete.
As the simulation progresses the incomplete structure begins to grow, while the structure at the start of the tape is demolished. The original Gemini continues to disassemble as the new one emerges until after nearly 34 million generations, new life is born (see diagram).
The āoffspringā is identical to its parent, but it has shifted up and slightly to the left ā another first for Life: every other known pattern moves along one of the eight compass points, but Gemini travels across the grid in a north by north-west direction.
As a result of this, and the ability to program universal constructors using simple tape, Gemini has reinvigorated Life. Players are now looking forward to creating ever more novel and complex patterns. āAnother milestone might be a self-replicating pattern that creates increasing copies of itself, or a space-filling replicator that can make multiple copies to eventually fill an arbitrarily large area of the Life plane,ā says Dave Greene, who helped create the universal constructor Wade used.
Simple complexity
Geminiās implications extend to the real world. āThereās a fascination with the complexity that is coming out of these incredibly simple rules,ā says , a computer scientist at the University of York, UK, who ran Gemini inside Life, at Āé¶¹“«Ć½ās behest. āEventually that leads on to biology, putting simple atoms together to make complex life.ā
Because Wadeās replicator copies itself piece by piece, it is analogous to a photocopier rather than a living cell, she says. But it still has implications for understanding life. āThe fact that itās doing it differently from biology is in itself interesting, because it shows there are multiple ways of solving the same problem. Itās a very impressive technical achievement.ā
āItās doing it differently from biology, showing there are multiple ways of solving the same problemā
Stephen Wolfram, famous for championing cellular automata as a replacement for scientific equations, disputes Geminiās relevance to living cells. He says that feeding a program to a universal constructor merely to create a self-replicating creature ā Wadeās approach, and Von Neumannās original suggestion ā is overkill. He points to a much simpler example, a one-dimensional cellular automaton known as ārule 90ā that will duplicate any starting line of cells after a certain number of steps.
Rather than contributing to our understanding of life, Wolfram says Wadeās discovery could help devise ways to build a molecular-scale computer, starting from tiny components like the cells in Life. āThis discovery is helping us understand the world of constructing things from dumb components,ā he says.
Whatever role Gemini ends up playing in the wider world of science, Stepney stresses the importance of those like Wade who experiment with Life in their spare time. āPeople are making real contributions to the subject through their interest.ā
Take two simple rulesā¦
The Game of Life, created in the 1970s by mathematician John Conway has garnered a cult following. It consists of an infinite grid of square cells that can either be live or dead. It might not sound like much but such humble beginnings can give rise to a zoo of astoundingly complex patterns and processes, which now include self-replicating organisms (see main story).
How is this possible? As a player you only get one move: choosing an initial pattern of live cells. After that, you sit back, relax and watch as your pattern evolves, according to two simple rules.
1. Any live cell with two or three live neighbours continues to live, but those with less than two or more than three die.
2. Any dead cell with exactly three live neighbours springs to life.
These ābirthsā and ādeathsā happen simultaneously, forming a new generation of the original pattern. Then the rules are applied again to produce the next generation.
See Gemini in action
You can run Gemini on your own computer: just follow these simple instructions.
First, install Golly, a Game of Life simulator, by downloading and unzipping from SourceForge. This will give you a folder called golly-2.1-win, which contains a number of sub-folders.
Next, get a copy of Gemini by downloading and unzipping from Google Docs. Save the resulting file, which is called gemini.rle, inside the golly-2.1-win/Patterns sub-folder.
Now double-click āGollyā in the golly-2.1-win folder to start the software. The program icon should be a yellow square with patterns of blue dots on it.
Go to File/Open Pattern and select the Gemini file. You should end up with a white diagonal line, going from top-left to bottom-right, on a black background.
Youāll need to choose an algorithm with which to run the Game of Life. Simply go to Control/Set Algorithm and choose āHashLifeā.
Next, set the speed at which the simulation will run. To do this, press the ā+ā key four times. In the blue bar at the top, you should see āStep = 8^0ā change to āStep = 8^4ā.
Now youāre all set: just click the play button in the top-left corner to start the simulation.
If you hover your mouse over the top-left corner of the screen, Golly will give you controls allowing you to zoom in and out, and to move around. All the interesting stuff is at the top-left and bottom-right of the white diagonal line, and youāll need to zoom in a few steps.