Using Computation to Drive the Self-Assembly of Complex Structures
Abstract: Self-assembly is a process by which an unorganized collection of components autonomously combines to form a structure. Examples of self-assembling systems are widespread in nature (e.g. the formation of crystals such as snowflakes, as well as numerous biological structures), and relatively recent advances in the manufacturing and manipulation of molecules such as DNA have allowed for the creation of artificial self-assembling systems at the nanoscale. In order to increase the complexity of artificially self-assembled structures, researchers have devised methods for incorporating algorithmic behaviors into these systems. Such so-called ``algorithmic self-assembly'' has led to both experimental systems that self-assemble following prescribed algorithms, and to theoretical explorations of their mathematical powers and limitations. In this talk, I will provide introductions to algorithmic self-assembly, a mathematical model of tile-based self-assembling systems, basic computational theory and tools, and results that demonstrate connections between them. The goal will be to introduce this newly developing, interdisciplinary research area to a wide audience, and to initiate conversations which may yield brand new interconnections.