Building n by n squares
Building \(n \times n\) squares
Since Winfree showed in his thesis [1] that the aTAM is computationally universal, we know that we can algorithmically direct the growth of assemblies. This ability allows for not only the creation of complicated and precise shapes, but also often for them to be created very tile type efficiently (i.e. they require small tile sets - those with few numbers of unique tile types). A benchmark problem for tile-based self-assembly is that of assembling an \(n \times n\) square since this requires that the tiles somehow compute the value of \(n\) and thus "know when to stop" at the boundaries. In [2] Rothemund and Winfree showed that binary counters can be used to guide the growth of squares and that thereby it is possible to self-assemble an \(n \times n\) square using \(O(\log n)\) tile types.
The figure on the right shows a high-level overview of the construction. Essentially, \(\log n\) tile types are required so that each bit of (a number related to) the dimension \(n\) can be encoded with a unique tile type. The seed is taken to be one of those tile types so that the row of them forms attached to the seed. Above that, a fixed-width binary counter (which is composed of the same constant set of tile types regardless of \(n\)) begins counting upward from that value until it reaches its maximum possible value (i.e. all \(1\)'s), at which point it terminates upward growth. With the vertical bar representing the counter in place, a very basic constant (for all \(n\)) set of tiles can be used to "pass a signal" along a diagonal path which is limited by the height (and width) of the counter, and to finally fill in below the diagonal to finish the formation of the square.
In [3], Adleman, Cheng, Goel, and Huang improved the previous construction for squares to require the slightly fewer \(O\left(\frac{\log n}{\log \log n}\right)\) tile types, which was also proven to be a matching lower bound (for almost all \(n\)) by using an information theoretic argument.
Note that while squares can be quite efficiently self-assembled, the tile complexity of lines and rectangles differs. For instance, the tile complexity lower bounds for \(1 \times n\) lines is \(n\), and for \(k \times n\) rectangles (where \(k \le n)\) is \(\frac{n^{1/k}}{k}\) (which was shown by Cheng, Aggarwal, Goldwasser, Kao, Schweller, and Moisset de Espanés in [4]).
References
- ↑
Erik Winfree - Algorithmic Self-Assembly of DNA
- Ph.D. Thesis, California Institute of Technology , June 1998
- BibtexAuthor : Erik Winfree
Title : Algorithmic Self-Assembly of DNA
In : Ph.D. Thesis, California Institute of Technology -
Address :
Date : June 1998
- ↑
Paul W. K. Rothemund, Erik Winfree - The Program-size Complexity of Self-Assembled Squares (extended abstract)
- STOC '00: Proceedings of the thirty-second annual ACM Symposium on Theory of Computing pp. 459--468, Portland, Oregon, United States,2000
- BibtexAuthor : Paul W. K. Rothemund, Erik Winfree
Title : The Program-size Complexity of Self-Assembled Squares (extended abstract)
In : STOC '00: Proceedings of the thirty-second annual ACM Symposium on Theory of Computing -
Address : Portland, Oregon, United States
Date : 2000
- ↑
Leonard Adleman, Qi~Cheng, Ashish Goel,, Ming-Deh Huang - Running time and program size for self-assembled squares
- ↑
Qi~Cheng, Gagan Aggarwal, Michael~H. Goldwasser, Ming-Yang Kao, Robert~T. Schweller,, Pablo~Moisset de~Espanés - Complexities for generalized models of self-assembly
Cite error: <ref>
tag with name "Roth01" defined in <references>
is not used in prior text.
Cite error: <ref>
tag with name "jSSADST" defined in <references>
is not used in prior text.
Cite error: <ref>
tag with name "SolWin07" defined in <references>
is not used in prior text.