Presentation is loading. Please wait.

Presentation is loading. Please wait.

Complexities for the Design of Self-Assembly Systems

Similar presentations


Presentation on theme: "Complexities for the Design of Self-Assembly Systems"— Presentation transcript:

1 Complexities for the Design of Self-Assembly Systems
May 3, 2006 Robert Schweller Electrical Engineering and Computer Science Department Northwestern University

2 Outline Background, Motivation Model Temperature Programming
Flexible Glue Self-Assembly Shape Verification Future Work

3 Molecular Building Blocks
T G C G A C G C

4 Molecular Building Blocks
[John Reif’s Group, Duke University]

5 DNA Scaffolding [Sung Ha Park, Constantin Pistol, Sang Jung Ahn, John H. Reif, Alvin R. Lebeck, Chris Dwyer, and Thomas H. LaBean, 2006]

6 Simulation of Cellular Automata
Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004) 340nm

7 Outline Background, Motivation Model Temperature Programming
Shape Verification Flexible Glue Self-Assembly Future Work

8 Tile Model of Self-Assembly
(Rothemund, Winfree STOC 2000) Tile System: t : temperature, positive integer G: glue function T: tileset s: seed tile

9 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

10 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

11 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

12 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

13 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

14 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

15 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

16 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

17 How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =

18 Each Shape Requires a Distinct Tile Set

19 Programmable, General Purpose Tile Set?

20 Programmable, General Purpose Tile Set?
. . .

21 Outline Background, Motivation Model Temperature Programming
Flexible Glue Self-Assembly Shape Verification Future Work

22 Multiple Temperature Model
- temperature may go up and down

23 Multiple Temperature Model
- temperature may go up and down t < t1 , t2 , ... , tr-1 , tr >

24 Multiple Temperature Model
- temperature may go up and down t < t1 , t2 , ... , tr-1 , tr > Tile Complexity: Number of Tiles Temperature Complexity: Number of Temperatures

25 Building k x n Rectangles
k-digit, base n(1/k) counter: k n

26 Building k x n Rectangles
k-digit, base n(1/k) counter: k If N is the kth power of some integer, then you choose a base that is big enough and then seed the counter to an appropriate value. Note that for k<<N, N^1/k dominates. n Tile Complexity:

27 two temperatures t = 4 3 1 3 3 n

28 two temperatures t = n

29 two temperatures Tile Complexity: t = n

30 two temperatures Tile Complexity: n Kolmogorov Complexity
(Rothemund, Winfree STOC 2000) Beats Standard Model

31 Programmable, General Purpose Tile Set?
. . .

32 High Level Approach Given: n log n

33 High Level Approach Given: n log n 1 temp

34 High Level Approach Given: n log n 1 temp 1

35 High Level Approach Given: n log n 1 temp 1

36 High Level Approach Given: n 1011001 log n 1 1 1 . . . . . . temp 1 1
1 1 . . . . . . temp 1 1 1 1

37 High Level Approach . . . 1 . . . temp 1 1 1 1

38 High Level Approach . . . 1 . . . temp 1 1 1 1

39 High Level Approach . . . 1 . . . temp 1 1 1 1

40 Assembly of n x n Squares
N - k k

41 Assembly of n x n Squares
n - k k

42 Assembly of n x n Squares
n - k k

43 Assembly of n x n Squares
n - k Complexity: k

44 Assembly of n x n Squares
n – log n Complexity: log n

45 Assembly of n x n Squares
n – log n Complexity: seed row log n

46 Encoding a Single Bit 1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g

47 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a

48 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a

49 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a

50 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a

51 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a

52 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 1 z Z g g g g g g g g a g g a

53 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 1 z Z g g g g g g g g a g g a

54 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a

55 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z z Z g g g g g g
1 1 0’ 1’ z z 1 0’ z z Z g g g g g g g g a g g a

56 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a

57 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a

58 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a

59 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a

60 Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a

61 Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ z z 0’ z Z g g Z g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a

62 Encoding a Single Bit t = < 2, 5 > x 1 0’ 1’ z z 0’ z Z g g Z g
1 1 0’ 1’ z z 1 x 0’ z Z g g Z g g g g g g a g g a

