Abstract
We first give an introduction to the field of tile-based self-assembly, focusing primarily on theoretical models and their algorithmic nature. We start with a description of Winfree’s abstract Tile Assembly Model (aTAM) and survey a series of results in that model, discussing topics such as the shapes which can be built and the computations which can be performed, among many others. Next, we introduce the more experimentally realistic kinetic Tile Assembly Model (kTAM) and provide an overview of kTAM results, focusing especially on the kTAM’s ability to model errors and several results targeted at preventing and correcting errors. We then describe the 2-Handed Assembly Model (2HAM), which allows entire assemblies to combine with each other in pairs (as opposed to the restriction of single-tile addition in the aTAM and kTAM) and doesn’t require a specified seed. We give overviews of a series of 2HAM results, which tend to make use of geometric techniques not applicable in the aTAM. Finally, we discuss and define a wide array of more recently developed models and discuss their various tradeoffs in comparison to the previous models and to each other.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
The restriction on overlap is a formalization of the physical mechanism of steric protection.
with the convention that \(\infty = \infty + 1 = \infty - 1\)
Note that a supertile \(\tilde{\alpha}\) could be non-terminal in the sense that there is a producible supertile \(\tilde{\beta}\) such that \(C^\tau_{\tilde{\alpha},\tilde{\beta}} \neq \emptyset,\) yet it may not be possible to produce \(\tilde{\alpha}\) and \(\tilde{\beta}\) simultaneously if some tile types are given finite initial counts, implying that \(\tilde{\alpha}\) cannot be “grown” despite being non-terminal. If the count of each tile type in the initial state is ∞, then all producible supertiles are producible from any state, and the concept of terminal becomes synonymous with “not able to grow”, since it would always be possible to use the abundant supply of tiles to assemble \(\tilde{\beta}\) alongside \(\tilde{\alpha}\) and then attach them.
References
Abel Z, Benbernou N, Damian M, Demaine E, Demaine M, Flatland R, Kominers S, Schweller R (2010) Shape replication through self-assembly and RNase enzymes. In: Proceedings of the twenty-first annual ACM-SIAM symposium on discrete algorithms, SODA 2010, Austin, Texas, Society for Industrial and Applied Mathematics
Adleman LM (1994) Molecular computation of solutions to combinatorial problems. Science 266(11):1021–1024
Adleman L (2000) Toward a mathematical theory of self-assembly (extended abstract), Tech. Report 00-722, University of Southern California
Adleman L, Cheng Q, Goel A, Huang M-D (2001) Running time and program size for self-assembled squares. In: Proceedings of the 33rd annual ACM symposium on theory of computing, Hersonissos, Greece, pp 740–748
Adleman L, Cheng Q, Goel A, Huang M-D, Wasserman H (2001) Linear self-assemblies: equilibria, entropy and convergence rates. In: Sixth international conference on difference equations and applications, Taylor and Francis
Adleman LM, Cheng Q, Goel A, Huang M-D A, Kempe D, de Espanés PM, Rothemund PWK (2002) Combinatorial optimization problems in self-assembly. In: Proceedings of the thirty-fourth annual ACM symposium on theory of computing, pp 23–32
Barish RD, Schulman R, Rothemund PWK, Winfree E (2009) An information-bearing seed for nucleating algorithmic self-assembly. Proc Natl Acad Sci USA 106(15):6054–6059
Becker F (2009) Pictures worth a thousand tiles, a geometrical programming language for self-assembly. Theor Comput Sci 410(16):1495–1515
Becker F, Rapaport I, Rémila E (2006) Self-assembling classes of shapes with a minimum number of tiles, and in optimal time. In: Arun-Kumar S, Garg N (eds) Foundations of software technology and theoretical computer science (FSTTCS). Lecture notes in computer science, vol 4337, Springer, Berlin, pp 45–56
Becker F, Rémila É, Schabanel N (2008) Time optimal self-assembly for 2d and 3d shapes: the case of squares and cubes. In: Ashish G, Simmel FC, and Sosík P, (eds) DNA computing. 14th international meeting on DNA computing, DNA 14, Prague, Czech Republic, June 2–9 2008. Revised Selected Papers. Lecture notes in computer science, vol 5347, Springer, Berlin, pp 144–155
Behsaz B, Maňuch J, Ladislav S (2012) Turing universality of step-wise and stage assembly at temperature 1. In: Stefanovic D, Turberfield A (eds) DNA computing and molecular programming. Lecture notes in computer science, vol 7433, Springer, Berlin, pp 1–11
Berger R (1965) Undecidability of the domino problem. Memoirs of the American Mathematical Society, Providence, RI
Brun Y (2008) Solving np-complete problems in the Tile Assembly Model. Theor Comput Sci 395(1):31–46
Bryans N, Chiniforooshan E, Doty D, Kari L, Seki S (2011) The power of nondeterminism in self-assembly. In: Proceedings of the 22nd annual ACM-SIAM symposium on discrete algorithms, SODA 2011, SIAM, pp 590–602
Cairns-Smith AG (1966) The origin of life and the nature of the primitive gene. J Theor Biol 10(1):53–88
Cairns-smith AG (1988) The chemistry of materials for artificial darwinian systems. Int Rev Phys Chem 7(3):209–250
Cannon S, Demaine ED, Demaine ML, Eisenstat S, Patitz MJ, Schweller R, Summers SM, Winslow A (2012) Two hands are better than one (up to constant factors). Tech. Report 1201.1650, Computing Research Repository
Chandesris J, Dennunzio A, Formenti E, Manzoni L (2011) Computational aspects of asynchronous cellular automata. In: Proceedings of the 15th international conference on developments in language theory, DLT’11, Springer, Berlin, pp 466–468
Chandran H, Gopalkrishnan N, Reif JH (2009) The tile complexity of linear assemblies. In: Albers S, Marchetti-Spaccamela A, Matias Y, Nikoletseas SE, and Thomas W (eds) Automata, languages and programming, 36th international colloquium, ICALP 2009, Rhodes, Greece, July 5–12 2009. Proceedings, Part I. Lecture notes in computer science, vol 5555, Springer, Berlin, pp 235–253
Chen H-L, Goel A (2004) Error free self-assembly using error prone tiles. In: Proceedings of the 10th international meeting on DNA based computers, pp 274–283
Chen H-L, Kao M-Y (2011) Optimizing tile concentrations to minimize errors and time for dna tile self-assembly systems. In: Proceedings of the 16th international conference on DNA computing and molecular programming, DNA’10, Springer, Berlin, pp 13–24
Chen H-L, Doty D (2012) Parallelism and time in hierarchical self-assembly. In: Proceedings of the 23rd annual ACM-SIAM symposium on discrete algorithms, SODA 2012, SIAM, pp 1163–1182
Chen H-L, Doty D, Seki S (2011) Program size and temperature in self-assembly. In: Proceedings of the 22nd international symposium on algorithms and computation, ISAAC 2011. Lecture notes in computer science, vol 7074, Springer, Berlin, pp 445–453
Chen H-L, Goel A, Winfree E, Luhrs C (2007a) Self-assembling tile systems that heal from small fragments. In: Preliminary Proceedings of DNA Computing, vol 30, pp 30–46
Chen H-L, Schulman R, Goel A, Winfree E (2007b) Reducing facet nucleation during algorithmic self-assembly. Nano Lett 7(9):2913–2919
Cheng Z, Xiao J (2012) Algorithmic tile self-assembly model for the minimum set cover problem. J Bionanosci 6(2):69–77
Cheng Z, Chen Z, Huang Y, Zhang X, Xu J (2010) Implementation of the timetable problem using self-assembly of DNA tiles. Int J Comput Commun Control V(4):490–505
Cheng Q, Aggarwal G, Goldwasser MH, Kao M-Y, Schweller RT, de Espanés PMoisset (2005) Complexities for generalized models of self-assembly. SIAM J Comput 34:1493–1515
Cook M, Fu Y, Schweller RT (2011) Temperature 1 self-assembly: Deterministic assembly in 3D and probabilistic assembly in 2D. In: Proceedings of the 22nd annual ACM-SIAM symposium on discrete algorithms, SODA 2011, SIAM
Culik K II (1996) An aperiodic set of 13 Wang tiles. Discret Math160(1–3):245–251
Czeizler E, Popa A (2012) Synthesizing minimal tile sets for complex patterns in the framework of patterned dna self-assembly. In: Stefanovic D, Turberfield A (eds) DNA Computing and Molecular Programming. Lecture notes in computer science, vol 7433, Springer, Berlin, pp 58–72
Demaine ED, Patitz MJ, Schweller RT, Summers SM (2011) Self-assembly of arbitrary shapes using RNAse enzymes: meeting the Kolmogorov bound with small scale factor (extended abstract). Symposium on theoretical aspects of computer science, STACS 2011, pp 201–212
Demaine ED, Eisenstat S, Ishaque M, Winslow A (2012) One-dimensional staged self-assembly. Nat Comput 12(2):247–258. English
Demaine ED, Patitz MJ, Rogers TA, Schweller RT, Summers SM, Woods D (2013) The two-handed Tile Assembly Model is not intrinsically universal. In: Proceedings of the fortieth international colloquium on automata, languages and programming, ICALP 2013 (to appear)
Demaine ED, Demaine ML, Fekete SP, Ishaque M, Rafalin E, Schweller RT, Souvaine DL (2008) Staged self-assembly: nanomanufacture of arbitrary shapes with O(1) glues. Nat Comput 7(3): 347–370
Demaine ED, Demaine ML, Fekete SP, Patitz MJ, Schweller RT, Winslow A, Woods D (2012) One tile to rule them all: Simulating any turing machine, tile assembly system, or tiling system with a single puzzle piece, Tech. Report 1212.4756, Computing Research Repository
Doty D (2010) Randomized self-assembly for exact shapes. SIAM J Comput 39(8):3521–3552
Doty D (2012) Theory of algorithmic self-assembly. Commun ACM 55(12): 78–88
Doty D, Patitz MJ (2009) A domain specific language for programming in the Tile Assembly Model. In: Proceedings of the fifteenth international meeting on DNA computing and molecular programming, Fayetteville, Arkansas, USA, June 8–11 2009, pp 25–34
Doty D, Patitz MJ, Summers SM (2011) Limitations of self-assembly at temperature 1. Theor Comput Sci 412:145–158
Doty D, Kari L, Masson B (2013) Negative interactions in irreversible self-assembly. Algorithmica 66(1):153–172
Doty D, Lutz JH, Patitz MJ, Summers SM, Woods D (2009) Intrinsic universality in self-assembly. In: Proceedings of the 27th international symposium on theoretical aspects of computer science, pp 275–286
Doty D, Patitz MJ, Reishus D, Schweller RT, Summers SM (2010) Strong fault-tolerance for self-assembly with fuzzy temperature. In: Proceedings of the 51st annual IEEE symposium on foundations of computer science, FOCS 2010, pp 417–426
Doty D, Lutz JH, Patitz MJ, Schweller RT, Summers SM, Woods D (2012) The Tile Assembly Model is intrinsically universal. In: Proceedings of the 53rd annual IEEE symposium on foundations of computer science, FOCS 2012 (to appear)
Fu B, Patitz MJ, Schweller RT, Sheline R (2012) Self-assembly with geometric tiles. In: Proceedings of the 39th international colloquium on automata, languages and programming, ICALP (to appear)
Fujibayashi K, Zhang DY, Winfree E, Murata S (2009) Error suppression mechanisms for DNA tile self-assembly and their simulation. Nat Comput 8(3):589–612
Göös M, Orponen P (2010) Synthesizing minimal tile sets for patterned dna self-assembly. In: Sakakibara Y, Mi Y (eds) DNA. Lecture notes in computer science, vol 6518, Springer, Berlin, pp 71–82
Hartmanis J, Stearns RE (1965) On the computational complexity of algorithms. Trans Am Math Soc 117:285–306
Hopfield JJ (1974) Kinetic proofreading: a new mechanism for reducing errors in biosynthetic processes requiring high specificity. Proc Natl Acad Sci USA 71(10):4135–4139
Ingerson TE, Buvel RL (1984) Structure in asynchronous cellular automata. Phys D 10(1–2):59–68
Jang B, Kim Y-B, Lombardi F (2006) Error tolerance of DNA self-assembly by monomer concentration control. IEEE international symposium on defect and fault-tolerance in VLSI systems, Arlington, VA, October 4–6, 2006, pp 89–97
Jonoska N, McColm GL (2006) Flexible versus rigid tile assembly. In: Calude CS, Dinneen MJ, Pun G, Rozenberg G, and Stepney S (eds) Unconventional computation. Lecture notes in computer science, vol 4135, Springer, Berlin, pp 139–151
Jonoska N, McColm GL (2009) Complexity classes for self-assembling flexible tiles. Theor Comput Sci 410(4–5): 332–346
Jonoska N, Karpenko D (2012) Active tile self-assembly, self-similar structures and recursion. Tech. Report 1211.3085, Computing Research Repository
Jonoska N, Karl SA, Saito M (1999) Three dimensional DNA structures in computing. BioSystems 52(1–3):143–153.
Kao M-Y, Schweller R (2008) Randomized self-assembly for approximate shapes. In: Proceedings of the 35th international colloquium on automata, languages and programming, Part I, ICALP ’08, Springer, Berlin, pp 370–384
Kari L, Seki S, Xu Z (2012) Triangular and hexagonal tile self-assembly systems. In: Proceedings of the 2012 international conference on theoretical computer science: computation, physics and beyond, WTCS’12, Springer, Berlin, pp 357–375
Kautz SM, Shutters B (2011) Self-assembling rulers for approximating generalized sierpinski carpets. In: Fu B, Du D-Z (eds) COCOON. Lecture notes in computer science, vol 6842, Springer, Berlin, pp 284–296
Lathrop JI, Lutz JH, Summers SM (2009) Strict self-assembly of discrete Sierpinski triangles. Theor Comput Sci 410:384–405
Lathrop JI, Lutz JH, Patitz MJ, Summers SM (2011) Computability and complexity in self-assembly. Theory Comput Syst 48(3): 617–647
Lempiäinen T, Czeizler E, Orponen P (2011) Synthesizing small and reliable tile sets for patterned DNA self-assembly. In: Proceedings of the 17th international conference on DNA computing and molecular programming, DNA’11, Springer, Berlin, pp 145–159
Luhrs C (2008) Polyomino-safe DNA self-assembly via block replacement. In: DNA computing: DNA14. Lecture notes in computer science, vol 5347, Springer, Berlin, pp 112–126
Lutz JH, Shutters B (2012) Approximate self-assembly of the sierpinski triangle. Theory Comput Syst 51(3):372–400
Ma X, Lombardi F (2008) Synthesis of tile sets for DNA self-assembly. IEEE Trans CAD Integr Circuits Syst 27(5):963–967
Majumder U, Labean TH, Reif JH (2007a) Activatable tiles: compact, robust programmable assembly and other applications. In: Garzon M, Yan H (eds) DNA computing: DNA13. Lecture notes for computer science, Springer, Berlin, pp 15–25
Majumder U, LaBean TH, Reif JH (2007b) Activatable tiles for compact error-resilient directional assembly. In: 13th international meeting on DNA computing (DNA13), Memphis, Tennessee, June 4–8 2007
Mao C, LaBean TH, Relf JH, Seeman NC (2000) Logical computation using algorithmic self-assembly of DNA triple-crossover molecules. Nature 407(6803):493–496
Maňuch J, Stacho L, Stoll C (2009) Step-assembly with a constant number of tile types. In: Proceedings of the 20th international symposium on algorithms and computation, ISAAC ’09, Springer, Berlin, pp 954–963
Maňuch J, Stacho L, Stoll C (2010) Two lower bounds for self-assemblies at temperature 1. J Comput Biol 17(6):841–852
Meunier P-E, Patitz MJ, Summers SM, Theyssier G, Winslow A, Woods D (2013) Intrinsic universality in tile self-assembly requires cooperation. Tech. Report 1304.1679, Computing Research Repository
Ninio J (1975) Kinetic amplification of enzyme discrimination. Biochimie 57(5):587–595
Padilla JE, Liu W, Seeman NC (2012) Hierarchical self assembly of patterns from the robinson tilings: DNA tile design in an enhanced Tile Assembly Model. Nat Comput 11(2):323–338
Padilla JE, Patitz MJ, Pena R, Schweller RT, Seeman NC, Sheline R, Summers SM, Zhong X (2012) Asynchronous signal passing for tile self-assembly: Fuel efficient computation and efficient assembly of shapes. Tech. Report 1202.5012, Computing Research Repository
Patitz MJ (2009) Simulation of self-assembly in the abstract Tile Assembly Model with ISU TAS. In: 6th annual conference on foundations of nanoscience: self-assembled architectures and devices, Snowbird, Utah, USA, April 20–24 2009
Patitz MJ (2012) An introduction to tile-based self-assembly. In: Durand-Lose J, Jonoska N (eds) Unconventional computation and natural computation. Lecture notes in computer science, vol 7445, Springer, Berlin, pp 34–62
Patitz MJ, Summers SM (2010) Self-assembly of discrete self-similar fractals. Nat Comput 1:135–172
Patitz MJ, Summers SM (2011) Self-assembly of decidable sets. Nat Comput 10(2): 853–877
Patitz MJ, Summers SM (2012) Identifying shapes using self-assembly. Algorithmica 64(3):481–510
Patitz MJ, Schweller RT, Summers SM (2011) Exact shapes and turing universality at temperature 1 with a single negative glue. In: Proceedings of the 17th international conference on DNA computing and molecular programming, DNA’11, Springer, Berlin, pp 175–189
Patitz MJ, Schweller RT, Summers SM (2012) Efficient squares and turing universality at temperature 1 with a unique negative glue. Tech. Report 1105.1215v2, Computing Research Repository
Penrose R (1979) Set of tiles for covering a surface. US Patent 4133152
Reif JH (1999) Local parallel biomolecular computing. In: Proceedings of DNA Based Computers III, DIMACS, American Mathematical Society, Providence, RI, vol 48, pp 217–254
Reif J, Sahu S, Yin P (2006) Complexity of graph self-assembly in accretive systems and self-destructible systems. In: Carbone A, Pierce N (eds) DNA computing. Lecture notes in computer science, vol 3892, Springer, Berlin, pp 257–274
Rothemund PWK (2001) Theory and experiments in algorithmic self-assembly. Ph.D. thesis, University of Southern California
Rothemund PWK (2006) Folding DNA to create nanoscale shapes and patterns. Nature 440(7082): 297–302
Rothemund PWK, Winfree E (2000) The program-size complexity of self-assembled squares (extended abstract). In: Proceedings of the thirty-second annual ACM symposium on theory of computing, STOC ’00, Portland, Oregon, United States, ACM, pp 459–468
Rothemund PWK, Papadakis N, Winfree E (2004) Algorithmic self-assembly of DNA sierpinski triangles. PLoS Biol 2(12): e424
Schulman R, Winfree E (2009) Programmable control of nucleation for algorithmic self-assembly. SIAM J Comput 39(4): 1581–1616
Schulman R, Winfree E (2011) Simple evolution of complex crystal species. In: Proceedings of the 16th international conference on DNA computing and molecular programming, DNA’10, Springer, Berlin, pp 147–161
Schulman R, Yurke B, Winfree E (2012) Robust self-replication of combinatorial information via crystal growth and scission. Proc Natl Acad Sci USA 109(17):6405–10
Schweller RT, Sherman M (2013) Fuel efficient computation in passive self-assembly. In: Proceedings of the 24rd annual ACM-SIAM symposium on discrete algorithms, SODA 2013, SIAM, pp 1513–1525
Seeman NC (1982) Nucleic-acid junctions and lattices. J Theor Biol 99:237–247
Seki S, Okuno Y (2012) On the behavior of tile assembly system at high temperatures. In: Barry Cooper S, Dawar A, and Löwe B (eds) How the world computes. Proceedings of the Turing centenary conference, CiE 2012, Cambridge, United Kingdom, June 18–23, 2012. Lecture notes in computer science, vol 7318, Springer, Berlin, pp 550–560 (Eng)
Seki S (2013) Combinatorial optimization in pattern assembly. Tech. Report 1301.3771, Computing Research Repository
Soloveichik D, Winfree E (2005) Complexity of compact proofreading for self-assembled patterns. In: Carbone A, Pierce NA (eds) DNA computing. The eleventh international meeting on DNA computing. Lecture notes in computer science, vol 3892, Springer, Berlin, pp 305–324
Soloveichik D, Winfree E (2007) Complexity of self-assembled shapes. SIAM J Comput 36(6):1544–1569
Soloveichik D, Cook M, Winfree E (2008) Combining self-healing and proofreading in self-assembly. Nat Comput 7(2):203–218
Summers SM (2012) Reducing tile complexity for the self-assembly of scaled shapes through temperature programming. Algorithmica 63(1–2):117–136
Wang H (1961) Proving theorems by pattern recognition—II. Bell Syst Tech J XL(1):1–41
Wang H (1963) Dominoes and the AEA case of the decision problem. In: Proceedings of the symposium on mathematical theory of automata, New York, 1962, Polytechnic Press of Polytechnic Inst. of Brooklyn, Brooklyn, pp 23–55
Wang Y, Lu W, Bai X, Wei D, Cui G (2011) DNA tile assembly for degree-constrained minimum spanning tree. J Bionanosci 5(1):41–46
Winfree E The xgrow simulator. http://www.dna.caltech.edu/Xgrow. Accessed 17 June 2013
Winfree E (1998) Algorithmic self-assembly of DNA. Ph.D. thesis, California Institute of Technology
Winfree E (2006) Self-healing tile sets. In: Chen J, Jonoska N, and Rozenberg G (eds) Nanotechnology: science and computation. Natural computing series, Springer, Berlin, pp 55–78
Winfree E, Bekbolatov R (2003) Proofreading tile sets: Error correction for algorithmic self-assembly. In: Chen J, Reif JH (eds) DNA computing. Lecture notes in computer science, vol 2943, Springer, Berlin, pp 126–144
Winfree E, Liu F, Wenzler LA, Seeman NC (1998) Design and self-assembly of two-dimensional DNA crystals. Nature 394(6693):539–44
Woo S, Rothemund PWK (2011) Programmable molecular recognition based on the geometry of DNA nanostructures. Nat Chem 3(8): 620–7
Woods D, Chen H-L, Goodfriend S, Dabby N, Winfree E, Yin P (2013) Active self-assembly of algorithmic shapes and patterns in polylogarithmic time. In: Proceedings of the 4th conference on innovations in theoretical computer science, ITCS ’13, New York, NY, USA, ACM, pp 353–354
Acknowledgments
The author would like to thank Scott Summers, Damien Woods, and Dave Doty for much helpful guidance and advice in putting together this survey. He would also like thank Nataša Jonoska and Jérôme Durand-Lose for the invitation to write it. Finally, he is greatly indebted to two anonymous reviewers whose extremely thorough reviews and comments greatly improved this manuscript. This author’s research was supported in part by National Science Foundation Grant CCF-1117672.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Patitz, M.J. An introduction to tile-based self-assembly and a survey of recent results. Nat Comput 13, 195–224 (2014). https://doi.org/10.1007/s11047-013-9379-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11047-013-9379-4