may 3, 2006

193
1 Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected] http://www.cs.northwestern.edu/~schwellerr/ May 3, 2006 Complexities for the Design of Self-Assembly Systems

Upload: taffy

Post on 21-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Complexities for the Design of Self-Assembly Systems. May 3, 2006. Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected] http://www.cs.northwestern.edu/~schwellerr/. Outline. Background, Motivation Model - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: May 3, 2006

1

Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected]

http://www.cs.northwestern.edu/~schwellerr/

May 3, 2006

Complexities for the Design of Self-Assembly Systems

Page 2: May 3, 2006

2

Outline

• Background, Motivation

• Model

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

Page 3: May 3, 2006

3

A C

G C

T G C G

Molecular Building Blocks

Page 4: May 3, 2006

4

Molecular Building Blocks

A T A G CT A T C G

T G A T C G G AA C T A G C C T

A C T A G C C TA C T A G C C T

C T A G C C G TG A T C G G C A

G C T T G A C CC G A A C T G G

A G

A T

C G

A C

T C

T A G

C T

G

T A C

C G

C A

TA

T G

G C

G T A

T G

A A T

A G

CA

C T

T A T

C G

A C

T A G

C C

TA

C T A

G C

C T

A T A G CT A T C G

A T A G CT A T C G

G T A C AC A T G T

A T A

G C

T A T

C G

A T A

G C

T A T

C G

A T A

G C

T A T

C G

A T A

G C

T A T

C G

C G G T C

T T C C A

G A

C A G

T T A

G T

[John Reif’s Group,Duke University]

Page 5: May 3, 2006

5

DNA Scaffolding

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

Page 6: May 3, 2006

6

Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004)

340nm

Simulation of Cellular Automata

Page 7: May 3, 2006

7

Outline

• Background, Motivation

• Model

• Temperature Programming

• Shape Verification

• Flexible Glue Self-Assembly

• Future Work

Page 8: May 3, 2006

8

},...,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 9: May 3, 2006

9

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 10: May 3, 2006

10

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 11: May 3, 2006

11

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 12: May 3, 2006

12

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 13: May 3, 2006

13

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 14: May 3, 2006

14

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 15: May 3, 2006

15

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 16: May 3, 2006

16

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 17: May 3, 2006

17

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 18: May 3, 2006

18

Each Shape Requires a Distinct Tile Set

Page 19: May 3, 2006

19

Programmable, General Purpose Tile Set?

Page 20: May 3, 2006

20

Programmable, General Purpose Tile Set?

. . .

Page 21: May 3, 2006

21

Outline

• Background, Motivation

• Model

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

Page 22: May 3, 2006

22

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

Page 23: May 3, 2006

23

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

},,,{ sTGtt

< t1 , t2 , ... , tr-1 , tr >

Page 24: May 3, 2006

24

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

},,,{ sTGtt

< t1 , t2 , ... , tr-1 , tr >

Tile Complexity: Number of Tiles

Temperature Complexity: Number of Temperatures

Page 25: May 3, 2006

25

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 26: May 3, 2006

26

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 27: May 3, 2006

27

two temperatures

3

3

3

1

t = 4

k

N

j

k

N

j

n

Page 28: May 3, 2006

28

t = 4 6

k

N

j

two temperatures

n

Page 29: May 3, 2006

29

)nO(j 1/j

)n loglog

n logO(k

N

j

n

Tile Complexity:

two temperaturest = 4 6

Page 30: May 3, 2006

30

)nO(j 1/j

)n loglog

n logO(

)n loglog

n logΩ(Kolmogorov Complexity (Rothemund,

Winfree STOC 2000)

Beats Standard Model )k