63 Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ 0’ z z z Z g g Z g g
1 1 0’ 1’ 0’ z z 1 1 z Z g g Z g g g g g g a g g a

64 Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ 1’ z z z z Z g g Z g
1 1 0’ 1’ 1’ z z 1 1 z z Z g g Z g g g g g g a g g a

65 Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ z z 1’ z Z g g Z g g
1 1 0’ 1’ z z 1 1’ z Z g g Z g g g g g g a g g a

66 Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ 1 z z 1’ z Z g g Z g
1 1 0’ 1’ 1 z z 1 1’ z Z g g Z g g g g g g a g g a

67 Encoding a Single Bit t = < 2, 5 > t = < 2 > 1 0’ 1’ 1 z z
1 1 0’ 1’ 1 z z 1 0’ 1’ z Z g g Z Z g g g g g g a g g a a

68 Goal:

69 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > a s b

70 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a s b

71 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a s X b

72 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a s Y b

73 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a s Y b b

74 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a s Y b b

75 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a s Y X b b

76 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a a s Y Y b b b

77 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a a s Y Y b b b

78 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a s Y Y b b b

79 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a s Y Y X b b b

80 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a s Y Y Y b b b b

81 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a s Y Y Y b b b b

82 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a s Y Y Y X b b b b

83 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a a s Y Y Y Y b b b b b

84 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a a s Y Y Y Y b b b b b

85 Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a a s Y Y Y Y X b b b b b

86

87

88 Assembly of n x n Squares
n – log n log n

89 Assembly of n x n Squares
O(log n)

90 Assembly of n x n Squares
O(log n)

91 Results O(1) n x n squares O(log n) O(1) tile complexity
temperature complexity Temperature Programming O(1) O(log n) (Adleman, Cheng, Goel, Huang STOC 2001) O(1)

92 Results O(1) n x n squares O(log n) O(1) ? < ? < log n
tile complexity temperature complexity Temperature Programming O(1) O(log n) (Adleman, Cheng, Goel, Huang STOC 2001) O(1) Smooth Trade off? ? < ? < log n

93 Results O(1) n x n squares O(log n) O(1) ? < ? < log n
tile complexity temperature complexity Temperature Programming O(1) O(log n) (Adleman, Cheng, Goel, Huang STOC 2001) O(1) Smooth Trade off? ? < ? < log n For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously

94 General Shapes? General Scaled Shapes [Soloveichik, Winfree 2004]
O(Ks*) Tile complexity, single temperature Combined with Temperature Programming: O(1) Tile Complexity O(Ks) Temperature Complexity General, Constant Scaled Shapes? O(|S|) Temperature Complexity Multiple temperature model raising and lowering temperature multiple times monotonically increasing temperatures Time complexity versus tile complexity multiple tile model and time complexity

95 Outline Background, Motivation Model and Basics
Temperature Programming Flexible Glue Self-Assembly Shape Verification Future Work

