Page 1
Reducing Tile Complexity for Self-Assembly Through Temperature Programming
Symposium on Discrete AlgorithmsSODA 2006
January 23, 2006
Robert Schweller Northwestern University
In collaboration with
Ming-Yang Kao Northwestern University
Page 2
},...,1,0{: tG
},,,{ sTGt
Tile Model of Self-Assembly(Rothemund, Winfree STOC 2000)
Tile System:
t : temperature, positive integer
G: glue function
T: tileset , , ... { }r
r
w
g
p
y yb
r
b
r
b,
s: seed tile
Page 3
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
S
Page 4
S a
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
Page 5
S a
c
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
Page 6
S a
c
d
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
Page 7
S a b
c
d
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
Page 8
S a b
c
d
x
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
Page 9
S a b
c
d
x x
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
Page 10
S a b
c
d
x x
x
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
Page 11
S a b
c
d
x x
x x
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
Page 12
Each Shape Requires a Distinct Tile Set
Page 13
Programmable, General Purpose Tile Set?
Page 14
Programmable, General Purpose Tile Set?
. . .
Page 15
Multiple Temperature Model
Multiple Temperature Model
- temperature may go up and down(Aggarwal, Cheng, Goldwasser, Kao, Espanes, Schweller, SICOMP 2005)
Page 16
Multiple Temperature Model
Multiple Temperature Model
- temperature may go up and down
},,,{ sTGtt
< t1 , t2 , ... , tr-1 , tr >
(Aggarwal, Cheng, Goldwasser, Kao, Espanes, Schweller, SICOMP 2005)
Page 17
Multiple Temperature Model
Multiple Temperature Model
- temperature may go up and down
},,,{ sTGtt
< t1 , t2 , ... , tr-1 , tr >
(Aggarwal, Cheng, Goldwasser, Kao, Espanes, Schweller, SICOMP 2005)
Tile Complexity: Number of Tiles
Temperature Complexity: Number of Temperatures
Page 18
Building k x N Rectangles
k-digit, base n(1/k) counter:0
0
0
S0
0
0
0
1 2
0
0
0
0
0
1
0
0
0
1
1
2
2
2
2
2
2
2
1
2
2
2
0
. . .k
N
k
n
Page 19
Building k x N Rectangles
k-digit, base n(1/k) counter:0
0
0
S0
0
0
0
1 2
0
0
0
0
0
1
0
0
0
1
1
2
2
2
2
2
2
2
1
2
2
2
0
. . .k
N
0
0
0
S0
0
0
0
1 2
0
0
0
0
0
1
0
0
0
1
1
2
2
2
2
2
2
2
1
2
2
2
0
. . .k
N
)( /1 knkO Tile Complexity:
n
k
Page 20
two temperatures
3
3
3
1
t = 4
k
N
j
k
N
j
n
Page 21
t = 4 6
k
N
j
two temperatures
n
Page 22
Programmable, General Purpose Tile Set?
. . .
Page 23
Given: n 1011001
log n
High Level Approach
Page 24
Given: n 1011001
log nte
mp
High Level Approach
1
Page 25
Given: n 1011001
log nte
mp
High Level Approach
1
1
Page 26
Given: n 1011001
log nte
mp
High Level Approach
1 0
1 0
Page 27
Given: n 1011001
log nte
mp
High Level Approach
1 0 1 1 . . .
. . .
0
1 0 1 1 0 10
Page 28
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
Page 29
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
Page 30
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
Page 31
Assembly of n x n Squares
N - k
k
Page 32
Assembly of n x n Squares
n - k
k
Page 33
Assembly of n x n Squares
n - k
k
Page 34
Assembly of n x n Squares
n - k
k
)( /1 knkO
Complexity:
Page 35
Assembly of n x n Squares
n – log n
log n)(log)(
2
log
/1
/1
nOnkO
n
nk
k
k
Complexity:
Page 36
Assembly of n x n Squares
n – log n
log n)(log)(
2
log
/1
/1
nOnkO
n
nk
k
k
Complexity:
seed row
Page 37
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
Page 38
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
Page 39
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
Page 40
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
Page 41
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
Page 42
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
Page 43
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
1
Page 44
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
1
Page 45
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
Page 46
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’z
Page 47
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
Page 48
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
Page 49
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
Page 50
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
Page 51
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
Page 52
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
0
0’
Z
Page 53
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
0
0’
Z
x
Page 54
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >0
0’
Z
1
Page 55
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
Z
1
1’
z
Page 56
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
Z
1’
Page 57
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
Z
1’
1
Page 58
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
Z
1’
1
a
Z
t = < 2 >
0
0’
Page 60
a
0
s
Goal: 1 0 1 0 0
b
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
Page 61
a
1
s
b
Goal: 1 0 1 0 0
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
Page 62
a
1
s
Goal: 1 0 1 0 0
b
X
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
Page 63
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
Page 64
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
Page 65
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Page 66
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
X
Page 67
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
Page 68
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
0
Page 69
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Page 70
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
X
Page 71
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
Page 72
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
Page 73
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
X
Page 74
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
Y
a
b
Page 75
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
Y
a
b
0
Page 76
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
Y
a
b
0
X
Page 77
1 1 0 0 1 0 0 0 1 1 1 0 1 1
Page 78
1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0
Page 79
Assembly of n x n Squares
n – log n
log n
Page 80
Assembly of n x n Squares
O(log n)
Page 81
Assembly of n x n Squares
O(log n)
Page 82
Results
tile complexity temperature complexity
O(1) O(log n)
O(1))loglog
log(
n
nO
(our paper)
(Adleman, Cheng,Goel, Huang STOC 2001)
n x n squares
Page 83
Results
tile complexity temperature complexity
O(1) O(log n)
O(1))loglog
log(
n
nO
(our paper)
(Adleman, Cheng,Goel, Huang STOC 2001)
? < log nSmooth Trade off? n
n
loglog
log? <
n x n squares
Page 84
Results
tile complexity temperature complexity
O(1) O(log n)
O(1))loglog
log(
n
nO
(our paper)
(Adleman, Cheng,Goel, Huang STOC 2001)
? < log nSmooth Trade off? n
n
loglog
log? <
For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously
n x n squares
Page 85
Further Research
• Lab Experiments
• Temperature Programming for more general classes of shapes
• Uncontrolled, Fluctuating Temperatures
Page 86
Thanks for Listening
Questions?
http://www.cs.northwestern.edu/~schwellerr/
Robert Schweller4th year Graduate Student Electrical Engineering and Computer Science Department Northwestern University Advisor: Ming-Yang Kao Email: schwellerr@cs.northwestern.edu