reducing tile complexity for self-assembly through temperature programming symposium on discrete...

86
Reducing Tile Complexity for Self-Assembly Through Temperature Programming Symposium on Discrete Algorithms SODA 2006 January 23, 2006 Robert Schweller Northwestern University In collaboration with Ming-Yang Kao Northwestern University

Post on 21-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

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

},...,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

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

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

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

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

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

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

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

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

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

Each Shape Requires a Distinct Tile Set

Programmable, General Purpose Tile Set?

Programmable, General Purpose Tile Set?

. . .

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down(Aggarwal, Cheng, Goldwasser, Kao, Espanes, Schweller, SICOMP 2005)

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)

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

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

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

two temperatures

3

3

3

1

t = 4

k

N

j

k

N

j

n

t = 4 6

k

N

j

two temperatures

n

Programmable, General Purpose Tile Set?

. . .

Given: n 1011001

log n

High Level Approach

Given: n 1011001

log nte

mp

High Level Approach

1

Given: n 1011001

log nte

mp

High Level Approach

1

1

Given: n 1011001

log nte

mp

High Level Approach

1 0

1 0

Given: n 1011001

log nte

mp

High Level Approach

1 0 1 1 . . .

. . .

0

1 0 1 1 0 10

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

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

k

)( /1 knkO

Complexity:

Assembly of n x n Squares

n – log n

log n)(log)(

2

log

/1

/1

nOnkO

n

nk

k

k

Complexity:

Assembly of n x n Squares

n – log n

log n)(log)(

2

log

/1

/1

nOnkO

n

nk

k

k

Complexity:

seed row

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

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 >

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 >

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 >

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 >

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 >

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

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

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

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

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

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

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

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

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

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

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

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

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

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’

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

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’

Goal: 1 0 1 0 0

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 >

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 >

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 >

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

Assembly of n x n Squares

n – log n

log n

Assembly of n x n Squares

O(log n)

Assembly of n x n Squares

O(log n)

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

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

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

Further Research

• Lab Experiments

• Temperature Programming for more general classes of shapes

• Uncontrolled, Fluctuating Temperatures

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: [email protected]