96 Only identical glues attract
G(y,y) = 2 G(g,g) = 2 G(r,r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =

97 Only identical glues attract
G(y,y) = 2 G(g,g) = 2 G(r,r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T = We don’t have: G(p,b) = 1

98 Flexible Glue Model Substantial Reduction in Tile Complexity
Remove the restriction that G(x, y) = 0 for x!=y Substantial Reduction in Tile Complexity Design of Flexible glues

99 n x n Squares --- Flexible Glue Model
Kolmogorov lower bounds: Standard (Rothemund, Winfree STOC 2000) Flexible Standard Glue Function Flexible Glue Function a b c d e f a b c d e f a b c d e f a b c d e f

100 Assembly of n x n Squares
n – log n Complexity: seed row log n

101 n x n Square --- Flexible Glue Model
goal: - seed binary counter to a given value - 1 1 1 1 1 1 1 1 1 1 1 All the complexity is coming from that damn seed row! 2 log n

102 n x n Square --- Flexible Glue Model
5 3 3 3 4 4 4 4 4 4 5 5 5 5 . . . 3 4 5 1 2 3 4 5 1 2 3 4 5 All the complexity is coming from that damn seed row!

103 n x n Square --- Flexible Glue Model
key idea: 5 | | | | | | | | | | | | | 5 3 3 3 4 4 4 4 4 4 5 5 5 5 . . . 3 4 5 1 2 3 4 5 1 2 3 4 5 All the complexity is coming from that damn seed row!

104 n x n Square --- Flexible Glue Model
G(b4, p5) = 1 G(b4, w5) = 0 5 p5 5 5 5 5 w5 b4 1 2 3 4 5

105 n x n Square --- Flexible Glue Model
5 given B = … encode B into glue function p5 b4 4 p0 p1 p2 p3 p4 p5 b b b b b b B = …

106 n x n Square --- Flexible Glue Model
build block Complexity:

107

108 Assembly of n x n Squares
n – log n 2 x log n block log n

109 Assembly of n x n Squares
Complexity: O(log n)

110 Assembly of n x n Squares
Tile Complexity for n x n squares Flexible Glue: (Adleman, Cheng, Goel, Huang STOC 2001) Standard:

111 Outline Background, Motivation Model and Basics
Temperature Programming Flexible Glue Self-Assembly Reduced Tile Complexity Glue Design Shape Verification Future Work

112 Glue Design ACGGT TGCCA GGGAT CCCTA GTTGG CAACC CGTAC GCATG GACTC
CTGAG

113 Glue Design- Standard ACGGT TGCCA GGGAT CCCTA GTTGG CAACC CGTAC GCATG
GACTC CTGAG

114 Glue Design- Standard ACGGT TGCCA GGGAT CCCTA GTTGG CAACC CGTAC GCATG
GACTC CTGAG

115 Glue Design- Standard ACGGT
Design n strings such that each pair of strings has Hamming distance at least . GGGAT GTTGG CGTAC GACTC

116 Flexible Glue Design

117 Flexible Glue Design

118 Flexible Glue Design

119 Flexible Glue Design if (u,v)  G, HD((u), (v)) ≤ 
Input: - Graph G(V,E) - separation parameter  Output: A -labeling: A labeling :V→{0,1}* such that for some , ,  -   , if (u,v)  G, HD((u), (v)) ≤  if (u,v)  G, HD((u), (v))   Minimize label length

120 Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

121 Graph Decomposition Strategy: - Decompose graph - Label each Subgraph
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Strategy: - Decompose graph - Label each Subgraph - Concatenate labels

122 Graph Decomposition Strategy: - Decompose graph - Label each Subgraph
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Strategy: - Decompose graph - Label each Subgraph - Concatenate labels

123 Graph Decomposition Need Exact -labeling:
Each pair of non-adjacent nodes have exactly the same Hamming distance. Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

124 Exact -labeling for Matchings
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

125 Exact -labeling for Matchings
Hadamard Code (n, ) Example: n=8, =4 Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Hamming Distance: Exactly  Word Length: O(n + )

126 Exact -labeling for Matchings
Hadamard Code (n, ) Example: n=8, =4 Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Hamming Distance: Exactly  Word Length: O(n + )

127 Matching Decomposition
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

128 Matching Decomposition
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

129 Matching Decomposition
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Length per Matching: O(n + ) Number of Matchings: O(D) Label Length: O(Dn + D)

130 Tough Example Label Length: O(Dn + D) Length per Matching: O(n + )
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Length per Matching: O(n + ) Number of Matchings: O(D) Label Length: O(Dn + D)

131 Star Graphs length O(n) exact -labeling
Star Graph: All edges are adjacent to the same vertex - Non-trivial application of the Hadamard Code yields: length O(n) exact -labeling Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

132 Star Destroyer 1. Decompose graph into “large” stars:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

133 Star Destroyer 1. Decompose graph into “large” stars:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

134 Star Destroyer 1. Decompose graph into “large” stars:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

135 Star Destroyer 1. Decompose graph into “large” stars:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star 2. Decompose remaining graph into matchings: - O(n+) length per matching Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

136 Star Destroyer Star Destoyer yields length:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star 2. Decompose remaining graph into matchings: - O(n+) length per matching Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems

137 Flexible Word Design Results
Word Length Matching Algorithm General Graphs Star Destoyer Other Work -Trees, Lines and Rings -Distance Labeling -Application to applying DNA computing to digital signal processing

138 Outline Background, Motivation Model and Basics
Temperature Programming Flexible Glue Self-Assembly Shape Verification Future Work

139 Shape Verification Shape Verification Problem Input: T, a tile system
S, a shape Question: Does T uniquely assemble S. Standard: P (Adleman, Cheng, Goel, Huang, Kempe, Flexible glue: P Espanes, Rothemund, STOC 2002) Unique Shape: Co-NPC Multiple Temperature: NP-hard, Co-NP-hard Multiple Tile: NP-hard, Co-NP-hard

140 Shape Verification: Unique-Shape Model
*

141 Shape Verification: Unique-Shape Model
* x3 x2 x1 *

142 Shape Verification: Unique-Shape Model
* x3 x2 x1 * * c1 c2 c3 *

143 * 1 x3 x2 x1 * * c1 c2 c3 * Shape Verification: Unique-Shape Model x x
x x2 x x1 x * * c1 c2 c3 *

144 Shape Verification: Unique-Shape Model
* x3 1 x2 1 x1 * * c1 c2 c3 *

145 Shape Verification: Unique-Shape Model
* x3 1 x2 1 x1 c1 * * c1 c2 c3 *

146 Shape Verification: Unique-Shape Model
* x3 1 x2 1 ok x1 c1 * * c1 c2 c3 *

147 Shape Verification: Unique-Shape Model
* x3 1 ok x2 1 ok x1 c1 * * c1 c2 c3 *

148 Shape Verification: Unique-Shape Model
* x3 1 ok x2 1 ok x1 c1 c2 * * c1 c2 c3 *

149 Shape Verification: Unique-Shape Model
* x3 1 ok x2 1 ok c2 x1 c1 c2 * * c1 c2 c3 *

150 Shape Verification: Unique-Shape Model
* x3 1 ok ok x2 1 ok c2 x1 c1 c2 * * c1 c2 c3 *

151 * x3 1 ok ok x2 1 ok c2 x1 c1 c2 ok * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * x3 1 ok ok x2 1 ok c2 x1 c1 c2 ok * * c1 c2 c3 *

152 * x3 1 ok ok ok x2 1 ok c2 ok x1 c1 c2 ok * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * x3 1 ok ok ok x2 1 ok c2 ok x1 c1 c2 ok * * c1 c2 c3 *

153 * * x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * * x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *

154 * * T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * * T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *

155 * * T T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * * T T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *

156 * * T T T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * * T T T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *

157 Satisfied * * T T T SAT x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok *
Shape Verification: Unique-Shape Model * * T T T SAT x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * Satisfied (LaBean and Lagoudakis, 1999)

158 Satisfied * * T T T SAT * * x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2
Shape Verification: Unique-Shape Model * * T T T SAT * * x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied (LaBean and Lagoudakis, 1999)

159 Satisfied * * T T T SAT * * T x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2
Shape Verification: Unique-Shape Model * * T T T SAT * * T x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied (LaBean and Lagoudakis, 1999)

160 Satisfied * * T T T SAT * * T F x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok
Shape Verification: Unique-Shape Model * * T T T SAT * * T F x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied (LaBean and Lagoudakis, 1999)

161 Not Satisfied Satisfied * * T T T SAT * * T F F x3 1 ok ok ok * x3 ok
Shape Verification: Unique-Shape Model * * T T T SAT * * T F F x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied Not Satisfied (LaBean and Lagoudakis, 1999)

162 * T T T T * T T F T x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1
Shape Verification: Multiple Temperature Model * T T T T SAT * T T F T NO x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied Not Satisfied

163 * T T T T * T T T T x3 1 ok ok ok * x3 1 ok ok ok * x2 1 ok c2 ok * x2
Shape Verification: Multiple Temperature Model * T T T T SAT * T T T T NO x3 1 ok ok ok * x3 1 ok ok ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied Not Satisfied

164 * T T T T * T T T T x3 1 ok ok ok * x3 1 ok ok ok * x2 1 ok c2 ok * x2
Shape Verification: Multiple Temperature Model * T T T T SAT * T T T T NO x3 1 ok ok ok * x3 1 ok ok ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied Not Satisfied

165 * * x3 x3 x2 x2 x1 x1 * * Satisfied Not Satisfied
Shape Verification: Multiple Temperature Model * * x3 x3 x2 x2 x1 x1 * * Satisfied Not Satisfied

166 * * T F F x3 ok c2 ok * x2 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Multiple Temperature Model * * T F F NO x3 ok c2 ok * x2 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *

167 Shape Verification: Multiple Temperature Model
* * T F F NO * x3 ok c2 ok * x2 ok c2 ok * x1 c1 c2 ok * 1 * * c1 c2 c3 * *

168 Shape Verification: Multiple Temperature Model
* * T F F NO * F F F NO x3 ok c2 ok * c1 c2 ok * x2 ok c2 ok * c1 c2 ok * x1 c1 c2 ok * 1 c1 c2 ok * * * c1 c2 c3 * * c1 c2 c3 *

169 ... Shape Verification: Multiple Temperature Model * * T F F * F F F *
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *

170 ... Shape Verification: Multiple Temperature Model * * T F F * F F F *
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *

171 ... Shape Verification: Multiple Temperature Model * * T F F * F F F *
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *

172 ... ... Shape Verification: Multiple Temperature Model * * T F F * F F
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 * * * T T T SAT * F F F NO * NO * T T F NO x3 ok ok ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *

173 Not Satisfiable Satisfiable
Shape Verification: Multiple Temperature Model * x3 Not Satisfiable x2 x1 * * x3 Satisfiable x2 x1 *

174 Shape Verification: Multiple Temperature Model
Input Shape:

175 Input Shape: Shape Verification: Multiple Temperature Model ... * * T
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * x2 ok c2 ok * c1 c2 ok * 1 ... * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *

176 Input Shape: Co-NP-hard Equivalent to Co-SAT
Shape Verification: Multiple Temperature Model Input Shape: * * T F F NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * x2 ok c2 ok * c1 c2 ok * 1 ... * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 * Co-NP-hard Equivalent to Co-SAT

177 Shape Verification: Multiple Temperature Model
Input Shape:

178 Input Shape: Shape Verification: Multiple Temperature Model ... * * T
SAT * F F F NO * NO * T T F NO x3 ok ok ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *

179 Input Shape: Equivalent to SAT NP-hard
Shape Verification: Multiple Temperature Model Input Shape: * * T T T SAT * F F F NO * NO * T T F NO x3 ok ok ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 * Equivalent to SAT NP-hard

180 Shape Verification Results
Standard P Flexible Glue P Multiple Temperature NP-hard Co-NP-hard Unique Shape Co-NPC Multiple Tile NP-hard (Adleman, Cheng, Goel, Huang, Kempe, Espanes, Rothemund, STOC 2002)

181 Outline Background, Motivation Model and Basics
Temperature Programming Flexible Glue Self-Assembly Shape Verification Future Work

182 Shape Replication

183 Shape Replication drop temperature

184 Shape Replication drop temperature

185 Shape Replication drop temperature raise temperature

186 Shape Replication drop temperature raise temperature drop temperature

187 Shape Replication

188 Shape Replication

189 Shape Replication raise temperature

190 Shape Replication raise temperature drop temperature

191 Assembly takes place in stages, each stage with a different tile set
Staged Assembly Assembly takes place in stages, each stage with a different tile set Large drops in Tile Complexity Filter-Free Staged Assembly Can only add tiles, never remove Still, large drops in Complexity

192 Future Work Lab Work Experimental tests for Temperature Programming
Flexible Glue Design

193 Thanks for Listening Questions?
Robert Schweller Electrical Engineering and Computer Science Department Northwestern University


Download ppt "Complexities for the Design of Self-Assembly Systems"

Similar presentations


Ads by Google