Molecular computing is an emerging field to which chemistry, biophysics, molecular biology, electronic engineering, solid state physics and computer science contribute to a large extent. It involves the encoding, manipulation and retrieval of information at a macromolecular level in contrast to the current techniques, which accomplish the above functions via IC miniaturization of bulk devices. The biological systems have unique abilities such as pattern recognition, learning, self-assembly and self-reproduction as well as high speed and parallel information processing. The aim of this article is to exploit these characteristics to build computing systems, which have many advantages over their inorganic (Si,Ge) counterparts.
DNA computing began in 1994 when Leonard Adleman proved thatDNA computing was possible by finding a solution to a real- problem, a Hamiltonian Path Problem, known to us as the Traveling Salesman Problem,with a molecular computer. In theoretical terms, some scientists say the actual beginnings of DNA computation should be attributed to Charles Bennett's work. Adleman, now considered the father of DNA computing, is a professor at the University of Southern California and spawned the field with his paper, "Molecular Computation of Solutions of Combinatorial Problems." Since then, Adleman has demonstrated how the massive parallelism of a trillion DNA strands can simultaneously attack different aspects of a computation to crack even the toughest combinatorial problems.
Adleman's Traveling Salesman Problem:
The objective is to find a path from start to end going through all the points only once. This problem is difficult for conventional computers to solve because it is a "non-deterministic polynomial time problem" . These problems, when they involve large numbers, are intractable with conventional computers, but can be solved using massively parallel computers like DNA computers. The Hamiltonian Path problem was chosen by Adleman because it is known problem.
The following algorithm solves the Hamiltonian Path problem:
1.Generate random paths through the graph.
2.Keep only those paths that begin with the start city (A) and conclude with the end city (G).
3.If the graph has n cities, keep only those paths with n cities. (n=7)
4.Keep only those paths that enter all cities at least once.
5.Any remaining paths are solutions.
The key was using DNA to perform the five steps in the above algorithm. Adleman's first step was to synthesize DNA strands of known sequences, each strand 20 nucleotides long. He represented each of the six vertices of the path by a separate strand, and further represented each edge between two consecutive vertices, such as 1 to 2, by a DNA strand which consisted of the last ten nucleotides of the strand representing vertex 1 plus the first 10 nucleotides of the vertex 2 strand. Then, through the sheer amount of DNA molecules (3x1013 copies for each edge in this experiment!) joining together in all possible combinations, many random paths were generated. Adleman used well-established techniques of molecular biology to weed out the Hamiltonian path, the one that entered all vertices, starting at one and ending at six. After generating the numerous random paths in the first step, he used polymerase chain reaction (PCR) to amplify and keep only the paths that began on vertex 1 and ended at vertex 6. The next two steps kept only those strands that passed through six vertices, entering each vertex at least once. At this point, any paths that remained would code for a Hamiltonian path, thus solving the problem.
Where is the work being done? What is the future?
The year 2000 has brought a renewed interest in Bio-molecular computing, and money from the National Science Foundation and U.S. Military has followed. The most logical applications will be in Biology, Chemistry, Medicine, and the Military where scientists deal with enormous amounts of data. There has been an amazing growth of knowledge about how to compute with molecules and a wealth of theoretical models with steadily accumulating laboratory experience, all of which serve to present more challenges than solutions.
Researchers from Stanford and Princeton Universities, Richard J. Lipton, a computer-science professor at Princeton University, Daniel Boneh, an assistant professor of computer science at Stanford University, and Christopher T. Dunworth, a computer-science doctoral student at Princeton, have outlined a way for a DNA computer to crack messages coded with the U.S. government's own Data Encryption Standard, which is used to protect a wide range of data, including telephone conversations on classified topics and data transmissions between banks and the Federal Reserve.
When a message is encrypted according to the standard, the coding relies on one of 72 quadrillion "keys," or encoding instructions. A message coded in this way is hard to crack, because there is no way to know which specific key was used. Testing all possible keys on an electronic computer would take an enormous amount of time, but a DNA computer could test all of the keys at the same time, find the right one, and pass it to a human code-breaker for use in translating the message. A highly automated version of a DNA computer might be able to produce the answer in as little as two hours.