64,034 research outputs found
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
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
Collaborative Computation in Self-Organizing Particle Systems
Many forms of programmable matter have been proposed for various tasks. We
use an abstract model of self-organizing particle systems for programmable
matter which could be used for a variety of applications, including smart paint
and coating materials for engineering or programmable cells for medical uses.
Previous research using this model has focused on shape formation and other
spatial configuration problems (e.g., coating and compression). In this work we
study foundational computational tasks that exceed the capabilities of the
individual constant size memory of a particle, such as implementing a counter
and matrix-vector multiplication. These tasks represent new ways to use these
self-organizing systems, which, in conjunction with previous shape and
configuration work, make the systems useful for a wider variety of tasks. They
can also leverage the distributed and dynamic nature of the self-organizing
system to be more efficient and adaptable than on traditional linear computing
hardware. Finally, we demonstrate applications of similar types of computations
with self-organizing systems to image processing, with implementations of image
color transformation and edge detection algorithms
DNA Computing by Self-Assembly
Information and algorithms appear to be central to biological organization
and processes, from the storage and reproduction of genetic information to
the control of developmental processes to the sophisticated computations
performed by the nervous system. Much as human technology uses electronic
microprocessors to control electromechanical devices, biological
organisms use biochemical circuits to control molecular and chemical events.
The engineering and programming of biochemical circuits, in vivo and in
vitro, would transform industries that use chemical and nanostructured
materials. Although the construction of biochemical circuits has been
explored theoretically since the birth of molecular biology, our practical
experience with the capabilities and possible programming of biochemical
algorithms is still very young
- …