Top Banner
1 Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected] http://www.cs.northwestern.edu/~schwellerr/ April 4, 2007 Programmable Self- Assembly: How to Harness (Enslave) DNA
233

April 4, 2007

Dec 30, 2015

Download

Documents

baker-avila

Programmable Self-Assembly: How to Harness (Enslave) DNA. April 4, 2007. Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected] http://www.cs.northwestern.edu/~schwellerr/. Molecular Building Blocks. T G C G. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: April 4, 2007

1

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

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

April 4, 2007

Programmable Self-Assembly: How to Harness (Enslave) DNA

Page 2: April 4, 2007

2

A C

G C

T G C G

Molecular Building Blocks

Page 3: April 4, 2007

3

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

[Reif’s Group, Duke University]

Page 4: April 4, 2007

4

DNA Scaffolding

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

Page 5: April 4, 2007

5

Self-Assembly for Circuit Patterns

[Cook, Rothemund, and Winfree, 2003]

Page 6: April 4, 2007

6

More Examples of DNA Tiles

[Winfree’s Group, Cal Tech]

Page 7: April 4, 2007

7

2D Self-Assembly for Turing Machines

[Winfree, Yang, and Seeman, 1998]

Page 8: April 4, 2007

8

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

340nm

Simulation of Cellular Automata

Page 9: April 4, 2007

9

Example of 3D Self-Assembly[Shaw, University of Southern California]

Page 10: April 4, 2007

10

3D DNA Cube

[Seeman, New York University]

Page 11: April 4, 2007

11

3D DNA Truncated Octahedron

[Seeman, New York University]

Page 12: April 4, 2007

12

Clonable DNA Octahedron

[Shih, Quispe, Joyce, 2004]

Page 13: April 4, 2007

13

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

Page 14: April 4, 2007

14

},...,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 15: April 4, 2007

15

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 16: April 4, 2007

16

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 17: April 4, 2007

17

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 18: April 4, 2007

18

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 19: April 4, 2007

19

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 20: April 4, 2007

20

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 21: April 4, 2007

21

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 22: April 4, 2007

22

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 23: April 4, 2007

23

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 24: April 4, 2007

24

Each Shape Requires a Distinct Tile Set

Page 25: April 4, 2007

25

Programmable, General Purpose Tile Set?

Page 26: April 4, 2007

26

Programmable, General Purpose Tile Set?

. . .

Page 27: April 4, 2007

27

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

Page 28: April 4, 2007

28

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

Page 29: April 4, 2007

29

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

},,,{ sTGtt

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

Page 30: April 4, 2007

30

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 31: April 4, 2007

31

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 32: April 4, 2007

32

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 33: April 4, 2007

33

S

C1 C2 C3

0

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

S3

S2 0

0

S

S1

Page 34: April 4, 2007

34

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

S3

S2 0

0

0 0

g

g

S C1 C2 C3

S1

S2

S3

S1

00

0

0g g p

Page 35: April 4, 2007

35

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

g g

S3

S2 0

0 1

0 0

g

g

p r0

S C1 C2 C3

S1 0 0

S2

S3

0 0

0 0

0 1

S1

p

Page 36: April 4, 2007

36

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

g g

S3

S2 0

0 1

0 0

g

g

p r0

S C1 C2 C3

S1 0 0 0 1

S2

S3

0 0

0 0

0 1

S1

g g

Page 37: April 4, 2007

37

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

g g

S3

S2 0

0 1

0 0

g

g

p r0

S C1 C2 C3

S1 0 0 0 1

S2

S3

0 0

0 0

0 1

S1

C0 C1 C2 C3

0 0

0 0

p

Page 38: April 4, 2007

38

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

g g

S3

S2 0

0 1

0 0

g

g

p r0

S C1 C2 C3

S1 0 0 0 1

S2

S3

0 0

0 0

0 1

S1

C0 C1 C2 C3

0 0

0 0

p1 1

0 0

0 0

1 2

2 3

Page 39: April 4, 2007

39

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

p

Page 40: April 4, 2007

40

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

Page 41: April 4, 2007

41

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

0 1

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

Page 42: April 4, 2007

42

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

0 1

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

R

Page 43: April 4, 2007

43

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

0 1

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

R

C0 C1 C2…

Page 44: April 4, 2007

44

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

0 1

R…

0 0

1 1

0 0 0 0

C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2

0 1

S1

Page 45: April 4, 2007

45

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r00 1

2 2 3 P

P

P

3 3

3 3

3 3

3 3

3 3

21 2

3 3

3 3

3 3

3 3

110 1

3 3

3 3

3 3

3 3

00

3 3

3 3

32

RP

33 3

2

3

3

2

3

C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3C0C1 C2 C3

S1

Page 46: April 4, 2007

46

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 47: April 4, 2007

47

two temperatures

3

3

3

1

t = 4

k

N

j

k

N

j

n

Page 48: April 4, 2007

48

t = 4 6

k

N

j

two temperatures

n

Page 49: April 4, 2007

49

)nO(j 1/j )n loglog

