72
1 35 th International Colloquium on Automata, Languages and Programming July 8, 2008 Randomized Self-Assembly for Approximate Shapes Robert Schweller University of Texas – Pan American In collaboration with Ming-Yang Kao Northwestern University

35 th International Colloquium on Automata, Languages and Programming July 8, 2008

  • Upload
    aviva

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

Randomized Self-Assembly for Approximate Shapes. 35 th International Colloquium on Automata, Languages and Programming July 8, 2008. Robert Schweller University of Texas – Pan American In collaboration with Ming-Yang Kao Northwestern University. Outline. Assembly Model - PowerPoint PPT Presentation

Citation preview

Page 1: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

1

35th International Colloquium on Automata, Languages and ProgrammingJuly 8, 2008

Randomized Self-Assembly for Approximate Shapes

Robert Schweller University of Texas – Pan American

In collaboration with

Ming-Yang Kao Northwestern University

Page 2: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

2

Outline

• Assembly Model

• Basic Constructions

• Probabilistic Assembly Model

• Main Result

Page 3: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

3

Tile Assembly Model(Rothemund, Winfree, Adleman)

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

t = 2

Tile Set:

Glue Function:

Temperature:

S

Seed Tile:

x dc

baS

Page 4: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

4

x dc

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

t = 2

S

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 5: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

5

S a

x dc

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

t = 2

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 6: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

6

S a

c

x dc

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

t = 2

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 7: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

7

S a

c

d

x dc

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

t = 2

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 8: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

8

S a b

c

d

x dc

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

t = 2

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 9: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

9

S a b

c

d

x

x dc

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

t = 2

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 10: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

10

S a b

c

d

x x

x dc

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

t = 2

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 11: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

11

S a b

c

d

x x

x

x dc

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

t = 2

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 12: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

12

S a b

c

d

x x

x x

x dc

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

t = 2

Tile Assembly Model(Rothemund, Winfree, Adleman)

Page 13: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

13

How efficiently can you build an n x n square?

s

Page 14: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

14

How efficiently can you build an n x n square?

s

n

Page 15: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

15

How efficiently can you build an n x n square?

s

x

Tile Complexity:2n

n

Page 16: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

How efficiently can you build an n x n square?

s

Page 17: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

How efficiently can you build an n x n square?

s0 0 00

log n

-Use log n tile types to seedcounter:

Page 18: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

How efficiently can you build an n x n square?

s0 0 00

log n

-Use 8 additional tile types capable of binary counting:

-Use log n tile types capable ofBinary counting:

Page 19: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

How efficiently can you build an n x n square?

s0 0 00

log n

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 0

0 1

1 0

1

1

11

1

000 1

-Use 8 additional tile types capable of binary counting:

-Use log n tile types capable ofBinary counting:

Page 20: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

How efficiently can you build an n x n square?

s0 0 00

log n

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 01

0 0 11

0 1 01

0 1 11

1 0 01

1 0 11

1 1 11

1 1 01

1

11

1

000 1

-Use 8 additional tile types capable of binary counting:

-Use log n tile types capable ofBinary counting:

Page 21: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

How efficiently can you build an n x n square?

s0 0 00

000

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 01

0 0 11

0 1 01

0 1 11

1 0 01

1 0 11

1 1 11

1 1 01

1

1

11

1

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

0

0

1

1

0

1

1

1

0

0

0

0

1

1

0

0

1

0

1

0

1

1

1

0

1

0

0

1

1

1

0

1

1

0

1

1

1

1

1

1

1

-Use 8 additional tile types capable of binary counting:

-Use log n tile types capable ofBinary counting:

Page 22: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

How efficiently can you build an n x n square?

s0 0 00

000

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 01

0 0 11

0 1 01

0 1 11

1 0 01

1 0 11

1 1 11

1 1 01

1

1

11

1

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

0

0

1

1

0

1

1

1

0

0

0

0

1

1

0

0

1

0

1

0

1

1

1

