Download presentation
Presentation is loading. Please wait.
Published byAmos Roberts Modified over 9 years ago
1
An Introduction to Algorithmic Tile Self-Assembly
2
Simple particles coalescing into complex superstructures. Self-Assembly
3
Simple particles coalescing into complex superstructures.
4
Self-Assembly Simple particles coalescing into complex superstructures.
5
Self-Assembly Simple particles coalescing into complex superstructures.
6
Crystallization
7
Morphogenesis
8
Natural Self-Assembly
9
Synthetic Self-Assembly with DNA
11
Tile
12
Glues
15
Tile
16
Glues
17
Strength-1 Strength-2
19
×∞ Temperature
21
Self-assembling tiles: a real thing
22
Assembling patterned shapes P. W. K. Rothemund, N. Papadakis, E. Winfree, Algorithmic self-assembly of DNA Sierpinski triangles. PLoS Biology (12), 2004.
26
Cellular automata
27
Tile assembly can simulate CA
31
Binary counter
32
Self-assembling tile systems (finite & infinite)
39
Initiatilization Copy tiles Increment tiles Halt tile
43
Building squares Build a column and row, then fill L-shape with tiles.
44
Encode start and end values: Start: north glues (0..2 t ) End: # tiles (2 t ) Building a rectangle of height h (h in 2 t..2 t+1 ) requires O(t) = O(log(h)) tiles. Building rectangles
45
Encode start and end values: Start: north glues (0..2 t ) End: # tiles (2 t ) Building rectangles Possible to do better?
46
Each tile set encodes the height of the rectangle built. The tile set needs sufficient information to do so. Most heights have ≥ 0.5*log 2 (h) bits of information. How many bits of information does a tile set with t tile types have? Let g be number of glue types on the tiles. Then g/4 ≤ t ≤ g 4. So specifying a tile takes ≤ 4*log 2 (g) ≤ 4*log 2 (4t) ≤ 12*log 2 (t) bits. So the entire set has at most t(12*log 2 (t)) ≤ 12t*log 2 (t) bits. So most heights need 0.5*log 2 (h) ≤ 12t*log 2 (t). By algebra, t = Ω (log(h)/loglog(h)).
47
Building rectangles and squares Possible to build any height rectangle and any size square (at τ = 2) using O(log(h)) tile types. More than half of all heights require a tile set of size Ω (log(h)/loglog(h)). Possible to build any height rectangle (at τ = 2) using O(log(h)/loglog(h)) tile types. [Adleman et al. 2001] [Winfree, Soloveichik 2000]
48
Building rectangles and squares (at τ = 1) h tile types h 2n-1 tile types n n Possible to do better? (Open problem)
49
Computing with self-assembly (via CA) Some CA can simulate Turing machines: CA ≥ TM Can simulate these CA with tiles: SA ≥ CA So tiles can simulate Turing machines: SA ≥ TM [Lindgren, Nordahl 1990] [Winfree 1998] [http://mathworld.wolfram.com/Rule90.html]
50
Computing with self-assembly (direct) Input Computation Input Machine
51
A Turing machine example… [courtesy of Scott Summers]
52
q0q0 1 └┘ δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… q01q01 └┘ C0C0
53
q0q0 1 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… q01q01 └┘ C0C0
54
q2q2 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 1q 2└┘ └┘ δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L
55
q2q2 1 └┘ q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L 1q 2└┘ └┘
56
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L └┘ 1 1q 2└┘ └┘ C2C2 q 1└┘ └┘ 1 1
57
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1
58
q0q0 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 C3C3 q 0└┘ └┘ 1 11
59
q0q0 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11
60
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 C4C4 1 11q11q11
61
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11
62
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 C5C5 1 11q11q11
63
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11
64
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11 C6C6 1 11q11q11
65
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11 1 11q11q11
66
q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11 1 11q11q11 C7C7 111q 1└┘ 1
67
q1q1 1 └┘ q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11 1 11q11q11 111q 1└┘ 1
68
q0q0 1 └┘ q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11 1 11q11q11 111q 1└┘ 1 1 C8C8 └┘ 111q01q011
69
q0q0 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 C8C8 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11 1 11q11q11 111q 1└┘ 1 1 └┘ 111q01q011
70
q2q2 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 C8C8 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11 1 11q11q11 111q 1└┘ 1 1 └┘ 111q01q011 C9C9 q21q211111
71
q2q2 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 C8C8 C9C9 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1 1 q 0└┘ └┘ 1 11 1 1 11q11q11 1 11q11q11 1 11q11q11 111q 1└┘ 1 1 └┘ 111q01q011 q21q211111
72
q halt 1 └┘ Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… δ1 └┘ q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L 1111
73
“Zig-zag” simulation of a Turing machine
74
Building any shape optimally [Soloveichik, Winfree 2007] Encode shape via Turing machine. Do a BFS according to current location. Arbitrary scale factor!
75
Temperature-2 systems can require a tile to use cooperative bonds.
76
Temperature-1 systems do not have cooperative bonds.
77
Are τ =1 and τ =2 systems equally powerful? τ =1 (linear tile types) τ =2 (logarithmic tile types) We think building shapes takes linear tile types, and simulating Turing machines is impossible. Except in 3D, where τ =1 can do both of these things…
78
Abstract Tile Assembly Model (aTAM)
81
A Seedless World?
85
86
Two-Handed Assembly Model (2HAM)
88
How powerful is 2HAM relative to aTAM? Are there techniques that require a seed? No.
89
Every aTAM system can be simulated with a 2HAM system.
90
Simulation
92
Simulation captures dynamics
93
Simulation captures production
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.