Sturdy digital bugs capture Microsoft's attention
August 17, 1999
By Robin Lloyd
(CNN) -- Scientists have created digital bugs in an electronic petri dish that can go where no code has gone before -- the planet of robust software.
The bugs are really small pieces of computer code, given instructions to reproduce or get their equivalent of food or energy by moving through 'logic gates' and performing mathematical tasks.
In a test of Darwin's principle of natural selection, those that succeed are rewarded with more computer processing time, says Michigan State University research associate Charles Ofria, who helped develop the software called Avida.
The unexpected result of the study was that the 'bugs' evolved to become extremely stable, as shown in an animation released Tuesday. The images show various color-coded strains, which some of the researchers call 'life,' reproducing, competing, dying off or thriving.
"Typically, it really surprises me how things go," Ofria says. "Any little thing they can take advantage of, they do. Life evolves in such unexpected ways, it happens."
Microsoft provided Ofria's mentor, Chris Adami at Caltech and his colleague Richard Lenski of Michigan State University with $50,000 in seed money to steer the project toward the study the evolvability and robustness of computer languages.
"You can see why Microsoft is interested in robust languages because theirs is not," Adami said.
In contrast with the mad keystrokes of bewildered users and driven coders, DNA is highly robust -- extensive mutations generally fail to cause an organism to 'crash.' Now the Avida software has self-generated life, or a computer code, that is highly impervious to mutations.
The research was published in latest issue of Nature.
Microsoft impressed with research
Microsoft learned of Adami's work a few years back and was impressed. Dennis Adler, now on leave from his university relations job with Microsoft was intrigued by the initial results.
"Why can you randomly change instructions and these things tend to survive?" Adler said. "If you went in and did that with Excel, the results wouldn't be good."
Possible applications might include tougher operating systems, programming languages, applications and virtual machines. Still, no one yet knows how to get there from Adami and Ofria's work.
Avida runs as a virtual machine, with organisms thriving on numbers not chemicals. Programs that can read and manipulate numbers via 80 calculations made available to them are engineered to thrive.
A typical program runs for 5,000 to 20,000 generations -- taking only two to eight hours. In a lab, that experiment could take days and might not generate accurate or reliable results, Adami said.
As time goes on in any particular run, programs become longer and longer giving rise to mutations. But finite space forces competition for CPU time, allowing the comparison with laboratory experiments on actual bacteria.
Animation shows digital competition
Ofria produced the animation by assigning colors to small programs in Avida to illustrate the competition for processing time, says Ofria.
The animation starts off with a single organism at the center of the virtual petri dish, which quickly covers and fills it. As time goes on, new organisms erupt as mutations of the original code. The code with the computational advantage spreads and collides with the others.
"Each time you see color that is sweeping out quickly, that indicates there is a new genotype that came around," Ofria said.
Writing robust computer programs is nearly impossible, he said, but Avida has made the process of growing them easy. "We never tell them how to do these tasks," he said. "It all comes from scratch."
Automated parallel processing
The digital petri dish can be likened to a population or culture of programs that lives together and solves computational problems in parallel, in other words a massively parallel processor, Adami said.
But the scale is exceptionally massive compared to contemporary architecture, with the possiblity for as many as a million programs operating at once.
Standard architecture requires a schedule telling the processor the order of tasks. Avida is a self-scheduling parallel process, Adami said. So further work with the software could help developers learn how to write such a program, he said.
Aliens, fruit flies and fungi
The article compares the digital petri dish with the results of mutations to E. Coli, bacteria that live in the colon and are used widely for genetic experiments. The digital dish provided far more accurate results than the laboratory and can answer certain biology questions that are out of reach either practically or ethically.
Adami says the software can be pushed to its limits to study how the network of bugs "heals itself," something that offends those worried about pushing even rare types of fruit flies or fungi to the point of extinction.
Lenski at the Michigan State University sees the approach as a tool that can complement, not replace, traditional studies of bacterial competition in the laboratory.
The research also points to clues for the ground rules of extraterrestrial life, Adami said.
"What we have here is some alien life because it has nothing to do with biochemical life," Adami says.
According to Adami, life beyond our solar system may not be based on DNA, which can be thought of as a set of coding instructions for terrestrial life. Instead, that life could be based on the universal language of mathematics.
"The idea is you don't need certain chemicals to make life. You just need certain processes," he said. "And these processes live on the hard drive."
Taking parallel processing to a new level
|Back to the top||
© 2001 Cable News Network. All Rights Reserved.|
Terms under which this service is provided to you.
Read our privacy guidelines.