Program Size and Temperature in SelfAssembly^{†}^{†}thanks: The first author was supported by the Molecular Programming Project under NSF grant 0832824, the second author was supported by an NSF Computing Innovation Fellowship, and the third author was supported by NSERC Discovery Grant R2824A01 and the Canada Research Chair in Biocomputing to Lila Kari.
Abstract
Winfree’s abstract Tile Assembly Model (aTAM) is a model of molecular selfassembly of DNA complexes known as tiles, which float freely in solution and attach one at a time to a growing “seed” assembly based on specific binding sites on their four sides. We show that there is a polynomialtime algorithm that, given an square, finds the minimal tile system (i.e., the system with the smallest number of distinct tile types) that uniquely selfassembles the square, answering an open question of Adleman, Cheng, Goel, Huang, Kempe, Moisset de Espanés, and Rothemund (Combinatorial Optimization Problems in SelfAssembly, STOC 2002). Our investigation leading to this algorithm reveals other positive and negative results about the relationship between the size of a tile system and its “temperature” (the binding strength threshold required for a tile to attach).
1 Introduction
Tile selfassembly is an algorithmically rich model of “programmable crystal growth”. It is possible to design monomers (squarelike “tiles”) with specific binding sites so that, even subject to the chaotic nature of molecules floating randomly in a wellmixed chemical soup, they are guaranteed to bind so as to deterministically form a single target shape. This is despite the number of different types of tiles possibly being much smaller than the size of the shape and therefore having only “local information” to guide their attachment. The ability to control nanoscale structures and machines to atomiclevel precision will rely crucially on sophisticated selfassembling systems that automatically control their own behavior where no topdown externally controlled device could fit.
A practical implementation of selfassembling molecular tiles was proved experimentally feasible in 1982 by Seeman [34] using DNA complexes formed from artificially synthesized strands. Experimental advances have delivered increasingly reliable assembly of algorithmic DNA tiles with error rates of 10% per tile in 2004 [32], 1.4% in 2007 [17], 0.13% in 2009 [7], and 0.05% in 2010 [16]. Erik Winfree [41] introduced the abstract Tile Assembly Model (aTAM) – based on a constructive version of Wang tiling [39, 40] – as a simplified mathematical model of selfassembling DNA tiles. Winfree demonstrated the computational universality of the aTAM by showing how to simulate an arbitrary cellular automaton with a tile assembly system. Building on these connections to computability, Rothemund and Winfree [31] investigated a selfassembly resource bound known as tile complexity, the minimum number of tile types needed to assemble a shape. They showed that for most , the problem of assembling an square has tile complexity , and Adleman, Cheng, Goel, and Huang [3] exhibited a construction showing that this lower bound is asymptotically tight. Under natural generalizations of the model [6, 8, 26, 25, 11, 37, 13, 10, 1, 12, 36, 29], tile complexity can be reduced for the assembly of squares and more general shapes.
The results of this paper are motivated by the following problem posed in 2002. Adleman, Cheng, Goel, Huang, Kempe, Moisset de Espanés, and Rothemund [5] showed that there is a polynomial time algorithm for finding a minimum size tile system (i.e., system with the smallest number of distinct tile types) to uniquely selfassemble a given square,^{1}^{1}1The square is encoded by a list of its points, so the algorithm’s running time is polynomial in . subject to the constraint that the tile system’s “temperature” (binding strength threshold required for a tile to attach) is 2. They asked whether their algorithm could be modified to remove the temperature 2 constraint. Our main theorem answers this question affirmatively. Their algorithm works by bruteforce search over the set of all temperature2 tile systems with at most tile types, using the fact proven by Adleman, Cheng, Goel, and Huang [3] that such an upper bound on tile complexity suffices to assemble any square. A simple counting argument shows that for any constant , the number of tile systems with glue strengths and temperature at most and tile types is bounded by a polynomial in . One conceivable approach to extending the algorithm to arbitrary temperature is to prove that for any tile system with tile types, the strengths and temperature can be reassigned so that they are upperbounded by a constant or slowgrowing function of , without affecting the behavior of the tile system.^{2}^{2}2We define “behavior” more formally in Section 3. Briefly, we consider a tile system’s behavior unaltered by a reassignment of strengths and temperature if, for each tile type , the reassignment has not altered the collection of subsets of sides of that have sufficient strength to bind. However, we show that this approach cannot work, by demonstrating that for each , there is a tile system with tile types whose behavior cannot be preserved using any temperature less than . The proof crucially uses 3cooperative binding, meaning attachment events that require three different glues of a tile to match the assembly. On the other hand, we show that any 2cooperative tile system (which captures a wide and useful class of systems) with tile types is behaviorally equivalent to a system with temperature at most .
Of course, the choice of integer glue strengths is an artifact of the model. Nonetheless, our investigation does reflect fundamental questions about how finely divided molecular binding energies must be in a real molecular selfassembly system. The requirement of integer strengths is simply one way of “quantizing” the minimum distinction we are willing to make between energies and then rescaling so that this quantity is normalized to 1.^{3}^{3}3Indeed, our proof does not require that strengths be integer, merely that the distance between the smallest energy strong enough to bind and the largest energy too weak to bind be at least 1. Our 3cooperative lower bound therefore shows that in general, certain selfassembling systems that have very large gaps between some of their binding energies nonetheless require other binding energies to be extremely close (exponentially small in terms of the larger gaps) and yet still unequal. This can be interpreted as an infeasibility result if one defines “exponentially fine control” of binding energies as “infeasible” to execute in any real laboratory, since no implementation of the specified tile behavior can use courser energies.
As a converse to the exponential temperature lower bound stated above, we show that there is a polynomialtime algorithm that, given any tile system with tile types specified by its desired binding behavior, finds a temperature and glue strengths at most that implement this behavior or reports that no such strengths exist. This algorithm is used to show our main result, that there is a polynomialtime algorithm that, given an square, determines the smallest tile assembly system (at any temperature) that uniquely selfassembles the square, answering the open question of [5].
2 Abstract Tile Assembly Model
This section gives a brief informal sketch of the abstract Tile Assembly Model (aTAM). See Section A for a formal definition of the aTAM.
A tile type is a unit square with four sides, each having a glue label (often represented as a finite string). We assume a finite set of tile types, but an infinite number of copies of each tile type, each copy referred to as a tile. An assembly (a.k.a., supertile) is a positioning of tiles on (part of) the integer lattice ; i.e., a partial function . For a set of tile types , let denote the set of all glue labels of tile types in . We may think of a tile type as a function indicating, for each direction (“north, south, east, west”), the glue label appearing on side . A strength function is a function indicating, for each glue label , the strength with which it binds. Two adjacent tiles in an assembly interact if the glue labels on their abutting sides are equal and have positive strength according to . Each assembly induces a binding graph, a grid graph whose vertices are tiles, with an edge between two tiles if they interact. The assembly is stable if every cut of its binding graph has strength at least , where the weight of an edge is the strength of the glue it represents. That is, the assembly is stable if at least energy is required to separate the assembly into two parts.
A tile assembly system (TAS) is a quadruple , where is a finite set of tile types, is a finite, stable seed assembly, is a strength function, and is a temperature. In this paper, we assume that all seed assemblies consist of a single tile type (i.e., ). Given a TAS , an assembly is producible if either or if is a producible assembly and can be obtained from by placing a single tile type on empty space (a position such that is undefined), such that the resulting assembly is stable. In this case write ( is producible from by the stable attachment of one tile), and write if ( is producible from by the stable attachment of zero or more tiles). An assembly is terminal if no tile can be stably attached to it. Let be the set of producible assemblies of , and let be the set of producible, terminal assemblies of . Given a connected shape , a TAS uniquely selfassembles if and .
3 Finding Strengths to Implement a Tile System
In this section we show that there is a polynomialtime algorithm that, given a desired behavior of a tile system, can find strengths to implement that behavior that are at most exponential in the number of tile types, or report that no such strengths exist. This algorithm is the main technical tool used in the proof of our main result, Theorem 4.2.
First, we formalize what we mean by the “behavior” of a tile system. Let be a set of tile types, and let . Given a strength function and a temperature , define the cooperation set of with respect to and to be the collection , i.e., the collection of subsets of sides of whose glues have sufficient strength to bind cooperatively. Let be a seed assembly, let be temperatures, and let be strength functions. We say that the TAS’s and , differing only on their strength function and temperature, are locally equivalent if, for each tile type , ^{4}^{4}4Note that the definition of equivalence is independent of the seed assembly; we include it only to be able to talk about the equivalence of TAS’s rather than the more cumbersome “equivalence of triples of the form .” The behavior of an individual tile type during assembly is completely determined by its cooperation set, in the sense that if and are locally equivalent, then and .^{5}^{5}5The converse does not hold, however. For instance, some tile types may have a subset of sides whose glues never appear together at a binding site during assembly, so it would be irrelevant to the definition of and whether or not that combination of glues have enough strength to bind.
Even without any strength function or temperature, by specifying a cooperation set for each tile type, one can describe a “behavior” of a TAS in the sense that its dynamic evolution can be simulated knowing only the cooperation set of each tile type. We call a system thus specified a strengthfree TAS. More formally, a strengthfree TAS is a triple , where is a finite set of tile types, is the size1 seed assembly, and is a function from a tile type to a cooperation set . For a standard TAS and a strengthfree TAS sharing the same tile set and seed assembly, we say that and are locally equivalent if for each tile type .
Note that every TAS has a unique cooperation set for each tile type, and hence, has a locally equivalent strengthfree TAS. Say that a strengthfree TAS is implementable if there exists a TAS locally equivalent to it. Not every strengthfree TAS is implementable. This is because cooperation sets could be contradictory; for instance, two tile types and could satisfy and but .
Theorem 3.1.
There is a polynomial time algorithm that, given a strengthfree TAS , determines whether there exists a locally equivalent TAS and outputs such a if it exists. Furthermore, it is guaranteed that .
Proof.
Intuitively, we count the number of different total behaviors a tile can have, based on equating its behavior with its cooperation set. We then cast the problem of finding strengths to implement a given strengthfree tile system as finding solutions to a certain system of linear inequalities, which is solved by Gaussian elimination. We then argue that the vertices of the polytope defined by this system have rational numbers with numerator and denominator that are at most exponential in the number of inequalities, which is itself linear in the number of tile types. This implies that by multiplying the rational numbers at one of these vertices by their least common multiple, which preserves the inequalities, we obtain an integer solution with values at most exponential in the number of tile types.
Formally, let be a strengthfree TAS with a tile set of tile types with different glues.^{6}^{6}6Each tile type has 4 sides so it might seem that there could be total glues if there are tile types. However, in a nontrivial system (one that has no “effectively null” glues that appear on only one side of any tile type), for each side of a tile type, the choice of glue for that side is limited to those glues on the opposite side of the tile types, or alternately we could choose the null strength0 glue. We would like to decide whether is in fact realizable by a TAS. To have the tightest upper bound on the temperature, ideally we could to solve the problem of finding the minimum temperature TAS that is locally equivalent to . This optimization problem can be cast as an integer linear program on a temperature variable and a set of gluestrength variables as in the following example:
The “” inequalities correspond to the union of all cooperation sets of all tile types, and the “” inequalities correspond to the union of all complements of the cooperation sets; i.e., each set , where is the cooperation set of . Since we require each strength to be an integer, “” is equivalent to “”. Since each tile type has “” inequalities (one for each subset of sides in its cooperation set) and “” inequalities, there are inequalities in the integer linear program.
However, solving this optimization problem is not necessary to prove the theorem. Our goal will not be to find the smallest temperature TAS that satisfies the constraints above (which remains an open problem to do in polynomial time), but simply to find any feasible integer solution with temperature and strengths at most . Call the above system of constraints (including the integer constraint) . Consider the realvalued system of linear inequalities defined as the above inequalities with the integer constraint relaxed to simply . Then we have the implication “ has a solution” “ has a solution”. Conversely, any rationalvalued solution to can be converted to an integervalued solution to by multiplying each value by the least common multiple of the denominators of the rational numbers.^{7}^{7}7This actually enforces the stronger condition that each “” inequality is actually “”. This is possible because we have no upper bound on the variables, which would prevent multiplication from necessarily preserving the inequalities. Furthermore, since the input coefficients are integers, if the feasible polytope of is nonempty, then all of its vertices are rational. Therefore has a solution if and only if it has an integer solution. Since any integer solution to is a solution to , we have the full bidirectional implication “ has a solution” “ has an integer solution”. We can pick any linearly independent inequalities of , interpret them as equalities, and use Gaussian elimination (with exact rational arithmetic) to obtain some vertex of the feasible polytope described by the inequalities, and convert these to integer solutions to through multiplication as described above. If we cannot find linearly independent inequalities (testable by computing the rank of the matrix defining the inequalities) then there is no TAS implementing the behavior of . It remains to show that in case there is a solution, the integers we obtain by this method obey the stated upper bound .
Each coefficient has absolute value at most 2 (since we may assume N/S glues are disjoint from E/W glues), and each equation has at most 5 nonzero left side terms since each tile type has only 4 sides (together with the coefficient for ). Applying Lemma 3.2 (stated and proven after the current proof) with , , and , we obtain that each vertex is a rational vector such that, for each , . Since we enforce nonnegativity, and . We multiply the rational vector by to obtain the integer vector . By Lemma 3.2, . Then each integer solution value obeys . ∎
Lemma 3.2.
Let be constants, and let be an integer column vector and be a nonsingular integer matrix such that for each , and , and each row of contains at most nonzero entries. Then the solution to the linear system is a rational vector such that, if each component is written in lowest terms with , then and . Furthermore, the least common multiple of all the ’s is at most .
Proof.
Recall Hadamard’s inequality , where is the row of .^{8}^{8}8Hadamard’s inequality is typically stated for a column of , but the determinant of a matrix and its transpose are equal so the bound holds when taking the product over rows as well. Since has at most nonzero entries that are each at most absolute value , Hadamard’s inequality tells us that . Similarly, letting be with column vector replacing ’s column, has at most nonzero entries per row, so a similar argument gives . The solution is by Cramer’s rule. Since and are integervalued, so are and , whence the upper bounds on and also apply to and , respectively, since they are ’s lowest terms representation. Since the lowest terms representation of each necessarily divides , this implies that their least common multiple is also at most . ∎
4 Finding the Minimum Tile Assembly System Assembling a Square at any Temperature
This section proves the main result of this paper. We show that there is a polynomialtime algorithm that, given an square , computes the smallest TAS that uniquely selfassembles . Adleman, Cheng, Goel, Huang, Kempe, Moisset de Espanés, and Rothemund [5] showed that this problem is polynomialtime solvable when the temperature is restricted to be 2, and asked whether there is an algorithm that works when the temperature is unrestricted, which we answer affirmatively.
The next proposition is useful in the proof of our main theorem.
Proposition 4.1.
For each , there are at most implementable strengthfree TAS’s with at most tile types.
Proof.
If is an implementable strengthfree TAS, then for all , the cooperation set of is a collection of subsets of that is closed under the superset operation, i.e., if and , then . This closure property is due to the fact that having strictly more sides available to bind cannot inhibit binding that would otherwise occur, as long as strengths are assumed to be nonnegative. Each cooperation set is defined by a unique antichain, which is a subcollection such that, for all , , whose closure under the superset operation is equal to . The antichain consists of the minimal elements of under the partial order . The number of antichains of subsets of is given by the fourth Dedekind number [35]. Thus, a tile type has at most 168 different possible cooperation sets.
For each side of a tile type, there are at most glue labels to choose, so there are at most ways to assign these labels to each side. Therefore, encoding each tile type as a list of 4 glue labels and cooperation set, and encoding a TAS as a list of tile types, there are at most different strengthfree tile sets with tile types. Since there are choices for the seed tile, there are at most different strengthfree TAS’s with tile types. Thus there are at most such TAS’s with at most tile types. ∎
The following theorem is the main result of this paper.
Theorem 4.2.
There is a polynomialtime algorithm that, given an square , outputs a minimal TAS that uniquely selfassembles .
Proof.
In [5], the authors study the variant of the minimum tile set problem restricted to squares where the temperature is fixed at . They use the following argument to show the problem is solvable in polynomial time. For all , let denote the square. Adleman, Cheng, Goel, and Huang [3] showed that for all , there is a TAS with at most tile types that uniquely selfassembles . The proof of [5] first shows by a simple counting argument that there are at most a polynomial in number of temperature2 TAS’s with at most tile types, using the fact that all strengths may without loss of generality be assumed to be 0, 1, or 2. They then make use of a polynomialtime algorithm UniqueShape devised in the same paper [5] that, given any shape and any TAS , determines whether uniquely selfassembles . Finding the minimum TAS for then amounts to iterating over every “small” ( tile types) TAS and using the algorithm UniqueShape to check which of these systems assemble . The upper bound of [3] guarantees that UniqueShape will report a positive answer for at least one of these systems.
Let be the constant, shown to exist in [3], such that, for all , some tile system with at most tile types uniquely selfassembles . Let . Enumerate each strengthfree TAS with at most tile types and test whether the strengthfree system uniquely selfassembles . The algorithm UniqueShape of [5] can be executed just as easily with a strengthfree TAS as with a standard TAS, so UniqueShape may be used for this test.
Proposition 4.1 tells us that the number of strengthfree TAS’s with at most tile types is at most . We have that and
whence the number of strengthfree TAS’s to search is at most . Once we obtain a smallest such strengthfree TAS , we run the algorithm described in Theorem 3.1 to obtain a minimal standard TAS that uniquely selfassembles . ∎
We note that while we have stated the theorem for the family of square shapes, our method, as well as that of [5], works for any family of shapes where and the tile complexity of is at most . This includes, for instance, the family , where is a width right triangle, and for each the family , where is the rectangle.
5 Bounds on Temperature Relative to Number of Tile Types
This section shows two bounds relating the number of tile types in a TAS to its temperature. The first bound, Theorem 5.1, shows that there are TAS’s that require temperature exponential in the number of tile types (in the sense of local equivalence as defined in Section 3), if any combination of sides may be used for binding. This result can be interpreted to mean that the algorithm of [3] to find the minimum temperature2 TAS for assembling an square, which searches over all possible assignments of strengths to the glues, cannot be extended in a straightforward manner to handle larger temperatures, which is why it is necessary for the algorithm of Theorem 4.2 to “shortcut” through the behaviors of tile types rather than enumerating strengths. The second bound, Theorem 5.2, on the other hand, shows that if we restrict attention to those (quite prevalent) classes of tile systems that use only one or two sides of tiles to bind, then linear temperature always suffices.
5.1 Tile Assembly Systems Requiring Temperature Exponential in Number of Tile Types
In this section, we prove that a temperature that is exponential in the number of tile types given by Theorem 3.1 is optimal, although there is a gap between the exponents ( for Theorem 5.1 below versus for Theorem 3.1).
Theorem 5.1.
For every , there is a TAS such that and for every TAS that is locally equivalent to ,
Proof.
The tile set is shown in Figure 1.^{9}^{9}9We do not specify the seed assembly since we are concerned only with the local behavior of the tiles. To make the local equivalence nontrivial, we would need to add a small number of tile types to the TAS to ensure that each tile shown is actually attachable at some point during assembly. However, but this would not affect the asymptotic size of the tile set as , so the exponential lower bound on the temperature would still hold. In each stage, each of the top two light tile types represents a triple (a pair in stage 1) of glues whose sum is at least . Each of the bottom two dark tiles represents a triple of glues whose sum is less than . For the dark tile types to be nontrivial, we could imagine that the (unlabeled) north glue is strong enough to cooperate with some of the other glues. The actual strengths of the glues are left as variables, but the caption of Figure 1 gives one example of strengths that would satisfy the inequalities that the tile types represent.
We prove by induction on that . For the base case, in the first stage, the top light tile type and top dark tile type enforce that so . Similarly, the bottom light tile type and the bottom dark tile type enforce that . Therefore .
For the inductive case, assume that . The top dark tile type enforces that and by the induction hypothesis, The top light tile type enforces that which combined with the previous two inequalities shows that A similar analysis with the bottom light tile type and bottom dark tile type shows that whence establishing the inductive case.
Since it can be assumed without loss of generality that strengths are at most , this shows that the tile set consisting of stages, having tile types, requires to be realized. ∎
5.2 Temperature Linear in the Number of Tile Types Suffices for 2Cooperative Equivalence
Theorem 5.1 shows that temperature exponentially larger than the number of tile types is sometimes necessary for a TAS’s behavior to be realized by integer strengths. However, the definition of local equivalence assumes that all possible combinations of sides of a tile type may be present in an assembly. Many TAS’s are more constrained than this. There is a wide class of TAS’s that we term 2cooperative, meaning that all binding events during all assembly sequences use only 1 or 2 sides that bind with positive strength. Nearly all theoretical TAS’s found in the literature are 2cooperative (indeed, temperature 2 systems by definition cannot require three sides to be present, although the model allows tile attachments with excess strength). In this section we show that the 3cooperativity of Figure 1 is necessary, by showing that 2cooperative systems can always be realized by strengths linear in the number of tile types.
Theorem 5.2.
Let be a TAS, and let be the cooperation set of with respect to and restricted to containing only subsets of of cardinality 1 or 2. Then there is a TAS with such that, for each , .
That is, is equivalent in behavior to , so long as all attachments involve only 1 or 2 sides.
Proof.
Let . Let denote the set of all glue labels on tile types in . Let . That is, is the set of all positive but insufficient glue strengths used in this system. since there are at most northsouth glues and at most eastwest glues.
We split into two subsets and . Let such that , and let with For descriptive purposes, define and (although these numbers may not be glue strengths).
We aim at designing an algorithm to find a glue function satisfying:

