1.93k likes | 2.08k Views
Complexities for the Design of Self-Assembly Systems. May 3, 2006. Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: schwellerr@cs.northwestern.edu http://www.cs.northwestern.edu/~schwellerr/. Outline. Background, Motivation Model
E N D
Complexities for the Design of Self-Assembly Systems May 3, 2006 Robert SchwellerElectrical Engineering and Computer Science Department Northwestern University Email: schwellerr@cs.northwestern.edu http://www.cs.northwestern.edu/~schwellerr/
Outline • Background, Motivation • Model • Temperature Programming • Flexible Glue Self-Assembly • Shape Verification • Future Work
Molecular Building Blocks T G C G A C G C
Molecular Building Blocks [John Reif’s Group, Duke University]
DNA Scaffolding [Sung Ha Park, Constantin Pistol, Sang Jung Ahn, John H. Reif, Alvin R. Lebeck, Chris Dwyer, and Thomas H. LaBean, 2006]
Simulation of Cellular Automata Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004) 340nm
Outline • Background, Motivation • Model • Temperature Programming • Shape Verification • Flexible Glue Self-Assembly • Future Work
Tile Model of Self-Assembly (Rothemund, Winfree STOC 2000) Tile System: t : temperature, positive integer G: glue function T: tileset s: seed tile
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 =
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 =
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 =
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 =
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 =
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 =
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 =
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 =
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 =
Outline • Background, Motivation • Model • Temperature Programming • Flexible Glue Self-Assembly • Shape Verification • Future Work
Multiple Temperature Model Multiple Temperature Model - temperature may go up and down
Multiple Temperature Model Multiple Temperature Model - temperature may go up and down t < t1 , t2 , ... , tr-1 , tr >
Multiple Temperature Model 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
Building k x n Rectangles k-digit, base n(1/k) counter: k n
Building k x n Rectangles k-digit, base n(1/k) counter: k n Tile Complexity:
two temperatures t= 4 3 1 3 3 n
two temperatures t = 4 6 n
two temperatures Tile Complexity: t = 4 6 n
two temperatures Tile Complexity: t = 4 6 n Kolmogorov Complexity (Rothemund, Winfree STOC 2000) Beats Standard Model
High Level Approach Given: n 1011001 log n
High Level Approach Given: n 1011001 log n 1 temp
High Level Approach Given: n 1011001 log n 1 temp 1
High Level Approach Given: n 1011001 log n 1 0 temp 1 0
High Level Approach Given: n 1011001 log n 1 0 1 1 0 . . . . . . temp 1 0 1 1 0 0 1
High Level Approach . . . 0 0 1 . . . temp 1 0 1 1 0 0 1
High Level Approach . . . 0 0 1 . . . temp 1 0 1 1 0 0 1
High Level Approach . . . 0 0 1 . . . temp 1 0 1 1 0 0 1
Assembly of n x n Squares N - k k
Assembly of n x n Squares n - k k
Assembly of n x n Squares n - k k
Assembly of n x n Squares n - k Complexity: k
Assembly of n x n Squares n – log n Complexity: log n
Assembly of n x n Squares n – log n Complexity: seed row log n
Encoding a Single Bit 0 0 1 0 1 0’ 1’ z z 1 z Z g g g g g g g g a g g
Encoding a Single Bit t = < 2 > 0 0 1 0 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
Encoding a Single Bit t = < 2 > 0 0 1 0 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
Encoding a Single Bit t = < 2 > 0 0 1 0 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
Encoding a Single Bit t = < 2 > 0 0 1 0 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a