may 3, 2006

Post on 21-Jan-2016

36 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

1

Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: schwellerr@cs.northwestern.edu

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

May 3, 2006

Complexities for the Design of Self-Assembly Systems

2

Outline

• Background, Motivation

• Model

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

3

A C

G C

T G C G

Molecular Building Blocks

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]

5

DNA Scaffolding

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

6

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

340nm

Simulation of Cellular Automata

7

Outline

• Background, Motivation

• Model

• Temperature Programming

• Shape Verification

• Flexible Glue Self-Assembly

• Future Work

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

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

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

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

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

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

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

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

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

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

18

Each Shape Requires a Distinct Tile Set

19

Programmable, General Purpose Tile Set?

20

Programmable, General Purpose Tile Set?

. . .

21

Outline

• Background, Motivation

• Model

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

22

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

23

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

},,,{ sTGtt

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

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

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

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

27

two temperatures

3

3

3

1

t = 4

k

N

j

k

N

j

n

28

t = 4 6

k

N

j

two temperatures

n

29

)nO(j 1/j

)n loglog

n logO(k

N

j

n

Tile Complexity:

two temperaturest = 4 6

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

31

Programmable, General Purpose Tile Set?

. . .

32

Given: n 1011001

log n

High Level Approach

33

Given: n 1011001

log nte

mp

High Level Approach

1

34

Given: n 1011001

log nte

mp

High Level Approach

1

1

35

Given: n 1011001

log nte

mp

High Level Approach

1 0

1 0

36

Given: n 1011001

log nte

mp

High Level Approach

1 0 1 1 . . .

. . .

0

1 0 1 1 0 10

37

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

38

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

39

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

40

Assembly of n x n Squares

N - k

k

41

Assembly of n x n Squares

n - k

k

42

Assembly of n x n Squares

n - k

k

43

Assembly of n x n Squares

n - k

k

)( /1 knkO

Complexity:

44

Assembly of n x n Squares

n – log n

log n)(log)(

2

log

/1

/1

nOnkO

n

nk

k

k

Complexity:

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

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

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 >

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 >

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 >

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 >

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 >

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

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

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

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

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

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

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

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

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

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

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

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

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

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’

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

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’

68

Goal: 1 0 1 0 0

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 >

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 >

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 >

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 >

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

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

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

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

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

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

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

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

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

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

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

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

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

86

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

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

88

Assembly of n x n Squares

n – log n

log n

89

Assembly of n x n Squares

O(log n)

90

Assembly of n x n Squares

O(log n)

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

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

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

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

95

Outline

• Background, Motivation

• Model and Basics

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

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

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

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

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)

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

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

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

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:

104

4 53

555

21b4

5

5

w5

p5

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

n x n Square --- Flexible Glue Model

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

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

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

108

Assembly of n x n Squares

n – log n

log n

2 x log n block

109

Assembly of n x n Squares

O(log n)

)log( N

Complexity:

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

111

Outline

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

– Reduced Tile Complexity– Glue Design

• Shape Verification• Future Work

112

Glue Design

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

113

Glue Design- Standard

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

114

Glue Design- Standard

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

115

Glue Design- Standard

ACGGT

GGGAT

GTTGG

CGTAC

GACTC

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

at least .

116

Flexible Glue Design

117

Flexible Glue Design

118

Flexible Glue Design

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

120

121

Graph Decomposition

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

122

Graph Decomposition

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

123

Graph Decomposition

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

124

Exact -labeling for Matchings

125

Exact -labeling for Matchings

00000001111000001111011001100101011101001101101011001101

Hamming Distance:

Exactly

Word Length: O(n + )

Hadamard Code (n, )

Example: n=8, =4

126

Exact -labeling for Matchings

Hadamard Code (n, )

Example: n=8, =4

00000001111000001111011001100101011101001101101011001101

Hamming Distance:

Exactly

Word Length: O(n + )

127

Matching Decomposition

128

Matching Decomposition

129

Matching Decomposition

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

Label Length: O(Dn + D)

130

Tough Example

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

Label Length: O(Dn + D)

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

132

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

133

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

134

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

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

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

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

138

Outline

• Background, Motivation

• Model and Basics

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

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

140

*

Shape Verification: Unique-Shape Model

)(

)(

)(

321

321

321

xxx

xxx

xxx

141

*

x1

x2

x3

*

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

142

*

x1

x2

x3

*

* c2c1 c3 *

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

143

*

x1

x2

x3

*

* c2c1 c3 *

x

x

x

1

0

x

x

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

144

*

x1

x2

x3

*

* c2c1 c3 *

0

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

145

*

x1

x2

x3

*

* c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

146

*

x1

x2

x3

*

*

ok

c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

147

*

x1

x2

x3

*

*

ok

ok

c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

148

*

x1

x2

x3

*

*

ok

ok

c2c1

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

149

*

x1

x2

x3

*

*

ok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

150

*

x1

x2

x3

*

*

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

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

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

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

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

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

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

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

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

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

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

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

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

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

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

165

*

x3

x2

x1

*

*

x3

x2

x1

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

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

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

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

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

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

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

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

173

*

x1

x2

x3

*

*

x1

x2

x3

*

Satisfiable

Not Satisfiable

Shape Verification: Multiple Temperature Model

174

Input Shape:

Shape Verification: Multiple Temperature Model

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

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

177

Input Shape:

Shape Verification: Multiple Temperature Model

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

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

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)

181

Outline

• Background, Motivation

• Model and Basics

• Temperature Programming

• Flexible Glue Self-Assembly

• Shape Verification

• Future Work

182

Shape Replication

183

Shape Replication

drop temperature

184

Shape Replication

drop temperature

185

Shape Replication

drop temperature

raise temperature

186

Shape Replication

drop temperature

raise temperature

drop temperature

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

188

Shape Replication

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

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

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

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

192

• Lab Work– Experimental tests for Temperature

Programming– Flexible Glue Design

Future Work

193

Thanks for Listening

Questions?

Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: schwellerr@cs.northwestern.edu

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

top related