The program-size complexity of self-assembled squares (extended abstract)
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Running time and program size for self-assembled squares
STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
Complexities for generalized models of self-assembly
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Complexity of Self-Assembled Shapes
SIAM Journal on Computing
How crystals that sense and respond to their environments could evolve
Natural Computing: an international journal
Complexity of compact proofreading for self-assembled patterns
DNA'05 Proceedings of the 11th international conference on DNA Computing
Self-replication and evolution of DNA crystals
ECAL'05 Proceedings of the 8th European conference on Advances in Artificial Life
Error free self-assembly using error prone tiles
DNA'04 Proceedings of the 10th international conference on DNA computing
Compact error-resilient computational DNA tiling assemblies
DNA'04 Proceedings of the 10th international conference on DNA computing
Programmable control of nucleation for algorithmic self-assembly
DNA'04 Proceedings of the 10th international conference on DNA computing
Precise Simulation Model for DNA Tile Self-Assembly
IEEE Transactions on Nanotechnology
Hi-index | 0.00 |
Algorithmic self-assembly, a generalization of crystal growth processes, has been proposed as a mechanism for autonomous DNA computation and for bottom-up fabrication of complex nanostructures. A “program” for growing a desired structure consists of a set of molecular “tiles” designed to have specific binding interactions. A key challenge to making algorithmic self-assembly practical is designing tile set programs that make assembly robust to errors that occur during initiation and growth. One method for the controlled initiation of assembly, often seen in biology, is the use of a seed or catalyst molecule that reduces an otherwise large kinetic barrier to nucleation. Here we show how to program algorithmic self-assembly similarly, such that seeded assembly proceeds quickly but there is an arbitrarily large kinetic barrier to unseeded growth. We demonstrate this technique by introducing a family of tile sets for which we rigorously prove that, under the right physical conditions, linearly increasing the size of the tile set exponentially reduces the rate of spurious nucleation. Simulations of these “zig-zag” tile sets suggest that under plausible experimental conditions, it is possible to grow large seeded crystals in just a few hours such that less than 1 percent of crystals are spuriously nucleated. Simulation results also suggest that zig-zag tile sets could be used for detection of single DNA strands. Together with prior work showing that tile sets can be made robust to errors during properly initiated growth, this work demonstrates that growth of objects via algorithmic self-assembly can proceed both efficiently and with an arbitrarily low error rate, even in a model where local growth rules are probabilistic.