slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
May 3, 2006 PowerPoint Presentation
Download Presentation
May 3, 2006

Loading in 2 Seconds...

play fullscreen
1 / 193

May 3, 2006 - PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'May 3, 2006' - taffy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Complexities for the Design of Self-Assembly Systems

May 3, 2006

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

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

outline
Outline
  • Background, Motivation
  • Model
  • Temperature Programming
  • Flexible Glue Self-Assembly
  • Shape Verification
  • Future Work
slide4

Molecular Building Blocks

[John Reif’s Group,

Duke University]

slide5

DNA Scaffolding

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

slide6

Simulation of Cellular Automata

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

340nm

outline1
Outline
  • Background, Motivation
  • Model
  • Temperature Programming
  • Shape Verification
  • Flexible Glue Self-Assembly
  • Future Work
slide8

Tile Model of Self-Assembly

(Rothemund, Winfree STOC 2000)

Tile System:

t : temperature, positive integer

G: glue function

T: tileset

s: seed tile

slide9

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

slide10

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

slide11

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

slide12

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

slide13

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

slide14

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

slide15

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

slide16

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

slide17

How a tile system self assembles

G(y) = 2

G(g) = 2

G(r) = 2

G(b) = 2

G(p) = 1

G(w) = 1

t = 2

T =

outline2
Outline
  • Background, Motivation
  • Model
  • Temperature Programming
  • Flexible Glue Self-Assembly
  • Shape Verification
  • Future Work
multiple temperature model
Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

multiple temperature model1
Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

t

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

multiple temperature model2
Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

t

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

Tile Complexity: Number of Tiles

Temperature Complexity: Number of Temperatures

building k x n rectangles
Building k x n Rectangles

k-digit, base n(1/k) counter:

k

n

building k x n rectangles1
Building k x n Rectangles

k-digit, base n(1/k) counter:

k

n

Tile Complexity:

two temperatures2
two temperatures

Tile Complexity:

t = 4 6

n

two temperatures3
two temperatures

Tile Complexity:

t = 4 6

n

Kolmogorov Complexity

(Rothemund,

Winfree STOC 2000)

Beats Standard Model

slide32

High Level Approach

Given: n

1011001

log n

slide33

High Level Approach

Given: n

1011001

log n

1

temp

slide34

High Level Approach

Given: n

1011001

log n

1

temp

1

slide35

High Level Approach

Given: n

1011001

log n

1

0

temp

1

0

slide36

High Level Approach

Given: n

1011001

log n

1

0

1

1

0

. . .

. . .

temp

1

0

1

1

0

0

1

slide37

High Level Approach

. . .

0

0

1

. . .

temp

1

0

1

1

0

0

1

slide38

High Level Approach

. . .

0

0

1

. . .

temp

1

0

1

1

0

0

1

slide39

High Level Approach

. . .

0

0

1

. . .

temp

1

0

1

1

0

0

1

slide43

Assembly of n x n Squares

n - k

Complexity:

k

slide44

Assembly of n x n Squares

n – log n

Complexity:

log n

slide45

Assembly of n x n Squares

n – log n

Complexity:

seed row

log n

slide46

Encoding a Single Bit

0

0

1

0

1

0’

1’

z

z

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

slide47

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

z

z

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide48

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

z

z

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide49

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

z

z

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide50

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

z

z

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide51

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

z

z

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide52

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

z

z

1

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide53

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0

0’

1’

z

z

1

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide54

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

0

z

z

1

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide55

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

0

z

z

1

0’

z

z

Z

g

g

g

g

g

g

g

g

a

g

g

a

slide56

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

0

z

z

1

0’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide57

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

0

z

z

1

0’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide58

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

0

z

z

1

0’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide59

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

0

z

z

1

0’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide60

Encoding a Single Bit

t = < 2 >

0

0

1

0

1

0’

1’

0

z

z

1

0’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide61

Encoding a Single Bit

t = < 2, 5 >

0

0

1

0

1

0’

1’

0

z

z

1

0’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide62

Encoding a Single Bit

