Download presentation
Presentation is loading. Please wait.
1
DNA Self-Assembly The complexity of self-assembled shapes
2
Self-Assembly “The process by which an organized structure can spontaneously form from simple parts” Tile Assembly Model 2-D self-assembly of square units called tiles. Promising applications Nanofabrication
3
Self-Assembly & Computation Self-assembled “shape” = Output of computational process. We are interested in shape complexity (defined later on): Kolmogorov Complexity Tile Complexity
4
Tile Assembly Model
5
Grid of unit square locations i Z j Z (i, j)
6
Directions: d D = {N,E,S,W} i Z j Z N S EW N (i, j) = (i, j+1) W (i, j) = (i-1, j) S (i, j) = (i, j-1) E (i, j) = (i+1, j) N = S -1, S = N -1 W = E -1, E = W -1
7
Bond types: σ Σ A bond type describes a ‘side’ of a tile (in terms of interaction with adjacent). Special bond type for no interaction: σ 1 :σ 2 :σ 3 : null:
8
Tile types: t = (σ N, σ Ε, σ S, σ W ) Σ 4 Defined by its four bonds Special tile: t 1 = (σ 1, null, σ 1, null) = t 2 = (null, null, σ 2, σ 3 ) = empty = (null, null, null, null) t Tt T
9
Tile (instance) t = (t, (i, j)) T Z 2 A tile t is defined by its type t and its position (i, j) in the grid. j Example: t = (t 2, (2, 2)) u = (t 2, (3, 1)) v = (t 1, (1, 1)) t uv i
10
Helper functions Let t = (t, (i, j)) = ((σ N, σ E, σ S, σ W ), (i, j)) type(t) = t pos(t) = (i, j) bond d (t) = bond d (t) = σ d adj(t,u) = true if d D: pos(t) = d(pos(u))
11
Helper functions (example) type(t) = t 2, pos(t) = (2, 2), bond S (t) = σ 2 S(W(pos(t)) = pos(v) = (1,1) j t uv t = (t 2, (2, 2)) u = (t 2, (3, 1)) v = (t 1, (1, 1)) σ 1 :σ 2 :σ 3 : i
12
Configuration A configuration is a set of tiles, with exactly one tile in every location (i, j) For any configuration A, notation A(i, j) indicates the tile at location (i, j) Practically, specify a set of non-empty tiles; all other tiles are implicitly empty.
13
Strength functions (definition) Bond strength function: g(σ, σ´) : Σ 2 → Z Defined for all pairs of bonds (including null) Tile strength function: Γ(t, u) Defined for adjacent tiles t and u Equals to g(σ, σ´) where σ and σ´ are the bond types of the adjacent sides of t and u respectively
14
Strength functions (example) σ1σ1 σ2σ2 σ3σ3 null σ1σ1 σ2σ2 σ3σ3 1 0 0 0 0 7 0 0 0 0 2 0 0 0 0 0 Example of g tu v Γ(t, u) = g(σ 1, σ 1 ) = 1 Γ(u, v) = g(σ 2, σ 2 ) = 7 Formally:
15
Strength function properties g is symmetric g(σ, null) = 0 g is non-negative g is diagonal Diagonal means that only matching bond types can interact!
16
Tile system T = (T, t s, g, τ) A tile system T is defined by: A set Τ of tile types A seed tile t s, with type(t s ) T A strength function g A threshold τ t1t1 t2t2...
17
Self-Assembly (definition) Self assembly is defined by a relation between configurations Suppose A and B are identical configs, except for t, which exists in B but not in A: A(pos(t)) = empty, B(pos(t)) = t Self assembly: A→B if Σ d D Γ(t, A(d(pos(t)))) ≥ τ
18
Self-Assembly (example) σ1σ1 σ2σ2 σ3σ3 null σ1σ1 σ2σ2 σ3σ3 1 0 0 0 0 7 0 0 0 0 2 0 0 0 0 0 Contents of g x y xt y Configuration AConfiguration B A→B only if Γ(t,x) + Γ(t,y) = 1 + 7 ≥ τ
19
Transitive Closure The reflexive transitive closure of → is denoted as . (That is, we say that A B if we can keep adding tiles to A and reach B: A → A 2 → A 3 →... → B). We are interested in self-assemblies from a single seed tile t s !
20
Assemblies for a tile system T Prod(T) = {A, such that {t s } A) All the configurations reachable from t s in T. Term(T) = {A Prod(T), B≠A: A B} All the terminal assemblies reachable from t s T uniquely produces A if Term(T) = {A}.
21
Threshold τ A common choice is τ = 2, where the strength function ranges over {0, 1, 2}. Systems with τ = 1 and a strength function ranging over {0, 1} are rather limited.
22
Example of T = (T, t s, g, τ) Set T of tile types: t s = (t s, (2, 4)) g = I = diag{1} τ = 1 NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- tsts σ1σ1 t1t1 σ2σ2 σ1σ1 t2t2 σ2σ2 σ3σ3
23
What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- tsts σ1σ1
24
What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- tsts σ1σ1 t1t1 σ2σ2 σ1σ1
25
What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- tsts σ1σ1 t1t1 σ2σ2 σ1σ1 t2t2 σ2σ2 σ3σ3
26
What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 --
27
Shape scaling Coordinated* shape of assembly A: S A = {(i, j) such that A(i, j) ≠ empty} (This is a single connected component) For a set of locations S, and c Z +, define a c-scaling of S: S c = {(i, j) such that } (This is a magnification of S by a factor of c) *shape within a fixed coordinate system
28
Shape equivalence Coordinated shapes S 1 and S 2 are scale- equivalent if c,d Z + such that S 1 c = S 2 d Coordinated shapes S 1 and S 2 are translation-equivalent if they can be made equivalent by translation. We write S 1 S 2 if c,d Z + such that S 1 c is translation-equivalent to S 2 d
29
Shape equivalence (example) S1S1 S2S2 S3S3 S 1 is translation-equivalent to S 2 S 2 is scale-equivalent to S 3 S 1 S 3
30
Equivalence class Scale-equivalence, translation-equivalence and are equivalence relations. The equivalence class of coordinated shapes under the relation “ ” is called the shape Ŝ. We say that Ŝ is the shape of assembly A if S A Ŝ.
31
Tile complexity The tile complexity of a coordinated shape S is the minimum number n of tile types needed by a tile system T to uniquely produce that shape. K sa (S) = min{n: T with |T|=n, {t s } S*} Definition directly extended for a shape Ŝ *Formally, {t s } A, and S is the coordinated shape of A
32
Tile complexity (examples) Let’s examine Stanford’s initials tsts tsts
33
Tile complexity (“S”) Minimum Solution: K sa =11 tsts NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- As complex as it can get (need as many tile types as tiles)!
34
Tile complexity (“U”) Possible solution: n=11 t9t9 t5t5 t2t2 t4t4 t3t3 t8t8 t 10 t7t7 t1t1 t6t6 tsts NESW tsts -σ6σ6 -σ1σ1 t1t1 σ2σ2 σ1σ1 -- t2t2 σ3σ3 -σ2σ2 - t3t3 σ4σ4 -σ3σ3 - t4t4 σ5σ5 -σ4σ4 - t5t5 --σ5σ5 - t6t6 σ7σ7 --σ6σ6 t7t7 σ8σ8 -σ7σ7 - t8t8 σ9σ9 -σ8σ8 - t9t9 σ 10 -σ9σ9 - t 10 --σ 10 - Can we do better?
35
Tile complexity (“U”) Optimal solution: K sa =7 t4t4 t5t5 t2t2 t4t4 t3t3 t3t3 t5t5 t2t2 t1t1 t6t6 tsts NESW tsts -σ6σ6 -σ1σ1 t1t1 σ2σ2 σ1σ1 -- t2t2 σ3σ3 -σ2σ2 - t3t3 σ4σ4 -σ3σ3 - t4t4 σ5σ5 -σ4σ4 - t5t5 --σ5σ5 - t6t6 σ72σ72 --σ6σ6 t7t7 σ8σ8 -σ7σ7 - t8t8 σ9σ9 -σ8σ8 - t9t9 σ 10 -σ9σ9 - t 10 --σ 10 - Notice that the leg formed by t 2 to t 5 is the same as t 7 to t 10. Modify t 6 by placing bond type σ 2 north (instead of σ 7 ). The assembly will reuse t 2 to t 5 !
36
Binary Counter K sa =? 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000
37
Binary Counter tsts L U 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000
38
0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000
39
0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Assembly grows in this direction Matching “inputs” “Outputs” Type of tile can be determined by two input conditions, and can forward two outputs
40
Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 I am the same as my SOUTH, unless it’s time to FLIP! But how to determine if it’s time to FLIP?
41
Time to flip? 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Black = Same as SOUTH Red = Different than south, cause it’s time to flip! FLIP up to the first 1 from the right, therefore nice property to propagate EAST-to-WEST
42
Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 FLIP input FLIP output NUM input NUM output
43
Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1
44
Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1 0
45
Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1 01
46
Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1 0 1 1
47
Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1 0 01 1
48
Binary Counter K sa =7 tsts L U 1 00 1 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000
49
Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000
50
Variant of Sierpinski Triangle K sa =7 1 11 11 11 0 11 01001 111001 01010 11 00
51
Compute the tile complexity? Given a coordinated shape S, can I compute its complexity K sa (S)? (Combinatorial optimization problem) Yes, but it’s hard (NP-complete)!
52
Turing Machine A Turing Machine is a simple computation model which can be used to compute any function. Most common form: 1-dimensional infinite tape with 0s and 1s Head located at some position on the tape Internal state, program Can read/write tape, move head
53
Kolmogorov Complexity The Kolmogorov complexity of a binary string x with respect to a universal Turing machine U is the smallest program p that outputs x: K U (x) = min{|p|: U(p) = x} The Kolmogorov complexity of a shape S is the smallest program that can output it as a list of locations encoded in some binary form : K(S) = min{|s|: U(s) = } (directly extended for Ŝ)
54
Complexity theorem a 0, b 0, a 1, b 1, such that Ŝ: a 0 K(Ŝ)+b 0 ≤ K sa (Ŝ)logK sa (Ŝ) ≤ a 1 K(Ŝ)+b 1 Therefore K = Θ(nlogn)
55
Proof for first part Create a Turing machine that simulates self-assembly. Write a fixed-size program p 0 to do the assembly of a tile system T that reproduces Ŝ. Final program p = p 0 + is binary encoding of tile system T. What is the size of ? In other words, how many bits are needed to describe T?
56
Size of = T contains n = K sa (Ŝ) tile types. Each tile type is specified by four bonds At most 4n different bond types For every tile type, 4log(4n) bits Therefore, T is specified in 4nlog(4n) bits Note: t s is included in T. g, τ are not directly needed; for each tile type, specify which of the 16 subsets of D it can bind Needs 16n bits
57
Proof (cont) Therefore final size of program: cnlogn+d K(Ŝ) = min{programs} ≤ cnlogn+d Thus: a 0 K(Ŝ)+b 0 ≤ K sa (Ŝ)logK sa (Ŝ)
58
Compute the tile complexity? (v2) Given a shape class Ŝ, can I compute its complexity K sa (Ŝ)? No, K sa (Ŝ) is uncomputable! In other words, language L is undecidable: L = { (ℓ, n) s.t. ℓ = for some S Ŝ and K sa (Ŝ)≤n }
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.