There are three major scientific mysteries of the natural world:(paraphrased from John Hopfield's lectures on collective computation)
- How can life arise from a mixture of inert molecules?
- How does the body develop from a single cell?
- How does the mind arise from a collection of simple neurons?
Is there any substance to this metaphor relating algorithms and the mechanics of life? Molecular biology has been painstakingly elucidating the inner workings of the cell, and systems biology is beginning to explore how cellular decisions and signal processing occurs in particular biological systems. In contrast, over the past decades artificial life researchers have explored the space of possible "living" systems, most often using abstract computer-simulated models. The connection would be stronger and more insightful if we could explore algorithms implemented using the same molecules and biochemistry that occur in biological organisms. But whereas we have a rich and solid understanding of algorithms in the pristine worlds of mathematics and computer science, there are relatively few models of computation based on realistic molecular biochemistry -- and even fewer implementations. This state of affairs limits our ability to coherently apply algorithmic concepts to the major scientific mysteries of the natural world.
Research in the DNA and Natural Algorithms Group is dedicated to understanding biomolecular computation, primarily using a synthetic approach. That is, rather than examining in detail what occurs in nature (biological organisms), we take the engineering approach of asking, "what can we build?" As is the case in computer science, the answer we are seeking comes not in the form of a list, but rather in the form of a programming language and a compiler: a set of logical primitives and methods for combining them into systems that describe dynamical behavior, and a means to implement the systems using real molecules. Furthermore, by formalizing specific types of biomolecular computation, we can ask and answer questions of the fundamental limits of computation in these systems.
As has been the case with silicon-based electronic computers, it can be advantageous to restrict oneself to a very simple set of primitives, and to ignore the many more subtle, more sophisticated possibilities that exist. Therefore, we focus our attention almost exclusively on DNA. Work by Ned Seeman on DNA nanotechnology, by Len Adleman on DNA-based computing, by Bernie Yurke on DNA nanomachines, and by many others, has established the remarkable fact that DNA is capable of and can be rationally designed to perform a wide variety of tasks, including serving as geometrical structures, processing information, and acting as molecular switches, catalysts, and motors. These are our building blocks; are they sufficient for constructing arbitrarily complex and sophisticated molecular machines?
Our expectations are modest for the near future. Current experimental
research illustrates the pitfalls of trying to design computers built from
DNA. See our Research Agenda
for some insight into our current plans and what we consider to be important
problems to solve; see our Research
Publications for information on what we have done so far.
Erik Winfree, 7/28/01