n logO(

k

N

j

n

Tile Complexity:

two temperaturest = 4 6

j = log n / (log log n – log log log n)

Page 50: April 4, 2007

50

two temperatures

k

N

j

n

t = 4 6

j = log n / (log log n – log log log n)

[Aggarwal, Goldwasser, Kao, Schweller, SODA 2004]

Kolmogorov Complexity[Rothemund, Winfree STOC 2000]

Standard Model

[Aggarwal, Goldwasser, Kao, Schweller, SODA 2004]

)(/1

k

N k

)loglog

log(

N

N

)( /1 jnjO )loglog

log(

n

nO

Page 51: April 4, 2007

51

Programmable, General Purpose Tile Set?

. . .

Page 52: April 4, 2007

52

Given: n 1011001

log n

High Level Approach

Page 53: April 4, 2007

53

Given: n 1011001

log nte

mp

High Level Approach

1

Page 54: April 4, 2007

54

Given: n 1011001

log nte

mp

High Level Approach

1

1

Page 55: April 4, 2007

55

Given: n 1011001

log nte

mp

High Level Approach

1 0

1 0

Page 56: April 4, 2007

56

Given: n 1011001

log nte

mp

High Level Approach

1 0 1 1 . . .

. . .

0

1 0 1 1 0 10

Page 57: April 4, 2007

57

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

Page 58: April 4, 2007

58

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

Page 59: April 4, 2007

59

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

Page 60: April 4, 2007

60

Assembly of n x n Squares

N - k

k

Page 61: April 4, 2007

61

Assembly of n x n Squares

n - k

k

Page 62: April 4, 2007

62

Assembly of n x n Squares

n - k

k

Page 63: April 4, 2007

63

Assembly of n x n Squares

n - k

k

)( /1 knkO

Complexity:

Page 64: April 4, 2007

64

Assembly of n x n Squares

n – log n

log n)(log)(

2

log

/1

/1

nOnkO

n

nk

k

k

Complexity:

Page 65: April 4, 2007

65

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 66: April 4, 2007

66

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 67: April 4, 2007

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 >

Page 68: April 4, 2007

68

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 69: April 4, 2007

69

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 70: April 4, 2007

70

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 71: April 4, 2007

71

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 72: April 4, 2007

72

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 73: April 4, 2007

73

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 74: April 4, 2007

74

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 75: April 4, 2007

75

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 76: April 4, 2007

76

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 77: April 4, 2007

77

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 78: April 4, 2007

78

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 79: April 4, 2007

79

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 80: April 4, 2007

80

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 81: April 4, 2007

81

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 82: April 4, 2007

82

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 83: April 4, 2007

83

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 84: April 4, 2007

84

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 85: April 4, 2007

85

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 86: April 4, 2007

86

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 87: April 4, 2007

87

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 88: April 4, 2007

88

Goal: 1 0 1 0 0

Page 89: April 4, 2007

89

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 90: April 4, 2007

90

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 91: April 4, 2007

91

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 92: April 4, 2007

92

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 93: April 4, 2007

93

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 94: April 4, 2007

94

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 95: April 4, 2007

95

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 96: April 4, 2007

96

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 97: April 4, 2007

97

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 98: April 4, 2007

98

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 99: April 4, 2007

99

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 100: April 4, 2007

100

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 101: April 4, 2007

101

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 102: April 4, 2007

102

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 103: April 4, 2007

103

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 104: April 4, 2007

104

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 105: April 4, 2007

105

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 106: April 4, 2007

106

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

Page 107: April 4, 2007

107

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 108: April 4, 2007

108

Assembly of n x n Squares

n – log n

log n

Page 109: April 4, 2007

109

Assembly of n x n Squares

O(log n)

Page 110: April 4, 2007

110

Assembly of n x n Squares

O(log n)

Page 111: April 4, 2007

111

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 112: April 4, 2007

112

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 113: April 4, 2007

113

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 114: April 4, 2007

114

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 115: April 4, 2007

115

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

Page 116: April 4, 2007

116

aS

Assign Relative Concentrations:

Probabilistic Assembly Model

b c

xd %5

%5

%5

%60

%20

%5

Page 117: April 4, 2007

117

Probabilistic Assembly Model

S

aS

Tileset =

b c

xd

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

%5 %5

%5

%5

%60

%20

Page 118: April 4, 2007

118

Probabilistic Assembly Model

S

d

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

Page 119: April 4, 2007

119

Probabilistic Assembly Model

aS

d

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

Page 120: April 4, 2007

120

Probabilistic Assembly Model

aS

xd

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

Page 121: April 4, 2007

121

Probabilistic Assembly Model

aS

xd

S

d

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

Page 122: April 4, 2007

122

Probabilistic Assembly Model

aS b

xd

S

d

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

Page 123: April 4, 2007

123

Probabilistic Assembly Model

aS b c

xd

S

d

Two Terminal Shapes Produced

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

Page 124: April 4, 2007

124

aS

Tileset =

Probabilistic Assembly Model

b c

xd

%5 %5

%5

%5

%60

%20

S

S

d

S S ba

.20/.85 = %23.5.60/.85 = %70.6

.05/.85 = %5.9

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

Page 125: April 4, 2007

125

aS

Tileset =

Probabilistic Assembly Model

b c

xd

%5 %5

%5

%5

%60

%20

S

S

d

S

S

d

a S

d

b

S ba

S

d

a S

d

b c

x

%23.5%70.6 %5.9

%75 %25

G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1

t = 2

Page 126: April 4, 2007

126

Generic Tileset for all Squares

Page 127: April 4, 2007

127

Generic Tileset for Approximate Squares

n(1-n (1+n

Page 128: April 4, 2007

128

Generic Tileset for Approximate Squares

n(1-n (1+n

() – Approximate Square Assembly

Given:

- , - integer n

Design:A probabilistic tile system that will assemble an n’ x n’ square with:

(1-)n < n’ < (1+)n

With probability at least:

1 -

Page 129: April 4, 2007

129

X

S

Line Estimation of n

Page 130: April 4, 2007

130

X

S

S

Line Estimation of n

Page 131: April 4, 2007

131

X

S

S

Line Estimation of n

Page 132: April 4, 2007

132

X

S

S

Line Estimation of n

Page 133: April 4, 2007

133

X

S

S

Line Estimation of n

Page 134: April 4, 2007

134

X

S

S

Line Estimation of n

Page 135: April 4, 2007

135

X

S

S

Line Estimation of n

Page 136: April 4, 2007

136

X

S

S

Line Estimation of n

Page 137: April 4, 2007

137

X

S

S

Line Estimation of n

Page 138: April 4, 2007

138

X

S

S

Line Estimation of n

Page 139: April 4, 2007

139

X

S

S

Line Estimation of n

Page 140: April 4, 2007

140

X

S

XS

Line Estimation of n

Page 141: April 4, 2007

141

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n

Page 142: April 4, 2007

142

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n

E[ Length ] = n

Length has Geometric distributionwith p = 1/n

Page 143: April 4, 2007

143

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n[Becker, Rapaport Remila, 2006]

E[ Length ] = n

Page 144: April 4, 2007

144

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n

- Assembles all n x n squares.

-Expected dimension specified by percentages.

-Geometric distribution:

Huge variance

[Becker, Rapaport Remila, 2006]

E[ Length ] = n

Page 145: April 4, 2007

145

X

S

Improved Estimation of n: Binomial Distribution

S X

Page 146: April 4, 2007

146

X

S % c

% c/L

% c(L+1)(n-1)/Ln

Improved Estimation of n: Binomial Distribution

% c(L+1)/Ln

S X

Probability of placing a red tile given either a red or green tile is placed:

1/n

Page 147: April 4, 2007

147

X

S % c

% c/L

% c(L+1)(n-1)/Ln

Improved Estimation of n: Binomial Distribution

% c(L+1)/Ln

S X

Probability of placing a red tile given either a red or green tile is placed:

1/n

To compute estimation of n:Compute LENGTH / REDS

Page 148: April 4, 2007

148

X

S % c

% c/L

% c(L+1)(n-1)/Ln

Improved Estimation of n: Binomial Distribution

% c(L+1)/Ln

S X

1 0 0 1

1 0

1 1

1 0

0 1

0 0

1 0

1 1

0 0

1 0

0 0

1 1

1 0

1 0

1 1

1 0

0 1

0 1

0 0

1 1

0 1

0 0

1 0

0 1

1 1

0 0

1 0

1 1

1 1

0 0

1 0

0 1

0 1

1 0

1 0

1 0

0 0

1 1

1 0

0 0

1 0

1 1

1 0

Binary Counter Length: 10000Reds: 100

1 0

1 0

1 0

1 1

1 0

0 0

0 0

0 1

0 0

0 0

0 0

0 1

0 0

1 0 1 0

Page 149: April 4, 2007

149

X

S % c

% c/L

% c(L+1)(n-1)/Ln

Improved Estimation of n: Binomial Distribution

% c(L+1)/Ln

S X

1 0 0 1

1 0

1 1

1 0

0 1

0 0

1 0

1 1

0 0

1 0

0 0

1 1

1 0

1 0

1 1

1 0

0 1

0 1

0 0

1 1

0 1

0 0

1 0

0 1

1 1

0 0

1 0

1 1

1 1

0 0

1 0

0 1

0 1

1 0

1 0

1 0

0 0

1 1

1 0

0 0

1 0

1 1

1 01 0

1 0

1 0

1 1

1 0

0 0

0 0

0 1

0 0

0 0 1 0

0 0

0 0

0 1

0 0

1 0 1 0

0

Length: 10000Reds: 100

Compute Length / Reds: 100

Division tiles

Estimate for n

Page 150: April 4, 2007

150

Problem: Estimation Line too Long

S X

Length >> n :Too long for an n x n square…

Chernoff Bounds only yield high accuracy for Length >> n

Page 151: April 4, 2007

151

S

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Page 152: April 4, 2007

152

S

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Phase 2:Build Sampling Lines

Page 153: April 4, 2007

153

S

01

01

1

Sum Reds

Sum Reds

Sum Reds

01Sum Reds

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Phase 2:Build Sampling Lines

Phase 3: Sum Reds and Length for each Line

Page 154: April 4, 2007

154

S

01

01

1

Sum Reds

Sum Reds

Sum Reds

01Sum Reds

1 1 1

Su

m S

ub

tota

ls

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Phase 2:Build Sampling Lines

Phase 3: Sum Reds and Length for each Line

Phase 4: Sum subtotals

Page 155: April 4, 2007

155

S

01

01

1

Sum Reds

Sum Reds

Sum Reds

01Sum Reds

1 1 1

Su

m S

ub

tota

ls

Divide: Length / Reds

1001

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Phase 2:Build Sampling Lines

Phase 3: Sum Reds and Length for each Line

Phase 4: Sum subtotals

Phase 5: Compute Length to Reds ratio

OUTPUTEstimation

Page 156: April 4, 2007

156

HEIGHT

WIDTH

Solution: Estimation Frame

With high probability: HEIGHT < nWIDTH < n

Frame fits within n x n square

With high probability: HEIGHT x WIDTH >> n Chernoff Bounds imply:

Estimation is accurate with high probability:(1-epsilon)n’ < n < (1+ epsilon) n’

Page 157: April 4, 2007

157

10110110

Finish off SquareOutput n approximation

Page 158: April 4, 2007

158

Binary Counter

Bin

ary Co

un

ter

10110110

n

n

Finish off SquareOutput n approximation

Page 159: April 4, 2007

159

We have a fixed size O(1) tileset that:

-For any given - n > C( )

We can assign percentages such that:

With probability at least 1- , a size n’ x n’

square is assembled with

( 1- )n < n’ < ( 1+ )n

Binary Counter

Bin

ary Co

un

ter

10110110

n

n

Result:

Page 160: April 4, 2007

160

Probabilistic Results

• Generic size O(1) tileset that builds ()-approximate squares.

• Approximation Frame has many potential applications– Encode arbitrary programs

• General shapes• Encode input of computational problems

• Extension to 3 dimensions– Approximation accuracy increases for n x n x n cubes,

possibly exact assembly of cubes with high probability

Page 161: April 4, 2007

161

Thanks for Listening

Questions?

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

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

Page 162: April 4, 2007

162

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

• Staged Assembly

• Overview of Additonal Work

• Future Work

Page 163: April 4, 2007

163

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

Page 164: April 4, 2007

164

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

Page 165: April 4, 2007

165

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

Bin Complexity: 4

Stage Complexity: 3

Mix pattern:

Page 166: April 4, 2007

166

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

Bins = Space ComplexityStages = Time Complexity

Bin Complexity: 4

Stage Complexity: 3

Page 167: April 4, 2007

167

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

Bin Complexity: 4

Stage Complexity: 3

• Results: – Use O(1) tiles to build arbitrary

shapes.– Complexity tradeoffs: Bins vs.

Stages– Close to information theoretic

optimal tradeoffs– Models laboratory and biology

• Cells act as bins

Work in collaboration with:Eric Demaine MITMartin Demaine MITSandor Fekete TU-BS

Diane Souvaine TuftsMashood Ishaque TuftsEynat Rafalin Google

Page 168: April 4, 2007

168

1

a

0

A

11

a Aa A

b B b Bb B

1 1 10

0

1

Staged Assembly

Fixed size particle set:

b B b Bb B

1 1 10

c

C

1

c

C

1

c

C

0

a

0

A

1

a Aa A

d

D

d

D

d

D

0

1

1

0

b B b Bb B

10

a A a Aa A

d

D

d

D

d

D

0

1

0

0

0

1

0 1000

c

C

1

c

C

1

c

C

0

0

00

Macro Tile 1 Macro Tile 2

Large Alphabetof Macro Glues:

Large MacroTileset:

Page 169: April 4, 2007

169

Staged Assembly

Fixed size particle set:

Large Alphabetof Macro Glues:

Complex Shapes:

1

a

0

A

11

a Aa A

b B b Bb B

1 1 10

0

1

b B b Bb B

1 1 10

c

C

1

c

C

1

c

C

0

a

0

A

1

a Aa A

d

D

d

D

d

D

0

1

1

0

b B b Bb B

10

a A a Aa A

d

D

d

D

d

D

0

1

0

0

0

1

0 1000

c

C

1

c

C

1

c

C

0

0

00

Macro Tile 1 Macro Tile 2Large MacroTileset:

Page 170: April 4, 2007

170

Laboratory Assembly

Fixed size particle set:

Large Alphabetof Macro Glues:

Complex Shapes:

Large MacroTileset:

A G CT

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

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

1

a

0

A

11

a Aa A

b B b Bb B

1 1 10

0

1

b B b Bb B

1 1 10

c

C

1

c

C

1

c

C

0

a

0

A

1

a Aa A

d

D

d

D

d

D

0

1

1

0

b B b Bb B

10

a A a Aa A

d

D

d

D

d

D

0

1

0

0

0

1

0 1000

c

C

1

c

C

1

c

C

0

0

00

Macro Tile 1 Macro Tile 2

Page 171: April 4, 2007

171

Outline

• Background, Motivation• Model• Temperature Programming• Probabilistic Programming• Staged Assembly• Overview of Additonal Work

– DNA Strand Design– Shape Verification

• Future Work

Page 172: April 4, 2007

172

Glue Design

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

Page 173: April 4, 2007

173

Glue Design- Standard

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

Page 174: April 4, 2007

174

Glue Design- Standard

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

Page 175: April 4, 2007

175

Glue Design- Standard

ACGGT

GGGAT

GTTGG

CGTAC

GACTC

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

at least .

-Include more biologically motivated constraints.

-Lot’s of work done here, including ours:

[Kao, Sanghi, SchwellerICALP 2006]

Page 176: April 4, 2007

176

Flexible Glue Design

Page 177: April 4, 2007

177

Flexible Glue Design

Page 178: April 4, 2007

178

Flexible Glue Design

Tile Complexity for n x n squares

)n loglog

n log(

[Adleman, Cheng, Goel, Huang]

)n log(Flexible Glue:

Standard:

[Aggarwal, Kao, Goldwasser, Schweller, SODA 2004]

Our paper on Flexible Codeword Design:[Kao, Sanghi, Schweller,ISAAC 2006]

Page 179: April 4, 2007

179

Outline

• Background, Motivation• Model• Temperature Programming• Probabilistic Programming• Staged Assembly• Overview of Additonal Work

– DNA Strand Design– Staged Assembly– Shape Verification

• Future Work

Page 180: April 4, 2007

180

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 181: April 4, 2007

181

*

Shape Verification: Unique-Shape Model

)(

)(

)(

321

321

321

xxx

xxx

xxx

Page 182: April 4, 2007

182

*

x1

x2

x3

*

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 183: April 4, 2007

183

*

x1

x2

x3

*

* c2c1 c3 *

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 184: April 4, 2007

184

*

x1

x2

x3

*

* c2c1 c3 *

x

x

x

1

0

x

x

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 185: April 4, 2007

185

*

x1

x2

x3

*

* c2c1 c3 *

0

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 186: April 4, 2007

186

*

x1

x2

x3

*

* c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 187: April 4, 2007

187

*

x1

x2

x3

*

*

ok

c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 188: April 4, 2007

188

*

x1

x2

x3

*

*

ok

ok

c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 189: April 4, 2007

189

*

x1

x2

x3

*

*

ok

ok

c2c1

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 190: April 4, 2007

190

*

x1

x2

x3

*

*

ok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 191: April 4, 2007

191

*

x1

x2

x3

*

*

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

Page 192: April 4, 2007

192

*

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 193: April 4, 2007

193

*

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 194: April 4, 2007

194

*

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 195: April 4, 2007

195

*

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 196: April 4, 2007

196

*

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 197: April 4, 2007

197

*

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 198: April 4, 2007

198

*

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 199: April 4, 2007

199

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 200: April 4, 2007

200

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 201: April 4, 2007

201

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 202: April 4, 2007

202

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 203: April 4, 2007

203

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 204: April 4, 2007

204

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 205: April 4, 2007

205

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 206: April 4, 2007

206

*

x3

x2

x1

*

*

x3

x2

x1

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

Page 207: April 4, 2007

207

*

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 208: April 4, 2007

208

*

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 209: April 4, 2007

209

*

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 210: April 4, 2007

210

*

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 211: April 4, 2007

211

*

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 212: April 4, 2007

212

*

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 213: April 4, 2007

213

*

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 214: April 4, 2007

214

*

x1

x2

x3

*

*

x1

x2

x3

*

Satisfiable

Not Satisfiable

Shape Verification: Multiple Temperature Model

Page 215: April 4, 2007

215

Input Shape:

Shape Verification: Multiple Temperature Model

Page 216: April 4, 2007

216

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 217: April 4, 2007

217

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 218: April 4, 2007

218

Input Shape:

Shape Verification: Multiple Temperature Model

Page 219: April 4, 2007

219

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 220: April 4, 2007

220

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 221: April 4, 2007

221

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 222: April 4, 2007

222

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

• Overview of Additonal Work

• Future Work

Page 223: April 4, 2007

223

• Shape Replicaton• Exact Assembly for Probabilistic Programming• Lab Work

– Experimental tests for Temperature Programming– Experiments for Probabilistic Programming

• Flexible Glue Design– Tighten bounds– More biological constraints

Future Work

Page 224: April 4, 2007

224

Shape Replication

Page 225: April 4, 2007

225

Shape Replication

drop temperature

Page 226: April 4, 2007

226

Shape Replication

drop temperature

Page 227: April 4, 2007

227

Shape Replication

drop temperature

raise temperature

Page 228: April 4, 2007

228

Shape Replication

drop temperature

raise temperature

drop temperature

Page 229: April 4, 2007

229

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 230: April 4, 2007

230

Shape Replication

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

Page 231: April 4, 2007

231

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 232: April 4, 2007

232

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 233: April 4, 2007

233

• Shape Replicaton• Exact Assembly for Probabilistic Programming• Lab Work

– Experimental tests for Temperature Programming– Experiments for Probabilistic Programming

• Flexible Glue Design– Tighten bounds– More biological constraints

Future Work