8 research outputs found
Noncooperative algorithms in self-assembly
We show the first non-trivial positive algorithmic results (i.e. programs
whose output is larger than their size), in a model of self-assembly that has
so far resisted many attempts of formal analysis or programming: the planar
non-cooperative variant of Winfree's abstract Tile Assembly Model.
This model has been the center of several open problems and conjectures in
the last fifteen years, and the first fully general results on its
computational power were only proven recently (SODA 2014). These results, as
well as ours, exemplify the intricate connections between computation and
geometry that can occur in self-assembly.
In this model, tiles can stick to an existing assembly as soon as one of
their sides matches the existing assembly. This feature contrasts with the
general cooperative model, where it can be required that tiles match on
\emph{several} of their sides in order to bind.
In order to describe our algorithms, we also introduce a generalization of
regular expressions called Baggins expressions. Finally, we compare this model
to other automata-theoretic models.Comment: A few bug fixes and typo correction
Active Self-Assembly of Algorithmic Shapes and Patterns in Polylogarithmic Time
We describe a computational model for studying the complexity of
self-assembled structures with active molecular components. Our model captures
notions of growth and movement ubiquitous in biological systems. The model is
inspired by biology's fantastic ability to assemble biomolecules that form
systems with complicated structure and dynamics, from molecular motors that
walk on rigid tracks and proteins that dynamically alter the structure of the
cell during mitosis, to embryonic development where large-scale complicated
organisms efficiently grow from a single cell. Using this active self-assembly
model, we show how to efficiently self-assemble shapes and patterns from simple
monomers. For example, we show how to grow a line of monomers in time and
number of monomer states that is merely logarithmic in the length of the line.
Our main results show how to grow arbitrary connected two-dimensional
geometric shapes and patterns in expected time that is polylogarithmic in the
size of the shape, plus roughly the time required to run a Turing machine
deciding whether or not a given pixel is in the shape. We do this while keeping
the number of monomer types logarithmic in shape size, plus those monomers
required by the Kolmogorov complexity of the shape or pattern. This work thus
highlights the efficiency advantages of active self-assembly over passive
self-assembly and motivates experimental effort to construct general-purpose
active molecular self-assembly systems
Intrinsic universality in tile self-assembly requires cooperation
We prove a negative result on the power of a model of algorithmic
self-assembly for which it has been notoriously difficult to find general
techniques and results. Specifically, we prove that Winfree's abstract Tile
Assembly Model, when restricted to use noncooperative tile binding, is not
intrinsically universal. This stands in stark contrast to the recent result
that, via cooperative binding, the abstract Tile Assembly Model is indeed
intrinsically universal. Noncooperative self-assembly, also known as
"temperature 1", is where tiles bind to each other if they match on one or more
sides, whereas cooperative binding requires binding on multiple sides. Our
result shows that the change from single- to multi-sided binding qualitatively
improves the kinds of dynamics and behavior that these models of nanoscale
self-assembly are capable of. Our lower bound on simulation power holds in both
two and three dimensions; the latter being quite surprising given that
three-dimensional noncooperative tile assembly systems simulate Turing
machines. On the positive side, we exhibit a three-dimensional noncooperative
self-assembly tile set capable of simulating any two-dimensional noncooperative
self-assembly system.
Our negative result can be interpreted to mean that Turing universal
algorithmic behavior in self-assembly does not imply the ability to simulate
arbitrary algorithmic self-assembly processes.Comment: Added references. Improved presentation of definitions and proofs.
This article uses definitions from arXiv:1212.4756. arXiv admin note: text
overlap with arXiv:1006.2897 by other author
Parallel Computation Using Active Self-assembly
We study the computational complexity of the recently proposed nubots model of molecular-scale self-assembly. The model generalizes asynchronous cellular automaton to have non-local movement where large assemblies of molecules can be moved around, analogous to millions of molecular motors in animal muscle effecting the rapid movement of large arms and legs. We show that nubots is capable of simulating Boolean circuits of polylogarithmic depth and polynomial size, in only polylogarithmic expected time. In computational complexity terms, any problem from the complexity class NC is solved in polylogarithmic expected time on nubots that use a polynomial amount of workspace. Along the way, we give fast parallel algorithms for a number of problems including line growth, sorting, Boolean matrix multiplication and space-bounded Turing machine simulation, all using a constant number of nubot states (monomer types). Circuit depth is a well-studied notion of parallel time, and our result implies that nubots is a highly parallel model of computation in a formal sense. Thus, adding a movement primitive to an asynchronous non-deterministic cellular automation, as in nubots, drastically increases its parallel processing abilities