Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Introduction to Algorithmic Tile Self-Assembly.

Similar presentations


Presentation on theme: "An Introduction to Algorithmic Tile Self-Assembly."— Presentation transcript:

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

10

11 Tile

12 Glues

13

14

15 Tile

16 Glues

17 Strength-1 Strength-2

18

19 ×∞ Temperature

20

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.

23

24

25

26 Cellular automata

27 Tile assembly can simulate CA

28

29

30

31 Binary counter

32 Self-assembling tile systems (finite & infinite)

33

34

35

36

37

38

39 Initiatilization Copy tiles Increment tiles Halt tile

40

41

42

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)

79

80

81 A Seedless World?

82

83

84

85 

86 Two-Handed Assembly Model (2HAM)

87

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

91

92 Simulation captures dynamics

93 Simulation captures production


Download ppt "An Introduction to Algorithmic Tile Self-Assembly."

Similar presentations


Ads by Google