Chemistry experiments might not seem to have much in common with electronic circuits, but scientists as the California Institute of Technology are using chemical reactions to perform arithmetic functions. More specifically, their chemical computations involve DNA: the building block of life and a hugely complicated molecule.
Professor Erik Winfree's work uses short single strands of DNA as data, and short double strands as processing elements. Further reporter molecules are used to communicate the result of the computation by fluorescing in various colours.
Unlike an electronic circuit, those processing elements don't have to be wired up somehow – if properly designed, their presence in the test tube is enough to ensure the correct operation of a logical function.
In one demonstration, Professor Winfree used a combination of 74 DNA molecules to create the six logic gates needed to calculate the square root of a four-bit binary number that was represented by another eight DNA molecules. This wasn't a quick calculation though, and took between six and 10 hours. According to Professor Winfree, this is about what you'd expect of a DNA hybridisation reaction.
So will it ever compete with electronic computers for speed? "Not in my lifetime," Professor Winfree told us, "I'd put money on it." Even so there are potential ways to increase the speed. "It would certainly be interesting to exploit massive parallelism in the future", he said, in a reference to earlier work by Professor Leonard Adleman of the University of Southern California.
Adleman's work, which involved the very first DNA computation, was designed to solve one particular problem. Called the Travelling Salesman Problem, it asks whether there's a route from one specified city to another, using scheduled flights, visiting a list of other cities once and once only en route.
The conventional solution involves trying out every possible permutation. The snag is that the processing time escalates rapidly with the number of cities so, for example, if you've managed to solve it for 49 cities and decide to attempt a solution for 50 cities, the processing time will immediately become 50 times longer. This is why it's considered a particularly difficult computational problem, and is exactly the reason Professor Adleman chose it for his demonstration of DNA computing.
Adleman's solution involved mixing together various DNA strands, some representing a connection between two cities and others the cities themselves, so they would react with each other to create various routes. Chemical reactions were then carried out to eliminate any that didn't meet the criteria, such as those that visited a city more than once. Any that remained were valid results.
What made the DNA solution so efficient is that in just a gram or so of chemicals, Adleman introduced trillions of molecules that reacted at the same time. This is a much greater degree of parallelism than even the fastest multi-processor supercomputers.
The DNA PC
Adleman's DNA computer might have offered massive parallelism, but in creating logic gates, Professor Winfree's solution is more flexible and doesn't exclude parallelism. As Winfree pointed out though, it's still far from being a general-purpose computer.
"A general purpose computer must be programmable and capable of carrying out programmed instructions, which in the molecular world, one might expect to be encoded on a piece of DNA. Our small DNA circuits are, well, just small circuits," he explained.
And while Professor Winfree was dismissive of our questions about applications, suggesting there's merit in pure scientific research, don't forget that mighty oaks from little acorns grow. Even so, it's probably a bit early to start stocking up on DNA cartridges for your molecular laptop just yet.