t = < 2, 5 >

0

0

1

0

0

1

0’

1’

z

z

1

x

0’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide63

Encoding a Single Bit

t = < 2, 5 >

0

0

0

1

0

1

0’

1’

0’

z

z

1

1

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide64

Encoding a Single Bit

t = < 2, 5 >

0

0

1

0

1

0’

1’

1’

z

z

1

1

z

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide65

Encoding a Single Bit

t = < 2, 5 >

0

0

1

0

1

0’

1’

z

z

1

1’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide66

Encoding a Single Bit

t = < 2, 5 >

0

0

1

0

1

0’

1’

1

z

z

1

1’

z

Z

g

g

Z

g

g

g

g

g

g

a

g

g

a

slide67

Encoding a Single Bit

t = < 2, 5 >

t = < 2 >

0

0

1

0

1

0’

1’

0

1

z

z

1

0’

1’

z

Z

g

g

Z

Z

g

g

g

g

g

g

a

g

g

a

a

slide69

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

0

a

s

b

slide70

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

a

s

b

slide71

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

a

s

X

b

slide72

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

a

s

Y

b

slide73

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

a

a

s

Y

b

b

slide74

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

a

a

s

Y

b

b

slide75

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

a

a

s

Y

X

b

b

slide76

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

a

a

a

s

Y

Y

b

b

b

slide77

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

0

a

a

a

s

Y

Y

b

b

b

slide78

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

1

a

a

a

s

Y

Y

b

b

b

slide79

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

1

a

a

a

s

Y

Y

X

b

b

b

slide80

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

1

a

a

a

a

s

Y

Y

Y

b

b

b

b

slide81

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

1

0

a

a

a

a

s

Y

Y

Y

b

b

b

b

slide82

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

1

0

a

a

a

a

s

Y

Y

Y

X

b

b

b

b

slide83

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

1

0

a

a

a

a

a

s

Y

Y

Y

Y

b

b

b

b

b

slide84

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

1

0

0

a

a

a

a

a

s

Y

Y

Y

Y

b

b

b

b

b

slide85

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

1

0

1

0

0

a

a

a

a

a

s

Y

Y

Y

Y

X

b

b

b

b

b

slide87

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

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

results
Results

n x n squares

tile complexity

temperature complexity

Temperature

Programming

O(1)

O(log n)

(Adleman, Cheng,

Goel, Huang

STOC 2001)

O(1)

results1
Results

n x n squares

tile complexity

temperature complexity

Temperature

Programming

O(1)

O(log n)

(Adleman, Cheng,

Goel, Huang

STOC 2001)

O(1)

Smooth Trade off?

? <

? < log n

results2
Results

n x n squares

tile complexity

temperature complexity

Temperature

Programming

O(1)

O(log n)

(Adleman, Cheng,

Goel, Huang

STOC 2001)

O(1)

Smooth Trade off?

? <

? < log n

For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously

general shapes
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
outline3
Outline
  • Background, Motivation
  • Model and Basics
  • Temperature Programming
  • Flexible Glue Self-Assembly
  • Shape Verification
  • Future Work
slide96

Only identical glues attract

G(y,y) = 2

G(g,g) = 2

G(r,r) = 2

G(b,b) = 2

G(p,p) = 1

G(w,w) = 1

t = 2

T =

slide97

Only identical glues attract

G(y,y) = 2

G(g,g) = 2

G(r,r) = 2

G(b,b) = 2

G(p,p) = 1

G(w,w) = 1

t = 2

T =

We don’t have:

G(p,b) = 1

slide98

Flexible Glue Model

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

  • Substantial Reduction in Tile Complexity
  • Design of Flexible glues
n x n squares flexible glue model
n x n Squares --- Flexible Glue Model

Kolmogorov lower bounds:

Standard

(Rothemund, Winfree

STOC 2000)

Flexible

Standard Glue Function

Flexible Glue Function

a b c d e f

a 1 - - - - -

b - 0 - - - -

c - - 3 - - -

d - - - 2 - -

e - - - - 2 -

f - - - - - 1