0

1

0

0

1

1

1

0

1

1

0

1

1

1

1

1

1

1

n – log n

log n

x

y

Tile Complexity:O(log n)

With optimalcounter:Tile Complexity:O(log n / loglog n)

Meets lower bound:(log n / loglog n)

(Rothemund, Winfree 2000)

(Adleman, Cheng, Goel, Huang 2001)

(Rothemund, Winfree 2000)

Page 23: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

23

Outline

• Assembly Model

• Basic Constructions

• Probabilistic Assembly Model

• Main Result

Page 24: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

24

aS

Assign Relative Concentrations:

Probabilistic Assembly Model

b c

xd %5

%5

%5

%60

%20

%5

(Becker, Remila, Rapaport)

Page 25: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

25

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

(Becker, Remila, Rapaport)

Page 26: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

26

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

(Becker, Remila, Rapaport)

Page 27: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

27

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

(Becker, Remila, Rapaport)

Page 28: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

28

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

(Becker, Remila, Rapaport)

Page 29: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

29

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

(Becker, Remila, Rapaport)

Page 30: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

30

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

(Becker, Remila, Rapaport)

Page 31: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

31

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

(Becker, Remila, Rapaport)

Page 32: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

32

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

(Becker, Remila, Rapaport)

Page 33: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

33

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

(Becker, Remila, Rapaport)

Page 34: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

34

Generic Tileset for all Squares

Page 35: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

35

Generic Tileset for Approximate Squares

n(1-n (1+n

Page 36: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

36

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 37: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

37

High Level Idea

-Build random structure:-Dimensions are random-Internal pattern is random

Page 38: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

38

High Level Idea

-Build random structure:-Dimensions are random-Internal pattern is random

-Incorporate arithmetic tiles to extracta binary number from the randompattern

10110110

Page 39: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

39

Binary Counter

Bin

ary Co

un

ter

10110110

n

n

Finish off SquareOutput n approximation

Page 40: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

40

X

S

Line Estimation of n

Page 41: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

41

X

S

S

Line Estimation of n

Page 42: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

42

X

S

S

Line Estimation of n

Page 43: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

43

X

S

S

Line Estimation of n

Page 44: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

44

X

S

S

Line Estimation of n

Page 45: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

45

X

S

S

Line Estimation of n

Page 46: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

46

X

S

S

Line Estimation of n

Page 47: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

47

X

S

S

Line Estimation of n

Page 48: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

48

X

S

S

Line Estimation of n

Page 49: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

49

X

S

S

Line Estimation of n

Page 50: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

50

X

S

S

Line Estimation of n

Page 51: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

51

X

S

XS

Line Estimation of n

Page 52: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

52

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n

Page 53: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

53

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 54: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

54

X

S

XS

% c

% c/n

% c(n-1)/n

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

E[ Length ] = n

Page 55: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

55

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:

Large variance

[Becker, Rapaport Remila, 2006]

E[ Length ] = n

Page 56: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

56

X

S

Improved Estimation of n: Binomial Distribution

S X

Key Idea

Page 57: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

57

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 58: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

58

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 59: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

59

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 60: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

60

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 61: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

61

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 62: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

62

S

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Page 63: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

63

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 64: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

64

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 65: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

65

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 66: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

66

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 67: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

67

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 - )n’ < n < (1 + ) n’

Page 68: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

68

10110110

Finish off SquareOutput n approximation

Page 69: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

69

Binary Counter

Bin

ary Co

un

ter

10110110

n

n

Finish off SquareOutput n approximation

Page 70: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

70

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 71: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

71

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

• Simulation and experimental implementation• Extension to 3 dimensions

– Approximation accuracy increases for n x n x n cubes, possibly exact assembly of cubes with high probability

Page 72: 35 th  International Colloquium on Automata, Languages and Programming July 8, 2008

72

Thanks for Listening

Questions?

Robert Schweller Computer Science Department University of Texas Pan American Email: [email protected]

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