Difference between revisions of "Building n by n squares"

From self-assembly wiki
Jump to navigation Jump to search
(Building $n \times n$ squares)
(Building $n \times n$ squares)
Line 6: Line 6:
 
Figure 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.
 
Figure 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.
  
  [[File:square.pdf|thumb|right|120px|The high level schematic for building an $n \times n$ square using $O(\log n)$ tile types]]
+
  [[File:square.png|thumb|right|120px|The high level schematic for building an $n \times n$ square using $O(\log n)$ tile types]]
  
 
==References==
 
==References==

Revision as of 11:48, 11 June 2013

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.

Figure 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.

The high level schematic for building an \(n \times n\) square using \(O(\log n)\) tile types

References

  1. Erik Winfree - Algorithmic Self-Assembly of DNA
    Ph.D. Thesis, California Institute of Technology , June 1998
    Bibtex
    Author : Erik Winfree
    Title : Algorithmic Self-Assembly of DNA
    In : Ph.D. Thesis, California Institute of Technology -
    Address :
    Date : June 1998
  2. 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
    Bibtex
    Author : 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

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.