nΩ(

1/k

k

N

j

n

Tile Complexity:

two temperaturest = 4 6

Page 31: May 3, 2006

31

Programmable, General Purpose Tile Set?

. . .

Page 32: May 3, 2006

32

Given: n 1011001

log n

High Level Approach

Page 33: May 3, 2006

33

Given: n 1011001

log nte

mp

High Level Approach

1

Page 34: May 3, 2006

34

Given: n 1011001

log nte

mp

High Level Approach

1

1

Page 35: May 3, 2006

35

Given: n 1011001

log nte

mp

High Level Approach

1 0

1 0

Page 36: May 3, 2006

36

Given: n 1011001

log nte

mp

High Level Approach

1 0 1 1 . . .

. . .

0

1 0 1 1 0 10

Page 37: May 3, 2006

37

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

Page 38: May 3, 2006

38

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

Page 39: May 3, 2006

39

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

Page 40: May 3, 2006

40

Assembly of n x n Squares

N - k

k

Page 41: May 3, 2006

41

Assembly of n x n Squares

n - k

k

Page 42: May 3, 2006

42

Assembly of n x n Squares

n - k

k

Page 43: May 3, 2006

43

Assembly of n x n Squares

n - k

k

)( /1 knkO

Complexity:

Page 44: May 3, 2006

44

Assembly of n x n Squares

n – log n

log n)(log)(

2

log

/1

/1

nOnkO

n

nk

k

k

Complexity:

Page 45: May 3, 2006

45

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 46: May 3, 2006

46

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 47: May 3, 2006

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 >

Page 48: May 3, 2006

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 >

Page 49: May 3, 2006

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 >

Page 50: May 3, 2006

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 >

Page 51: May 3, 2006

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 >

Page 52: May 3, 2006

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 >

1

Page 53: May 3, 2006

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 >

0

1

Page 54: May 3, 2006

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 >

0

Page 55: May 3, 2006

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 >

0

0’z

Page 56: May 3, 2006

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 >

0

0’

Z

Page 57: May 3, 2006

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 >

0

0’

Z

Page 58: May 3, 2006

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 >

0

0’

Z

Page 59: May 3, 2006

59

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 60: May 3, 2006

60

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 61: May 3, 2006

61

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 62: May 3, 2006

62

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 63: May 3, 2006

63

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 64: May 3, 2006

64

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 65: May 3, 2006

65

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 66: May 3, 2006

66

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 67: May 3, 2006

67

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 68: May 3, 2006

68

Goal: 1 0 1 0 0

Page 69: May 3, 2006

69

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 70: May 3, 2006

70

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 71: May 3, 2006

71

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 72: May 3, 2006

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 >

Page 73: May 3, 2006

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

Page 74: May 3, 2006

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

Page 75: May 3, 2006

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

X

Page 76: May 3, 2006

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

Page 77: May 3, 2006

77

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 78: May 3, 2006

78

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 79: May 3, 2006

79

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 80: May 3, 2006

80

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 81: May 3, 2006

81

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 82: May 3, 2006

82

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 83: May 3, 2006

83

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 84: May 3, 2006

84

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 85: May 3, 2006

85

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 86: May 3, 2006

86

1 1 0 0 1 0 0 0 1 1 1 0 1 1

Page 87: May 3, 2006

87

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 88: May 3, 2006

88

Assembly of n x n Squares

n – log n

log n

Page 89: May 3, 2006

89

Assembly of n x n Squares

O(log n)

Page 90: May 3, 2006

90

Assembly of n x n Squares

O(log n)

Page 91: May 3, 2006

91

Results

tile complexity temperature complexity

O(1) O(log n)

O(1))loglog

log(

n

nO

(Adleman, Cheng,Goel, Huang STOC 2001)

n x n squares

TemperatureProgramming

Page 92: May 3, 2006

92

Results

tile complexity temperature complexity

O(1) O(log n)

O(1))loglog

log(

n

nO

(Adleman, Cheng,Goel, Huang STOC 2001)

? < log nSmooth Trade off? n

n

loglog

log? <

n x n squares

TemperatureProgramming

Page 93: May 3, 2006

93

Results

tile complexity temperature complexity

O(1) O(log n)

O(1))loglog

