Algorithmic Self-Assembly and Biomolecular Computing
We utilize computational theory and complexity theory to develop and study abstract, mathematical models of self-assembling systems. We focus largely on algorithmic self-assembly, in which systems and components are designed so that they autonomously follow designated algorithms as they form structures. We also develop and study more concrete models of systems based on components composed of synthetic DNA molecules. Such systems have been shown to be capable of algorithmic self-assembly and general computation, and we seek to simulate and study these systems with software simulators and to implement them in the laboratory.