a b c d e f

a 1 0 2 0 0 1

b 0 0 1 0 1 0

c 0 0 3 0 1 1

d 2 2 2 2 0 1

e 0 0 0 1 2 1

f 1 1 2 2 1 1

slide100

Assembly of n x n Squares

n – log n

Complexity:

seed row

log n

n x n square flexible glue model
n x n Square --- Flexible Glue Model

goal:

- seed binary counter to a given value

-

0

1

1

1

1

0

1

1

1

0

0

1

0

1

1

0

0

1

2

log n

n x n square flexible glue model1
n x n Square --- Flexible Glue Model

5

3

3

3

4

4

4

4

4

4

5

5

5

5

. . .

3

4

5

0

1

2

3

4

5

0

1

2

3

4

5

n x n square flexible glue model2
n x n Square --- Flexible Glue Model

key idea:

5

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

| | | | | | | | | | | | |

5

3

3

3

4

4

4

4

4

4

5

5

5

5

. . .

3

4

5

0

1

2

3

4

5

0

1

2

3

4

5

slide104

n x n Square --- Flexible Glue Model

G(b4, p5) = 1

G(b4, w5) = 0

5

p5

5

5

5

5

w5

b4

1

2

3

4

5

slide105

n x n Square --- Flexible Glue Model

5

  • given B = 011011 110101 010111 …
  • encode B into glue function

p5

b4

4

p0 p1 p2 p3 p4 p5

b0 0 1 1 0 1 1

b1 1 1 0 1 0 1

b2 0 1 0 1 1 1

b3 0 0 1 0 1 0

b4 0 0 0 0 0 1

b5 1 1 1 1 1 0

B = 011011 110101 010111 …

slide106

n x n Square --- Flexible Glue Model

  • build block
  • Complexity:

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

slide107

0 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

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

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

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

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

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

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

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

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

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

slide108

Assembly of n x n Squares

n – log n

2 x log n block

log n

slide109

Assembly of n x n Squares

Complexity:

O(log n)

slide110

Assembly of n x n Squares

Tile Complexity for

n x n squares

Flexible Glue:

(Adleman, Cheng, Goel, Huang

STOC 2001)

Standard:

outline4
Outline
  • Background, Motivation
  • Model and Basics
  • Temperature Programming
  • Flexible Glue Self-Assembly
    • Reduced Tile Complexity
    • Glue Design
  • Shape Verification
  • Future Work
slide112

Glue Design

ACGGT

TGCCA

GGGAT

CCCTA

GTTGG

CAACC

CGTAC

GCATG

GACTC

CTGAG

slide113

Glue Design- Standard

ACGGT

TGCCA

GGGAT

CCCTA

GTTGG

CAACC

CGTAC

GCATG

GACTC

CTGAG

slide114

Glue Design- Standard

ACGGT

TGCCA

GGGAT

CCCTA

GTTGG

CAACC

CGTAC

GCATG

GACTC

CTGAG

slide115

Glue Design- Standard

ACGGT

Design n strings such that each pair of strings has Hamming distance at least .

GGGAT

GTTGG

CGTAC

GACTC

slide119

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

slide121

Graph Decomposition

Strategy:

- Decompose graph

- Label each Subgraph

- Concatenate labels

slide122

Graph Decomposition

Strategy:

- Decompose graph

- Label each Subgraph

- Concatenate labels

slide123

Graph Decomposition

Need Exact-labeling:

Each pair of non-adjacent nodes have

exactly the same Hamming distance.

slide125

Exact-labeling for Matchings

Hadamard Code (n, )

Example: n=8, =4

0000000

1111000

0011110

1100110

0101011

1010011

0110101

1001101

Hamming Distance:

Exactly 

Word Length: O(n + )

slide126

Exact-labeling for Matchings

Hadamard Code (n, )

Example: n=8, =4

0000000

1111000

0011110

1100110

0101011

1010011

0110101

1001101

Hamming Distance:

Exactly 

Word Length: O(n + )

slide129

Matching Decomposition

Length per Matching: O(n + )

Number of Matchings: O(D)

