The first time Tom Ray released his tiny hand-made creature into his computer, it reproduced rapidly until hundreds of copies occupied the available memory space. Ray’s creature was an experimental computer virus of sorts; it wasn’t dangerous because the bugs couldn’t replicate outside his computer. The idea was to see what would happen if they had to compete against each other in a confined world. Ray cleverly devised his universe so that out of the thousands of clones from the first ancestral virus, about ten percent replicated with small variations. The initial creature was an “80” — so named because it had 80 bytes of code. A number of 80s “flipped a bit” at random and became creatures 79 or 81 bytes long. Some of these new mutant viruses soon took over Ray’s virtual world. In turn, they mutated into further varieties. Creature 80 was nearly overwhelmed to the point of extinction by the mushrooming ranks of new “organisms.” But the 80s never completely died, and long after the new arrivals 79, 51, and 45 emerged and peaked in population, the 80s rebounded
“Ecology lacked good theories to generalize the wealth of observations piling up from every patch of wilderness” Ecology needed a science of complexity that addressed the riddles of form, history, development — all the really interesting questions — yet was supported by field data.
About this time in 1989, the news magazines were chock-full of cover stories pronouncing computer viruses worse than the plague and as evil as technology could get. Yet Ray saw in the simple codes of computer viruses the beginnings of a new science: experimental evolution and ecology.
Ray seeded his world (which he called “Tierra”) with a single creature he programmed by hand — the 80-byte creature — inserted into a block of RAM in his virtual computer. The 80 creature reproduced by finding an empty RAM block 80 bytes big and then filling it with a copy of itself. Within minutes the RAM was saturated with copies of 80.
“…his program occasionally scrambled the digital bits during copying, and he assigned his creatures a priority tag for an executioner. In short he introduced variation and death.”
“…But because his creature programs would run in his shadow computer, whenever a mutation would birth a creature that was seriously broken, his executioner program — he named it “the Reaper” — would kill it while the rest of his Tierra world kept running. In essence, Tierra spotted the buggy programs that couldn’t reproduce and yanked them out of the virtual computer.”
“And just to keep the pot boiling, Ray also assigned creatures an age stamp so that older creatures would die. “The Reaper kills either the oldest creature or the most screwed-up creature,” Ray says with a smile.”
“The competition rewarded creatures of smaller size since they needed less cycles, and in Darwinian ruthlessness, terminated the greedy consumers, the infirm, and the old. Creature 79 (one byte smaller than 80) was lucky. It worked productively and soon outpaced the 80s.”
“On close examination of 45’s code, Ray was amazed to discover that it was a parasite. It contained only a part of the code it needed to survive. In order to reproduce, it “borrowed” the reproductive section from the code of an 80 and copied itself. As long as there were enough 80 hosts around, the 45s thrived. But if there were too many 45s in the limited world, there wouldn’t be enough 80s to supply copy resources. As the 80s waned, so did the 45s. The pair danced the classic coevolutionary tango, back and forth endlessly, just like populations of foxes and rabbits in the north woods.”
“It seems to be a universal property of life that all successful systems attract parasites,” Ray reminds me. In nature parasites are so common that hosts soon coevolve immunity to them. Then eventually the parasites coevolve strategies to circumvent that immunity. And eventually the hosts coevolve defenses to repel them again. In reality, these actions are not alternating steps but two constant forces pressing against one another. ”
“Because creatures consume computer cycles, there is an advantage to smaller (shorter sets of instructions) creatures. Ray reprogrammed Tierra’s code so the system assigned computer resources to creatures in proportion to their size; large ones getting more cycles. In this mode, Ray’s creatures inhabited a size-neutral world, which seemed more suited for long runs since it wasn’t biased to either the small or large. Once Ray ran a size-neutral world for 15 billion cycles of his computer. Somewhere around 11 billion cycles, a diabolically clever 36 creature evolved. It calculated its true size, then behind its back so to speak, shifted all the bits in the measurement to the left one bit, which in binary code is equal to doubling the number. So by lying about its size, creature 36 sneakily garnered the resources of a 72 creature, which meant that it got twice the usual CPU time. Naturally this mutation swept through the system. Perhaps the most astounding thing about Tom Ray’s electrically powered evolution machine is that it created sex.”
“In real natural life, sex is a much more important source of variation than mutations.”
“Interrupted sex had happened all the time in his soup, but only when Ray turned off his “flip-a-bit” mutator did he notice its results. It turned out that inadvertent recombination alone was enough to fuel evolution. There was sufficient irregularity in the moment of death, and where creatures lived in RAM, that this complexity furnished the variety that evolution required. In one sense, the system evolved variation.”
“However Ray feels strongly that messy evolution should happen away from the job. “You want to divorce evolution from the end user,” he says. He imagines “digital husbandry” happening offline in back rooms, so to speak, so that the common failures necessary for evolution are never seen by its customer. Before an evolving application is turned over to an end user, it is “neutered” so that it can’t evolve while in use.”
“Today you can buy a spreadsheet module that does something similar in software. It’s called, naturally enough, “Evolver.” Evolver is a template for spreadsheets on the Macintosh — very complicated spreadsheets spilling over with hundreds of variables and “what-if” functions. Engineers and database specialists use it.”
Tom Ray “Tierra” can be found here