log(

n

nO

(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

TemperatureProgramming

Page 94: May 3, 2006

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(1) Tile Complexity– O(|S|) Temperature Complexity

Page 95: May 3, 2006

95

Outline

• Background, Motivation

• Model and Basics

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

Page 96: May 3, 2006

96

S a b

c

d

x x

x x

Only identical glues attract

x dc

baST = G(y,y) = 2G(g,g) = 2G(r,r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1

t = 2

Page 97: May 3, 2006

97

S a b

c

d

x x

x x

Only identical glues attract

x dc

baST = G(y,y) = 2G(g,g) = 2G(r,r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1

t = 2

We don’t have:G(p,b) = 1

Page 98: May 3, 2006

98

Flexible Glue Model

Remove the restriction that G(x, y) = 0 for x!=y

• Substantial Reduction in Tile Complexity

• Design of Flexible glues

yx

Page 99: May 3, 2006

99

n x n Squares --- Flexible Glue Model

a b c d e fa 1 0 2 0 0 1b 0 0 1 0 1 0c 0 0 3 0 1 1d 2 2 2 2 0 1e 0 0 0 1 2 1f 1 1 2 2 1 1

a b c d e fa 1 - - - - -b - 0 - - - -c - - 3 - - -d - - - 2 - -e - - - - 2 -f - - - - - 1

Standard Glue Function Flexible Glue Function

Kolmogorov lower bounds:

)loglog

log(

n

n

)log( n

Standard

Flexible

(Rothemund, Winfree STOC 2000)

Page 100: May 3, 2006

100

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 101: May 3, 2006

101

n x n Square --- Flexible Glue Model

goal: - seed binary counter to a given value

-

2

log n

0 1 0 0 0 0 0 01 1 1 1 1 1 1 1 1 1

)log( nO

Page 102: May 3, 2006

102

. . . 3 3 3 4 4 4 4 4 4 5 5 5 53 4 5 0 1 2 3 4 5 0 1 2 3 4 5

5

n x n Square --- Flexible Glue Model

Page 103: May 3, 2006

103

. . . 3 3 3 4 4 4 4 4 4 5 5 5 53 4 5 0 1 2 3 4 5 0 1 2 3 4 5

0 0 1 1 0 1 1 0 0 1 1 1 0 | | | | | | | | | | | | |

5

5

n x n Square --- Flexible Glue Model

key idea:

Page 104: May 3, 2006

104

4 53

555

21b4

5

5

w5

p5

G(b4, p5) = 1G(b4, w5) = 0

n x n Square --- Flexible Glue Model

Page 105: May 3, 2006

105

p0 p1 p2 p3 p4 p5b0 0 1 1 0 1 1b1 1 1 0 1 0 1b2 0 1 0 1 1 1b3 0 0 1 0 1 0b4 0 0 0 0 0 1b5 1 1 1 1 1 0

• given B = 011011 110101 010111 …

• encode B into glue function

B = 011011 110101 010111 …

n x n Square --- Flexible Glue Model

4b4

5p5

Page 106: May 3, 2006

106

• Complexity: )log( nO

0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 1

nlog2• build block

n x n Square --- Flexible Glue Model

Page 107: May 3, 2006

107

0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 00 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 00 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 00 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 00 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0

Page 108: May 3, 2006

108

Assembly of n x n Squares

n – log n

log n

2 x log n block

Page 109: May 3, 2006

109

Assembly of n x n Squares

O(log n)

)log( N

Complexity:

Page 110: May 3, 2006

110

)n loglog

n log( (Adleman, Cheng,

Goel, Huang STOC 2001)

Tile Complexity for n x n squares

)n log(Flexible Glue:

Standard:

Assembly of n x n Squares

Page 111: May 3, 2006

111

Outline

• Background, Motivation• Model and Basics• Temperature Programming• Flexible Glue Self-Assembly

– Reduced Tile Complexity– Glue Design

• Shape Verification• Future Work

Page 112: May 3, 2006

112

Glue Design

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

Page 113: May 3, 2006

113

Glue Design- Standard

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

Page 114: May 3, 2006

114

Glue Design- Standard

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

Page 115: May 3, 2006

115

Glue Design- Standard

ACGGT

GGGAT

GTTGG

CGTAC

GACTC

Design n strings such that each pair of strings has Hamming distance

at least .

Page 116: May 3, 2006

116

Flexible Glue Design

Page 117: May 3, 2006

117

Flexible Glue Design

Page 118: May 3, 2006

118

Flexible Glue Design

Page 119: May 3, 2006

119

Flexible Glue Design

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

Page 120: May 3, 2006

120

Page 121: May 3, 2006

121

Graph Decomposition

Strategy:- Decompose graph- Label each Subgraph- Concatenate labels

Page 122: May 3, 2006

122

Graph Decomposition

Strategy:- Decompose graph- Label each Subgraph- Concatenate labels

Page 123: May 3, 2006

123

Graph Decomposition

Need Exact -labeling:Each pair of non-adjacent nodes haveexactly the same Hamming distance.

Page 124: May 3, 2006

124

Exact -labeling for Matchings

Page 125: May 3, 2006

125

Exact -labeling for Matchings

00000001111000001111011001100101011101001101101011001101

Hamming Distance:

Exactly

Word Length: O(n + )

Hadamard Code (n, )

Example: n=8, =4

Page 126: May 3, 2006

126

Exact -labeling for Matchings

Hadamard Code (n, )

Example: n=8, =4

00000001111000001111011001100101011101001101101011001101

Hamming Distance:

Exactly

Word Length: O(n + )

Page 127: May 3, 2006

127

Matching Decomposition

Page 128: May 3, 2006

128

Matching Decomposition

Page 129: May 3, 2006

129

Matching Decomposition

Length per Matching: O(n + )Number of Matchings: O(D)

Label Length: O(Dn + D)

Page 130: May 3, 2006

130

Tough Example

Length per Matching: O(n + )Number of Matchings: O(D)

Label Length: O(Dn + D)

Page 131: May 3, 2006

131

Star Graphs

Star Graph: All edges are adjacent to the same vertex

- Non-trivial application of the Hadamard Code yields:

length O(n) exact -labeling

Page 132: May 3, 2006

132

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

Page 133: May 3, 2006

133

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

Page 134: May 3, 2006

134

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

Page 135: May 3, 2006

135

Star Destroyer

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

Page 136: May 3, 2006

136

Star Destroyer

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

Star Destoyer yields length:

22 γmnnγm

Page 137: May 3, 2006

137

Star Destoyer )γmnnγmO( 22

Matching Algorithm

) DγDn O(

Word Length

Flexible Word Design Results

General Graphs

Other Work -Trees, Lines and Rings -Distance Labeling

-Application to applying DNA computing to digital signal processing

Page 138: May 3, 2006

138

Outline

• Background, Motivation

• Model and Basics

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

Page 139: May 3, 2006

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

Page 140: May 3, 2006

140

*

Shape Verification: Unique-Shape Model

)(

)(

)(

321

321

321

xxx

xxx

xxx

Page 141: May 3, 2006

141

*

x1

x2

x3

*

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 142: May 3, 2006

142

*

x1

x2

x3

*

* c2c1 c3 *

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 143: May 3, 2006

143

*

x1

x2

x3

*

* c2c1 c3 *

x

x

x

1

0

x

x

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 144: May 3, 2006

144

*

x1

x2

x3

*

* c2c1 c3 *

0

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 145: May 3, 2006

145

*

x1

x2

x3

*

* c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 146: May 3, 2006

146

*

x1

x2

x3

*

*

ok

c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 147: May 3, 2006

147

*

x1

x2

x3

*

*

ok

ok

c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 148: May 3, 2006

148

*

x1

x2

x3

*

*

ok

ok

c2c1

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 149: May 3, 2006

149

*

x1

x2

x3

*

*

ok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 150: May 3, 2006

150

*

x1

x2

x3

*

*

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 151: May 3, 2006

151

*

x1

x2

x3

*

*

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 152: May 3, 2006

152

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 153: May 3, 2006

153

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

*

Shape Verification: Unique-Shape Model

Page 154: May 3, 2006

154

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

* T

Shape Verification: Unique-Shape Model

Page 155: May 3, 2006

155

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

* T T

Shape Verification: Unique-Shape Model

Page 156: May 3, 2006

156

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

* T T T

Shape Verification: Unique-Shape Model

Page 157: May 3, 2006

157

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

* T T T SAT

Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

Page 158: May 3, 2006

158

x1

* *

x2

x3

* * T T T

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

1

1

SAT

x1

* *

x2

x3

* *

ok

ok

ok

c2ok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

0

1

Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

Page 159: May 3, 2006

159

x1

* *

x2

x3

* * T T T

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

1

1

SAT

x1

* *

x2

x3

* * T

ok

ok

ok

c2ok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

0

1

Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

Page 160: May 3, 2006

160

x1

* *

x2

x3

* * T T T

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

1

1

SAT

x1

* *

x2

x3

* * T F

ok

ok

ok

c2ok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

0

1

Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

Page 161: May 3, 2006

161

x1

* *

x2

x3

* * T T T

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

1

1

SAT

x1

* *

x2

x3

* * T F F

ok

ok

ok

c2ok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

0

1

Satisfied Not Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

Page 162: May 3, 2006

162

T T

ok ok ok

c2

SAT

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

T F

ok c2 ok

c2

NO

*

*

T

ok

* T

x3

x2

x1

0

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

Page 163: May 3, 2006

163

T T

ok ok ok

c2

SAT

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

T T

ok ok ok

c2

NO

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

Page 164: May 3, 2006

164

T T

ok ok ok

c2

SAT

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

T T

ok ok ok

c2

NO

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

Page 165: May 3, 2006

165

*

x3

x2

x1

*

*

x3

x2

x1

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

Page 166: May 3, 2006

166

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

* c1 c2 c3 *

FFT NO*

Shape Verification: Multiple Temperature Model

Page 167: May 3, 2006

167

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

* c1 c2 c3 * *

FFT NO **

Shape Verification: Multiple Temperature Model

Page 168: May 3, 2006

168

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

* c1 c1c2 c2c3 c3* * *

FFT NO ** FF F NO

Shape Verification: Multiple Temperature Model

Page 169: May 3, 2006

169

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

Page 170: May 3, 2006

170

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

Page 171: May 3, 2006

171

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

Page 172: May 3, 2006

172

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

ok

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

TTT SAT ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

Page 173: May 3, 2006

173

*

x1

x2

x3

*

*

x1

x2

x3

*

Satisfiable

Not Satisfiable

Shape Verification: Multiple Temperature Model

Page 174: May 3, 2006

174

Input Shape:

Shape Verification: Multiple Temperature Model

Page 175: May 3, 2006

175

Input Shape:

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

Page 176: May 3, 2006

176

Input Shape:

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Equivalent to Co-SAT Co-NP-hard

Shape Verification: Multiple Temperature Model

Page 177: May 3, 2006

177

Input Shape:

Shape Verification: Multiple Temperature Model

Page 178: May 3, 2006

178

Input Shape:

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

ok

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

TTT SAT ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

Page 179: May 3, 2006

179

Input Shape:

Equivalent to SAT NP-hard

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

ok

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

TTT SAT ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

Page 180: May 3, 2006

180

Shape Verification Results

Standard P

Flexible Glue P Multiple Temperature NP-hard

Co-NP-hard

Unique Shape Co-NPC

Multiple Tile NP-hard Co-NP-hard

(Adleman, Cheng, Goel, Huang, Kempe,Espanes, Rothemund, STOC 2002)

Page 181: May 3, 2006

181

Outline

• Background, Motivation

• Model and Basics

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

Page 182: May 3, 2006

182

Shape Replication

Page 183: May 3, 2006

183

Shape Replication

drop temperature

Page 184: May 3, 2006

184

Shape Replication

drop temperature

Page 185: May 3, 2006

185

Shape Replication

drop temperature

raise temperature

Page 186: May 3, 2006

186

Shape Replication

drop temperature

raise temperature

drop temperature

Page 187: May 3, 2006

187

Shape Replication

2

1 1

1 1

1 1

1 1

1 1

1 1

2 2

2 2

2 2

2 2

2 2

2 2

1 . . .

Page 188: May 3, 2006

188

Shape Replication

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

Page 189: May 3, 2006

189

Shape Replication

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

54 3 2 1

89

10

11

7

6

15

17

16

18

19

2021

22

raise temperature

Page 190: May 3, 2006

190

Shape Replication

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

54 3 2 1

89

10

11

7

6

15

17

16

18

19

2021

22

8 9765 4 3 2 1

10 11

12

13 14 15 16

17

18

19

20

21

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

raise temperature

drop temperature

Page 191: May 3, 2006

191

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

Page 192: May 3, 2006

192

• Lab Work– Experimental tests for Temperature

Programming– Flexible Glue Design

Future Work

Page 193: May 3, 2006

193

Thanks for Listening

Questions?

Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected]

http://www.cs.northwestern.edu/~schwellerr/