Label Length: O(Dn + D)

slide130

Tough Example

Length per Matching: O(n + )

Number of Matchings: O(D)

Label Length: O(Dn + D)

slide131

Star Graphs

Star Graph: All edges are adjacent to the same vertex

- Non-trivial application of the Hadamard Code yields:

lengthO(n) exact-labeling

slide132

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

slide133

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

slide134

Star Destroyer

Algorithm Star Destroyer

1. Decompose graph into “large” stars:

- O(n) length per star

slide135

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

slide136

Star Destroyer

Star Destoyer yields length:

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

slide137

Flexible Word Design Results

Word Length

Matching Algorithm

General Graphs

Star Destoyer

Other Work

-Trees, Lines and Rings

-Distance Labeling

-Application to applying DNA computing to digital signal processing

outline5
Outline
  • Background, Motivation
  • Model and Basics
  • Temperature Programming
  • Flexible Glue Self-Assembly
  • Shape Verification
  • Future Work
shape verification
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

slide148

Shape Verification: Unique-Shape Model

*

x3

1

ok

x2

1

ok

x1

0

c1

c2

*

*

c1

c2

c3

*

slide149

Shape Verification: Unique-Shape Model

*

x3

1

ok

x2

1

ok

c2

x1

0

c1

c2

*

*

c1

c2

c3

*

slide150

Shape Verification: Unique-Shape Model

*

x3

1

ok

ok

x2

1

ok

c2

x1

0

c1

c2

*

*

c1

c2

c3

*

slide151

Shape Verification: Unique-Shape Model

*

x3

1

ok

ok

x2

1

ok

c2

x1

0

c1

c2

ok

*

*

c1

c2

c3

*

slide152

Shape Verification: Unique-Shape Model

*

x3

1

ok

ok

ok

x2

1

ok

c2

ok

x1

0

c1

c2

ok

*

*

c1

c2

c3

*

slide153

Shape Verification: Unique-Shape Model

*

*

x3

1

ok

ok

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

slide154

Shape Verification: Unique-Shape Model

*

*

T

x3

1

ok

ok

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

slide155

Shape Verification: Unique-Shape Model

*

*

T

T

x3

1

ok

ok

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

slide156

Shape Verification: Unique-Shape Model

*

*

T

T

T

x3

1

ok

ok

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

slide157

Shape Verification: Unique-Shape Model

*

*

T

T

T

SAT

x3

1

ok

ok

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

Satisfied

(LaBean and Lagoudakis, 1999)

slide158

Shape Verification: Unique-Shape Model

*

*

T

T

T

SAT

*

*

x3

1

ok

ok

ok

*

x3

0

ok

c2

ok

*

x2

1

ok

c2

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

*

*

c1

c2

c3

*

Satisfied

(LaBean and Lagoudakis, 1999)

slide159

Shape Verification: Unique-Shape Model

*

*

T

T

T

SAT

*

*

T

x3

1

ok

ok

ok

*

x3

0

ok

c2

ok

*

x2

1

ok

c2

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

*

*

c1

c2

c3

*

Satisfied

(LaBean and Lagoudakis, 1999)

slide160

Shape Verification: Unique-Shape Model

*

*

T

T

T

SAT

*

*

T

F

x3

1

ok

ok

ok

*

x3

0

ok

c2

ok

*

x2

1

ok

c2

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

*

*

c1

c2

c3

*

Satisfied

(LaBean and Lagoudakis, 1999)

slide161

Shape Verification: Unique-Shape Model

*

*

T

T

T

SAT

*

*

T

F

F

x3

1

ok

ok

ok

*

x3

0

ok

c2

ok

*

x2

1

ok

c2

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

*

*

c1

c2

c3

*

Not Satisfied

Satisfied

(LaBean and Lagoudakis, 1999)

slide162

Shape Verification: Multiple Temperature Model

*

T

T

T

T

SAT

*

T

T

F

T

NO

x3

1

ok

ok

ok

*

x3

0

ok

c2

ok

*

x2

1

ok

c2

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

*

*

c1

c2

c3

*