for any label

for any pair of labels
Then for , the TAS satisfies the 2cooperative equivalence with that we seek.
First, we define an equivalence relation on defined as: for , if This partitions into subsets such that if and only if In other words, if implies .
A glue function is defined as follows: for a label
It is trivial that this satisfies condition (1) above. Let with There are two cases.

Suppose that . Note that . If , then by definition and , whence their sum it at least . If , then let for some . Since , this means that , which in turn implies . By definition, and . Consequently, .

Suppose that . In this case, . If , then by the definition of , both and are at most so that their sum cannot reach . Otherwise, let . An argument similar to the one above gives , whence . Thus, .
This verifies that satisfies condition (2). ∎
6 Open Questions
Our polynomialtime algorithm for finding the minimal tile system to selfassemble a square made crucial use of our polynomialtime algorithm that, given a strengthfree tile system , finds strengths and a temperature to implement a locally equivalent TAS , or reports that none exists. An open question is whether there is a polynomialtime algorithm that, given a strengthfree TAS , outputs a TAS of minimal temperature that is locally equivalent to , or reports that none exists. In the proof of Theorem 3.1, we expressed the problem as an integer linear program, but needed only to find an integer feasible solution that is not necessarily optimal. If we instead wanted to find an optimal solution to the program, it is not clear whether the problem restricted to such instances is hard.
The next question is less formal. Our results relating to 3cooperative and 2cooperative systems (Theorems 5.1 and 5.2, respectively), show that there is a difference in selfassembly “power” between these two classes of systems when we consider two tile systems to “behave the same” if and only if they are locally equivalent, which is a quite strict notion of behavioral equivalence. For example, two tile systems could uniquely selfassemble the same shape even though they have different tile types (hence could not possibly be locally equivalent). It would be interesting to know to what extent 3cooperative systems – or high temperature tile systems in general – are strictly more powerful than temperature 2 systems under more relaxed notions of equivalence. For example, it is not difficult to design a shape that can be uniquely selfassembled with slightly fewer tile types at temperature 3 than at temperature 2. How far apart can this gap be pushed? Are there shapes with temperature2 tile complexity that is “significantly” greater than their absolute (i.e., unrestricted temperature) tile complexity?
Acknowledgement.
The authors thank Ehsan Chiniforooshan especially, for many fruitful and illuminating discussions that led to the results on temperature, and also Adam Marblestone and the members of Erik Winfree’s group, particularly David Soloveichik, Joe Schaeffer, Damien Woods, and Erik Winfree, for insightful discussion and comments. The second author is grateful to Aaron Meyerowitz (via the website http://mathoverflow.net) for pointing out the Dedekind numbers as a way to count the number of collections of subsets of a given set that are closed under the superset operation.
References
 [1] Zachary Abel, Nadia Benbernou, Mirela Damian, Erik D. Demaine, Martin Demaine, Robin Flatland, Scott Kominers, and Robert Schweller. Shape replication through selfassembly and RNase enzymes. In SODA 2010: Proceedings of the Twentyfirst Annual ACMSIAM Symposium on Discrete Algorithms, Austin, Texas, 2010. Society for Industrial and Applied Mathematics.
 [2] Leonard M. Adleman. Toward a mathematical theory of selfassembly (extended abstract). Technical Report 00722, University of Southern California, 2000.
 [3] Leonard M. Adleman, Qi Cheng, Ashish Goel, and MingDeh Huang. Running time and program size for selfassembled squares. In STOC 2001: Proceedings of the thirtythird annual ACM Symposium on Theory of Computing, pages 740–748, Hersonissos, Greece, 2001. ACM.
 [4] Leonard M. Adleman, Qi Cheng, Ashish Goel, MingDeh Huang, and Hal Wasserman. Linear selfassemblies: Equilibria, entropy and convergence rates. In In Sixth International Conference on Difference Equations and Applications. Taylor and Francis, 2001.
 [5] Leonard M. Adleman, Qi Cheng, Ashish Goel, MingDeh A. Huang, David Kempe, Pablo Moisset de Espanés, and Paul W. K. Rothemund. Combinatorial optimization problems in selfassembly. In STOC 2002: Proceedings of the ThirtyFourth Annual ACM Symposium on Theory of Computing, pages 23–32, 2002.
 [6] Gagan Aggarwal, Qi Cheng, Michael H. Goldwasser, MingYang Kao, Pablo Moisset de Espanés, and Robert T. Schweller. Complexities for generalized models of selfassembly. SIAM Journal on Computing, 34:1493–1515, 2005. Preliminary version appeared in SODA 2004.
 [7] Robert D. Barish, Rebecca Schulman, Paul W. Rothemund, and Erik Winfree. An informationbearing seed for nucleating algorithmic selfassembly. Proceedings of the National Academy of Sciences, 106(15):6054–6059, March 2009.
 [8] Florent Becker, Ivan Rapaport, and Eric Rémila. Selfassembling classes of shapes with a minimum number of tiles, and in optimal time. In FSTTCS 2006: Foundations of Software Technology and Theoretical Computer Science, pages 45–56, 2006.
 [9] Nathaniel Bryans, Ehsan Chiniforooshan, David Doty, Lila Kari, and Shinnosuke Seki. The power of nondeterminism in selfassembly. In SODA 2011: Proceedings of the 22nd Annual ACMSIAM Symposium on Discrete Algorithms, 2011. to appear.
 [10] Harish Chandran, Nikhil Gopalkrishnan, and John H. Reif. The tile complexity of linear assemblies. In ICALP 2009: 36th International Colloquium on Automata, Languages and Programming, volume 5555, pages 235–253. Springer, 2009.
 [11] Erik D. Demaine, Martin L. Demaine, Sándor P. Fekete, Mashhood Ishaque, Eynat Rafalin, Robert T. Schweller, and Diane L. Souvaine. Staged selfassembly: Nanomanufacture of arbitrary shapes with glues. Natural Computing, 7(3):347–370, 2008. Preliminary version appeared in DNA 13.
 [12] Erik D. Demaine, Matthew J. Patitz, Robert T. Schweller, and Scott M. Summers. Selfassembly of arbitrary shapes with RNA and DNA tiles. Technical Report 1004.4383, Computing Research Repository, 2010.
 [13] David Doty. Randomized selfassembly for exact shapes. SIAM Journal on Computing, 39(8):3521–3552, 2010. Preliminary version appeared in FOCS 2009.
 [14] David Doty, Matthew J. Patitz, Dustin Reishus, Robert T. Schweller, and Scott M. Summers. Strong faulttolerance for selfassembly with fuzzy temperature. In FOCS 2010: Proceedings of the 51st Annual IEEE Symposium on Foundations of Computer Science, pages 417–426. IEEE, 2010.
 [15] Irvin R. Epstein and John A. Pojman. An introduction to nonlinear chemical dynamics: oscillations, waves, patterns, and chaos. Oxford University Press, USA, 1998.
 [16] Constantine Evans. Personal communication.
 [17] Kenichi Fujibayashi, Rizal Hariadi, Sung Ha Park, Erik Winfree, and Satoshi Murata. Toward reliable algorithmic selfassembly of DNA riles: A fixedwidth cellular automaton pattern. Nano Letters, 8(7):1791–1797, 2007.
 [18] Michael R. Garey and David S. Johnson. Computers and Intractability. W. H. Freeman, New York, 1979.
 [19] Michael A. Gibson and Jehoshua Bruck. Efficient exact stochastic simulation of chemical systems with many species and many channels. Journal of Physical Chemistry A, 104(9):1876–1889, March 2000.
 [20] Daniel T. Gillespie. Exact stochastic simulation of coupled chemical reactions. Journal of Physical Chemistry, 81(25):2340–2361, 1977.
 [21] Daniel T. Gillespie. Stochastic simulation of chemical kinetics. Annual review of physical chemistry, 58(1):35–55, 2007.
 [22] Kei Goto, Yoko Hinob, Takayuki Kawashima, Masahiro Kaminagab, Emiko Yanob, Gaku Yamamotob, Nozomi Takagic, and Shigeru Nagasec. Synthesis and crystal structure of a stable Snitrosothiol bearing a novel steric protection group and of the corresponding Snitrothiol. Tetrahedron Letters, 41(44):8479–8483, 2000.
 [23] Wilfried Heller and Thomas L. Pugh. “Steric protection” of hydrophobic colloidal particles by adsorption of flexible macromolecules. Journal of Chemical Physics, 22(10):1778, 1954.
 [24] Wilfried Heller and Thomas L. Pugh. “Steric” stabilization of colloidal solutions by adsorption of flexible macromolecules. Journal of Polymer Science, 47(149):203–217, 1960.
 [25] MingYang Kao and Robert T. Schweller. Reducing tile complexity for selfassembly through temperature programming. In SODA 2006: Proceedings of the 17th Annual ACMSIAM Symposium on Discrete Algorithms, pages 571–580, 2006.
 [26] MingYang Kao and Robert T. Schweller. Randomized selfassembly for approximate shapes. In Luca Aceto, Ivan Damgård, Leslie Ann Goldberg, Magnús M. HalldÃ³rsson, Anna Ingólfsdóttir, and Igor Walukiewicz, editors, ICALP 2008: International Colloqium on Automata, Languages, and Programming, volume 5125 of Lecture Notes in Computer Science, pages 370–384. Springer, 2008.
 [27] Harry R. Lewis and Christos H. Papadimitriou. Elements of the Theory of Computation. PrenticeHall, Inc., Upper Saddle River, New Jersey, 1998.
 [28] Chris Luhrs. Polyominosafe DNA selfassembly via block replacement. In Ashish Goel, Friedrich C. Simmel, and Petr Sosík, editors, DNA14, volume 5347 of Lecture Notes in Computer Science, pages 112–126. Springer, 2008.
 [29] Ján Maňuch, Ladislav Stacho, and Christine Stoll. Stepassembly with a constant number of tile types. In ISAAC 2009: Proceedings of the 20th International Symposium on Algorithms and Computation, pages 954–963, Berlin, Heidelberg, 2009. SpringerVerlag.
 [30] Matthew J. Patitz and Scott M. Summers. Identifying shapes using selfassembly (extended abstract). In ISAAC 2010: Proceedings of the 21st International Symposium on Algorithms and Computation, 2010. to appear.
 [31] Paul W. K. Rothemund and Erik Winfree. The programsize complexity of selfassembled squares (extended abstract). In STOC 2000: Proceedings of the ThirtySecond Annual ACM Symposium on Theory of Computing, pages 459–468, 2000.
 [32] Paul W.K. Rothemund, Nick Papadakis, and Erik Winfree. Algorithmic selfassembly of DNA Sierpinski triangles. PLoS Biology, 2(12):2041–2053, 2004.
 [33] Robert Schweller. Personal communication.
 [34] Nadrian C. Seeman. Nucleicacid junctions and lattices. Journal of Theoretical Biology, 99:237–247, 1982.
 [35] Neil J. Sloane. The OnLine Encyclopedia of Integer Sequences. http://oeis.org/wiki/A000372. Dedekind numbers: number of monotone Boolean functions of n variables or number of antichains of subsets of an nset.
 [36] David Soloveichik and Erik Winfree. Complexity of selfassembled shapes. SIAM Journal on Computing, 36(6):1544–1569, 2007. Preliminary version appeared in DNA 10.
 [37] Scott M. Summers. Reducing tile complexity for the selfassembly of scaled shapes through temperature programming. Technical Report 0907.1307, Computing Research Repository, 2009.
 [38] Leroy G. Wade. Organic Chemistry. Prentice Hall, 2nd edition, 1991.
 [39] Hao Wang. Proving theorems by pattern recognition – II. The Bell System Technical Journal, XL(1):1–41, 1961.
 [40] Hao Wang. Dominoes and the AEA case of the decision problem. In Proceedings of the Symposium on Mathematical Theory of Automata (New York, 1962), pages 23–55. Polytechnic Press of Polytechnic Inst. of Brooklyn, Brooklyn, N.Y., 1963.
 [41] Erik Winfree. Algorithmic SelfAssembly of DNA. PhD thesis, California Institute of Technology, June 1998.
 [42] Erik Winfree. Selfhealing tile sets. In Junghuei Chen, Natasa Jonoska, and Grzegorz Rozenberg, editors, Nanotechnology: Science and Computation, Natural Computing Series, pages 55–78. Springer, 2006.
Appendix A Appendix: Formal Definition of the Abstract Tile Assembly Model
This section gives a terse definition of the abstract Tile Assembly Model (aTAM, [41]). This is not a tutorial; for readers unfamiliar with the aTAM, [31] gives an excellent introduction to the model.
Fix an alphabet . is the set of finite strings over . Given a discrete object , denotes a standard encoding of as an element of . , , , denote the set of integers, positive integers, nonnegative integers, and nonnegative real numbers, respectively. For a set , denotes the power set of . Given , the full grid graph of is the undirected graph , where , and for all , ; i.e., if and only if and are adjacent on the integer Cartesian plane. A shape is a set such that is connected.
A tile type is a tuple ; i.e., a unit square with four sides listed in some standardized order, each side having a glue label (a.k.a. glue) . For a set of tile types , let denote the set of all glue labels of tile types in . Let denote the directions consisting of unit vectors . Given a tile type and a direction , denotes the glue label on in direction . We assume a finite set of tile types, but an infinite number of copies of each tile type, each copy referred to as a tile. An assembly is a nonempty connected arrangement of tiles on the integer lattice , i.e., a partial function such that is connected and . The shape of is . Given two assemblies , we say is a subassembly of , and we write , if and, for all points , .
A strength function is a function indicating, for each glue label , the strength with which it binds. Let be an assembly and let and such that . Let and . We say that the tiles and at positions and interact if and , i.e., if the glue labels on their abutting sides are equal and have positive strength. Each assembly induces a binding graph , a grid graph , where , and .^{10}^{10}10For and , is a spanning subgraph of : and . Given , is stable if every cut of has weight at least , where the weight of an edge is the strength of the glue it represents. That is, is stable if at least energy is required to separate into two parts. When is clear from context, we say is stable.
A tile assembly system (TAS) is a triple , where is a finite set of tile types, is the finite, stable seed assembly, is the strength function, and is the temperature. Given two stable assemblies , we write if and . In this case we say produces in one step.^{11}^{11}11Intuitively means that can grow into by the addition of a single tile; the fact that we require both and to be stable implies in particular that the new tile is able to bind to with strength at least . It is easy to check that had we instead required only to be stable, and required that the cut of separating from the new tile has strength at least , then this implies that is also stable. If , , and , we write . The frontier of is the set , the set of empty locations at which a tile could stably attach to .
A sequence of assemblies is a assembly sequence if, for all , . We write , and we say produces (in 0 or more steps) if there is a assembly sequence of length such that 1) , 2) , and 3) for all , . In this case, we say that is the result of , written . If is finite then it is routine to verify that .^{12}^{12}12If we had defined the relation based on only finite assembly sequences, then would be simply the reflexive, transitive closure of . But this would mean that no infinite assembly could be produced from a finite assembly, even though there is a welldefined, unique “limit assembly” of every infinite assembly sequence. We say is producible if , and we write to denote the set of producible canonical assemblies. The relation is a partial order on [Roth01, jSSADST].^{13}^{13}13In fact it is a partial order on the set of stable assemblies, including even those that are not producible. A assembly sequence is fair if, for all and all , there exists such that is defined; i.e., no frontier location is “starved”.
An assembly is terminal if is stable and . It is easy to check that an assembly sequence is fair if and only is terminal. We write to denote the set of producible, terminal canonical assemblies.
A TAS is directed (a.k.a., deterministic, confluent) if the poset is directed; i.e., if for each , there exists such that and .^{14}^{14}14The following two convenient characterizations of “directed” are routine to verify. is directed if and only if . is not directed if and only if there exist and such that . We say that a TAS strictly selfassembles a shape if, for all , ; i.e., if every terminal assembly produced by has shape . If strictly selfassembles some shape , we say that is strict. Note that the implication “ is directed is strict” holds, but the converse does not hold. We say that uniquely selfassembles a shape if is directed and it strictly selfassembles .
When is clear from context, we may omit from the notation above and instead write , , , frontier, assembly sequence, produces, producible, and terminal. We also assume without loss of generality that every single glue or double glue occurring in some tile type in some direction also occurs in some tile type in the opposite direction, i.e., there are no “effectively null” single or double glues.