3,927 research outputs found
Self-Replicating Machines in Continuous Space with Virtual Physics
JohnnyVon is an implementation of self-replicating machines in
continuous two-dimensional space. Two types of particles drift
about in a virtual liquid. The particles are automata with
discrete internal states but continuous external relationships.
Their internal states are governed by finite state machines but
their external relationships are governed by a simulated physics
that includes Brownian motion, viscosity, and spring-like attractive
and repulsive forces. The particles can be assembled into patterns
that can encode arbitrary strings of bits. We demonstrate that, if
an arbitrary "seed" pattern is put in a "soup" of separate individual
particles, the pattern will replicate by assembling the individual
particles into copies of itself. We also show that, given sufficient
time, a soup of separate individual particles will eventually
spontaneously form self-replicating patterns. We discuss the implications
of JohnnyVon for research in nanotechnology, theoretical biology, and
artificial life
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
Intrinsic Universality in Self-Assembly
We show that the Tile Assembly Model exhibits a strong notion of universality
where the goal is to give a single tile assembly system that simulates the
behavior of any other tile assembly system. We give a tile assembly system that
is capable of simulating a very wide class of tile systems, including itself.
Specifically, we give a tile set that simulates the assembly of any tile
assembly system in a class of systems that we call \emph{locally consistent}:
each tile binds with exactly the strength needed to stay attached, and that
there are no glue mismatches between tiles in any produced assembly.
Our construction is reminiscent of the studies of \emph{intrinsic
universality} of cellular automata by Ollinger and others, in the sense that
our simulation of a tile system by a tile system represents each tile
in an assembly produced by by a block of tiles in , where
is a constant depending on but not on the size of the assembly
produces (which may in fact be infinite). Also, our construction improves on
earlier simulations of tile assembly systems by other tile assembly systems (in
particular, those of Soloveichik and Winfree, and of Demaine et al.) in that we
simulate the actual process of self-assembly, not just the end result, as in
Soloveichik and Winfree's construction, and we do not discriminate against
infinite structures. Both previous results simulate only temperature 1 systems,
whereas our construction simulates tile assembly systems operating at
temperature 2
Self-Replication and Self-Assembly for Manufacturing
It has been argued that a central objective of nanotechnology is to make
products inexpensively, and that self-replication is an effective approach
to very low-cost manufacturing. The research presented here is intended to
be a step towards this vision. We describe a computational simulation of
nanoscale machines floating in a virtual liquid. The machines can bond
together to form strands (chains) that self-replicate and self-assemble
into user-specified meshes. There are four types of machines and the
sequence of machine types in a strand determines the shape of the mesh
they will build. A strand may be in an unfolded state, in which the bonds
are straight, or in a folded state, in which the bond angles depend on the
types of machines. By choosing the sequence of machine types in a strand,
the user can specify a variety of polygonal shapes. A simulation typically
begins with an initial unfolded seed strand in a soup of unbonded machines.
The seed strand replicates by bonding with free machines in the soup. The
child strands fold into the encoded polygonal shape, and then the polygons
drift together and bond to form a mesh. We demonstrate that a variety of
polygonal meshes can be manufactured in the simulation, by simply changing
the sequence of machine types in the seed
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
On the Equivalence of Cellular Automata and the Tile Assembly Model
In this paper, we explore relationships between two models of systems which
are governed by only the local interactions of large collections of simple
components: cellular automata (CA) and the abstract Tile Assembly Model (aTAM).
While sharing several similarities, the models have fundamental differences,
most notably the dynamic nature of CA (in which every cell location is allowed
to change state an infinite number of times) versus the static nature of the
aTAM (in which tiles are static components that can never change or be removed
once they attach to a growing assembly). We work with 2-dimensional systems in
both models, and for our results we first define what it means for CA systems
to simulate aTAM systems, and then for aTAM systems to simulate CA systems. We
use notions of simulate which are similar to those used in the study of
intrinsic universality since they are in some sense strict, but also
intuitively natural notions of simulation. We then demonstrate a particular
nondeterministic CA which can be configured so that it can simulate any
arbitrary aTAM system, and finally an aTAM tile set which can be configured so
that it can be used to simulate any arbitrary nondeterministic CA system which
begins with a finite initial configuration.Comment: In Proceedings MCU 2013, arXiv:1309.104
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
Self-Replicating Strands that Self-Assemble into User-Specified Meshes
It has been argued that a central objective of nanotechnology is to make
products inexpensively, and that self-replication is an effective approach to
very low-cost manufacturing. The research presented here is intended to be a
step towards this vision. In previous work (JohnnyVon 1.0), we simulated
machines that bonded together to form self-replicating strands. There were two
types of machines (called types 0 and 1), which enabled strands to encode
arbitrary bit strings. However, the information encoded in the strands had no
functional role in the simulation. The information was replicated without being
interpreted, which was a significant limitation for potential manufacturing
applications. In the current work (JohnnyVon 2.0), the information in a strand
is interpreted as instructions for assembling a polygonal mesh. There are now
four types of machines and the information encoded in a strand determines how
it folds. A strand may be in an unfolded state, in which the bonds are straight
(although they flex slightly due to virtual forces acting on the machines), or
in a folded state, in which the bond angles depend on the types of machines. By
choosing the sequence of machine types in a strand, the user can specify a
variety of polygonal shapes. A simulation typically begins with an initial
unfolded seed strand in a soup of unbonded machines. The seed strand replicates
by bonding with free machines in the soup. The child strands fold into the
encoded polygonal shape, and then the polygons drift together and bond to form
a mesh. We demonstrate that a variety of polygonal meshes can be manufactured
in the simulation, by simply changing the sequence of machine types in the
seed
On the Computational Power of DNA Annealing and Ligation
In [20] it was shown that the DNA primitives of Separate,
Merge, and Amplify were not sufficiently powerful to invert
functions defined by circuits in linear time. Dan Boneh et
al [4] show that the addition of a ligation primitive, Append, provides the missing power. The question becomes, "How powerful is ligation? Are Separate, Merge, and Amplify
necessary at all?" This paper proposes to informally explore
the power of annealing and ligation for DNA computation.
We conclude, in fact, that annealing and ligation alone are
theoretically capable of universal computation
- …