Not Satisfied

Satisfied

slide163

Shape Verification: Multiple Temperature Model

*

T

T

T

T

SAT

*

T

T

T

T

NO

x3

1

ok

ok

ok

*

x3

1

ok

ok

ok

*

x2

1

ok

c2

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

*

*

c1

c2

c3

*

Not Satisfied

Satisfied

slide164

Shape Verification: Multiple Temperature Model

*

T

T

T

T

SAT

*

T

T

T

T

NO

x3

1

ok

ok

ok

*

x3

1

ok

ok

ok

*

x2

1

ok

c2

ok

*

x2

1

ok

c2

ok

*

x1

0

c1

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

*

*

c1

c2

c3

*

Not Satisfied

Satisfied

slide165

Shape Verification: Multiple Temperature Model

*

*

x3

x3

x2

x2

x1

x1

*

*

Not Satisfied

Satisfied

slide166

Shape Verification: Multiple Temperature Model

*

*

T

F

F

NO

x3

0

ok

c2

ok

*

x2

0

ok

c2

ok

*

x1

0

c1

c2

ok

*

*

*

c1

c2

c3

*

slide167

Shape Verification: Multiple Temperature Model

*

*

T

F

F

NO

*

x3

0

ok

c2

ok

*

0

x2

0

ok

c2

ok

*

0

x1

0

c1

c2

ok

*

1

*

*

c1

c2

c3

*

*

slide168

Shape Verification: Multiple Temperature Model

*

*

T

F

F

NO

*

F

F

F

NO

x3

0

ok

c2

ok

*

0

c1

c2

ok

*

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

slide169

Shape Verification: Multiple Temperature Model

*

*

T

F

F

NO

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

c2

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

slide170

Shape Verification: Multiple Temperature Model

*

*

T

F

F

NO

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

c2

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

slide171

Shape Verification: Multiple Temperature Model

*

*

T

F

F

NO

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

c2

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

slide172

Shape Verification: Multiple Temperature Model

*

*

T

F

F

NO

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

c2

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

*

*

T

T

T

SAT

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

ok

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

slide173

Shape Verification: Multiple Temperature Model

*

x3

Not Satisfiable

x2

x1

*

*

x3

Satisfiable

x2

x1

*

slide175

Shape Verification: Multiple Temperature Model

Input Shape:

*

*

T

F

F

NO

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

c2

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

slide176

Shape Verification: Multiple Temperature Model

Input Shape:

*

*

T

F

F

NO

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

c2

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

Co-NP-hard

Equivalent to Co-SAT

slide178

Shape Verification: Multiple Temperature Model

Input Shape:

*

*

T

T

T

SAT

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

ok

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

slide179

Shape Verification: Multiple Temperature Model

Input Shape:

*

*

T

T

T

SAT

*

F

F

F

NO

*

NO

*

T

T

F

NO

x3

0

ok

ok

ok

*

0

c1

c2

ok

*

0

*

1

ok

ok

c3

*

...

x2

0

ok

c2

ok

*

0

c1

c2

ok

*

1

*

1

ok

c2

c3

*

x1

0

c1

c2

ok

*

1

c1

c2

ok

*

0

*

1

c1

c2

c3

*

*

*

c1

c2

c3

*

*

c1

c2

c3

*

*

*

*

c1

c2

c3

*

Equivalent to SAT

NP-hard

shape verification results
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)

outline6
Outline
  • Background, Motivation
  • Model and Basics
  • Temperature Programming
  • Flexible Glue Self-Assembly
  • Shape Verification
  • Future Work
slide183

Shape Replication

drop temperature

slide184

Shape Replication

drop temperature

slide185

Shape Replication

drop temperature

raise temperature

slide186

Shape Replication

drop temperature

raise temperature

drop temperature

slide189

Shape Replication

raise temperature

slide190

Shape Replication

raise temperature

drop temperature

slide191

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
slide192

Future Work

  • Lab Work
    • Experimental tests for Temperature Programming
    • Flexible Glue Design
thanks for listening questions
Thanks for ListeningQuestions?

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

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