Presentation is loading. Please wait.

Presentation is loading. Please wait.

Notes on randomized self- assembly Days 34, 35, 36 and 37 of Comp Sci 480.

Similar presentations


Presentation on theme: "Notes on randomized self- assembly Days 34, 35, 36 and 37 of Comp Sci 480."— Presentation transcript:

1 Notes on randomized self- assembly Days 34, 35, 36 and 37 of Comp Sci 480

2 Randomized self-assembly Also known as “tile concentration programming” assembly model –Or just “concentration programming” –First proposed by Becker, Remila, Rapaport in ~2006 Model refined by Kao, Schweller (2008), Doty (2009) Tiles are assigned relative concentrations –In one “mole” of solution, tile t 0 makes up 50% of the tiles, t 1 25%, t 2 15% and t 3 10% Models the situation where two different tile types are “competing” for the chance to bind at a particular location –The higher the concentration of a particular tile, the more likely it is to bind at that location Can be used to study “running time” in self-assembly –We won’t do this

3 The basic idea ? A B t0t0 A B 2 1 t1t1 A B Y X t1t1 A B Y X t1t1 A B Y X t1t1 A B Y X t1t1 A B Y X t1t1 A B Y X t1t1 A B Y X t0t0 A B 2 1 t0t0 A B 2 1 t1t1 A B Y X t1t1 A B Y X Which tile is more likely to bump into the assembly and bind at this position? Tile type t 1 is more likely to bind, because it has a higher concentration.

4 Non-determinism Concentration programming always involves non-determinism –Otherwise, what’s the point of the concentrations of tiles? Not interested in tile sets that uniquely produce an assembly Very interested in tile sets that uniquely produce a shape!

5 Rules of the model The rules are the same as they are for the aTAM –Tiles bind one at a time to a growing assembly –Must bind with strength at least a certain temperature value –Etc. Assign to each tile t T a probability, p(t), such that Σ t T p(t) = 1 Things get interesting when there is more than one location at which a tile may be placed –Even more interesting if, at one of these locations, more than one tile type may attach How to determine which tile binds next to the growing assembly A? –Choose a location –Choose a tile to go at that location…

6 Step 1: choose a location First, choose a location (there could be many) at which a tile may bind in A Let ∂(A) be the set of all locations in A that can receive a tile Let F(x,y) = “the sum of all the probabilities of all the tiles that can bind to A at location (x,y)” –F(x,y) = Σ { t T | t can bind at A(x,y) } p(t) Let F = “the sum of all the probabilities of all the tiles that can bind at any location in A” –F = Σ (x,y) ∂(A) F(x,y) Let P(x,y) = F(x,y) / F –P(x,y) is known as the “position selection probability”

7 Step 2: choose a tile Once we have a location, we need to choose a tile that can be placed For this, define P(t | (x,y)) = p(t) / F(x,y) –Tile selection probability –It’s the conditional probability that t attaches at location (x,y) in A Assuming (x,y) can receive a tile at all!

8 Put it all together Multiply the probabilities to see which tile goes next –I.e., to see the probability of a particular tile being placed at a particular location P(x,y) * P(t | (x,y)) –This is the probability that t is placed at location (x,y) in the next assembly step –Can be simplified to: p(t) / F Time for an example…

9 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% E 5 D 54

10 Terminal assemblies S 2 4 C 3 4 A 1 2 S 2 4 A 1 2 B 3 1 E 5 D 54 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% E 5 D 54 Two terminal assemblies… …which one is more likely to self- assemble?

11 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 E 5 D 54

12 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 P(0,1)*p(A | (0,1)) = (F(0,1) / F)*(p(A) / F(0,1)) =.05 / (.05 +.6 +.2) * (.05 /.05) =.05 /.85 * 1 =.059 = 5.9% (0,1) E 5 D 54 D 54

13 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 P(1,0)*p(C | (1,0)) = (F(1,0) / F)*(p(C) / F(1,0)) = (.6 +.2) / (.05 +.6 +.2) * (.6 / (.6 +.2)) =.8 /.85 *.6 /.8 =.6 /.85 =.706 (1,0) 5.9% E 5 D 54 D 54

14 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 P(1,0)*p(D | (1,0)) = (F(1,0) / F)*(p(D) / F(1,0)) = (.6 +.2) / (.05 +.6 +.2) * (.2 / (.6 +.2)) =.8 /.85 *.2 /.8 =.2 /.85 = 23.5% (1,0) 5.9% 70.6% E 5 D 54 D 54

15 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 P(1,0)*p(D | (1,0)) = (F(1,0) / F)*(p(D) / F(1,0)) = (.6 +.2) / (.05 +.6 +.2) * (.2 / (.6 +.2)) =.8 /.85 *.2 /.8 =.2 /.85 = 23.5% 5.9% 70.6%23.5% E 5 D 54 D 54

16 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 S 2 4 C 3 4 S 2 4 A 1 2 A 1 2 100% P(1,0)*p(C | (1,0)) = (F(1,0) / F)*(p(C) / F(1,0)) = (.6 +.2) / (.6 +.2) * (.6 / (.6 +.2)) = 1 *.6 /.8 =.75 = 75% ??% E 5 D 54 D 54 D 54 5.9% 70.6%23.5%

17 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 S 2 4 C 3 4 S 2 4 A 1 2 A 1 2 100% 75% ??% P(1,0)*p(D | (1,0)) = (F(1,0) / F)*(p(D) / F(1,0)) = (.6 +.2) / (.6 +.2) * (.2 / (.6 +.2)) = 1 *.2 /.8 =.25 = 25% E 5 D 54 D 54 D 54 5.9% 70.6%23.5%

18 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 S 2 4 C 3 4 S 2 4 D 54 A 1 2 A 1 2 100% 75% 25% D 54 E 5 D 54 5.9% 70.6%23.5%

19 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 S 2 4 C 3 4 S 2 4 A 1 2 A 1 2 S 2 4 C 3 4 A 1 2 S 2 4 A 1 2 B 3 1 E 5 D 54 E 5 D 54 D 54 D 54 5.9% 70.6%23.5% 100% 75% 25% 100%

20 Probability of producibility For a producible assembly A, look at every path, say π A, from the seed to A Compute the product of all the edges along π A Add up all the products The final number is the probability that A will be produced Back to our example…

21 A 1 2 B 3 1 C 3 4 S 2 4 p(A) = 5% p(B) = 5% p(C) = 60% p(S) = 5% p(D) = 20% p(E) = 5% S 2 4 S 2 4 S 2 4 S 2 4 A 1 2 C 3 4 S 2 4 C 3 4 S 2 4 A 1 2 A 1 2 S 2 4 C 3 4 A 1 2 S 2 4 A 1 2 B 3 1 E 5 D 54 E 5 D 54 D 54 D 54 5.9% 70.6%23.5% 100% 75% 25% 100%.706 * 1 * 1 +.059 *.75 * 1 =75% ??%

22 A simple case Things aren’t always that complicated If your tile set has the property that, at any step, there is only one location, then all you have to consider is the tile selection probabilities Example: building a 1xN line

23 Two goals Working in the tile concentration programming model, we will accomplish the following: Design a tile set with size O(1) that can build any 1xN line –N is specified by the concentrations of the tiles –Not possible in neither the aTAM nor the temperature programming model Design a tile set with size O(1) that can build any NxN square –N is specified by the concentrations of the tiles –Also possible with temperature programming, but NOT in the aTAM

24 Lines Recall tile complexities for 1xN lines: –aTAM: N –Temperature programming: N Tile concentration programming: There is a tile set of size O(1) that can build any 1xN line –N specified by the relative concentrations of the tile types Basic idea: start from a seed and always have two tile types that can bind: –Keep going –Stop growing How many tile types? –3–3

25 The tile set S ? A ?? B ? p(S) =.01 p(A) = (1 - 1/(N - 1))(1 -.01) p(B) = (1/(N - 1))(1 -.01) Note: p(S) + p(A) + p(B) =.01 + (1 - 1/(N - 1))(1 -.01) + (1/(N - 1))(1 -.01) =.01 + (1 -.01)(1 - 1/(N - 1) + 1/(N - 1)) =.01 + (1 -.01)(1) =.01 +.99 = 1.0 This tile set, say T, produces infinitely many terminal assemblies May never stop growing (with extremely low probability) What is the “expected” (a.k.a., average) length of a finite terminal assembly?

26 Expected length What is the average length of any finite assembly produced by T? Let X represent the length of assembly produced by T –X is a “random variable”, i.e., its value depends on a random process (either stop, or keep going) We want to compute the expectation of X, denoted as E[X] –The average value that X takes on

27 Expectation To compute the expected value of a random variable, we need to compute this quantity: E[X] = Σ k Pr(X = k)*k Note: k ranges over all values that X can take on Each term in the sum: “The probability that X equals k, times k” In our lines example, k ranges from 2 to infinity!

28 Expectation computation First and foremost, what is Pr(X = k)? –The probability that the line length is k What has to happen in order to get a line of length exactly k? This means we need k-2 “keep going” tiles to attach followed by a “stop” tile What is the probability of getting this assembly?

29 S ? A ?? B ? S ? A ?? S ? A ?? A ?? S ? A ?? (1 - 1/(N - 1))(1 -.01) / ((1 - 1/(N - 1))(1 -.01) + (1/(N - 1))(1 -.01)) = 1 - 1/(N – 1) A ?? A ?? S ? A ?? A ?? k - 2 Pr(X = k) = (1 - 1/(N - 1)) k-2 (1/(N - 1)) (1/(N - 1))(1 -.01) / ((1 - 1/(N - 1))(1 -.01) + (1/(N - 1))(1 -.01)) = 1/(N - 1) (1 - 1/(N - 1))(1 -.01) / ((1 - 1/(N - 1))(1 -.01) + (1/(N - 1))(1 -.01)) = 1 - 1/(N – 1)

30 Expectation summation the good ol’ fashion way… E[X] = Σ k≥2 k*Pr(X = k) = Σ k≥2 k*(1 - 1/(N - 1)) k-2 (1/(N - 1)); definition of Pr(X = k) = Σ k≥2 k*(1 - 1/(N - 1)) k-2 (1/(N - 1)) ; algebra = Σ k≥2 k*(1 - 1/(N - 1)) k-2 (1 - (1 - 1/(N - 1))) ; algebra = Σ k≥2 {k*(1 - 1/(N - 1)) k-2 - k(1 - 1/(N - 1))(1 - 1/(N - 1)) k-2 } ; algebra = Σ k≥2 {k*(1 - 1/(N - 1)) k-2 - k(1 - 1/(N - 1)) k-1 } ; algebra = 1 + Σ k≥0 (1 - 1/(N - 1)) k ; tricky: consecutive terms cancel = 1 + (1 / (1 - (1 - 1 / (N - 1)))); geometric series formula: Σ k≥0 x k = 1 / (1 - x) = 1 + (1 / (1 / (N - 1))) = 1 + (N - 1) = N Hurray!! Easier way: Google “geometric distribution” and note that formula for E[X], when X is a geometric random variable…

31 Can we do better? Can we do better than 3 tile types? Could we build 1xN (expected) lines with 2 tile types in the tile concentration model? NO! How would you “cap” growth at both ends? –Need two “cap” tiles One would have zero strength on the left The other would have zero strength on the right

32 Squares How to build NxN squares with O(1) tile types? Modify the line tile set…

33 Modified (and extended) tile set S 0 A ?? B ?

34 0 0? S 0 A ?? B ? # L# # # #RRRLL

35 Example 0 0? S 0 A ?? B ?RRLL A ?? A ?? A ?? # L# # # #R # L# # # #R # L# # # #R # L# # # #R # L# # # #RRRRRRRRRRRRRRRRRRR # L#LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

36 Relative concentrations 0 0? S 0 A ?? B ? # L# # # #RRRLL p(“all tile types that are not A and B”) =.001 c = Σ t≠A,B p(t) p(A) = (1 - c)(1 - 1/(N - 1)) p(B) = (1 - c)(1/(N - 1)) Let X = dimension of produced square E[X] = N (same as the analysis for lines)

37 Summary / discussion Randomized self-assembly –A.k.a., tile concentration programming Lines: O(1) tile types Squares: O(1) tile types Correct expected size, but the sizes can vary wildly –Probability of getting a line/square that’s too big/small cannot be controlled in our constructions Other results: –Kao and Schweller (2008): squares with O(1) tile types but more precise control over dimension of the produced square –Doty (2009): squares with O(1) tile types, but extremely precise control over dimension of the produced square Can make the probability of getting a square even just a tiny bit bigger/smaller than desired arbitrarily small…

38 Wild variation! The average size of our produced square is NxN Probability of getting an NxN square for N = 100 with our simple construction… – (1 - 1/100) 98 (1/100) ≈.00373 =.3%!! There’s no way to make this any better without making serious modifications –Getting a 1000x1000 square will basically never happen Doty (2009): –Constant tile set –Pick a really small (real) number, say ε =.00001 Encode ε in the concentrations of the tile types –Doty’s tile set self-assembles into an NxN square (exactly!) with probability at least 1 - ε =.99999

39 Previous example 0 0? S 0 A ?? B ? # L# # # #RRRLL p(“all tile types that are not A and B”) =.001 c = Σ t≠A,B p(t) p(A) = (1 - c)(1 - 1/(N - 1)) p(B) = (1 - c)(1/(N - 1)) Let X = dimension of produced square E[X] = N (mimic the analysis for lines) Can we do better than 8 tile types?

40 One last example Let’s do one more example with randomized self-assembly Let’s build a square in a weird kind of way Randomly build the bottom row and then randomly build the height Basic idea: –build the bottom row –build the right column Only after bottom row fully completes –fill in the middle with fillers How do we do this?

41 ONE way to do it… S # Hi What are the concentrations? p(“all tile types that are neither B nor C”) =.01 c = p(A) + p(Lo) + p(Hi) + p(S) p(B) = (1/2)(1 - c)(1 - 1/(N - 1)) p(C) = (1/2)(1 - c)(1/(N - 1)) What is the average size of the produced assembly? Answer = N Lo B Hi# # A # Lo # C Hi # S # A # Lo # B Hi# # A # Lo # B Hi# # C # A # Lo # Hi Lo

42 ANOTHER The tile set S ? A ?? F What are the concentrations? p(“all tile types that are not A, A', B and B'”) =.01 c = p(F) + p(S) p(A) = (1/2)(1 - c)(1 - 1/(N - 1)) p(B) = (1/2)(1 - c)(1/(N - 1)) p(A') = (1/2)(1 - c)(1 - 1/(N - 1)) p(B') = (1/2)(1 - c)(1/(N - 1)) What is the average size of the produced assembly? B ? ? A' ? ? B' ?

43 Expected squares Let X = size of the produced assembly E[X] = Σ w,h≥2 (w*h)*Pr(X = w*h) What is Pr(X = w*h)? Seed, w-2 A tiles, 1 B tile, h-2 A' tiles, 1 B' tile, fillers take care of the rest –Pr(X = w*h) = (1-1/N) w-2 (1/N)(1-1/N) h-2 (1/N) = (1 - 1/N) w+h-4 1/N 2 E[X] = Σ w,h≥2 (w*h)*Pr(X = w*h) = Σ w,h≥2 (w*h)(1-1/N) w+h-4 1/N 2 = ??? There’s an easier way…

44 Independent events Let X and Y be two events (things we want to have happen) X and Y are said to be independent if P(A and B) = P(A)*P(B) Example: –A = probability of rolling a dice one time and getting a 6 –B = probability of rolling two numbers that sum to 8 A and B are NOT independent events P(A) = 1/6 P(B) = “2,6” + “3,5” + “4,4” + “5,3” + “6,2” / 6*6 = 5/36 P(A and B) = 1/36 P(A)*P(B) = 1/6 * 5/36 < 1/6 * 6/36 = 1/36

45 From last time: the tile set S ? A ?? F What are the concentrations? p(“all tile types that are not A, A', B and B'”) =.01 c = p(F) + p(S) p(A) = (1/2)(1 - c)(1 - 1/(N - 1)) p(B) = (1/2)(1 - c)(1/(N - 1)) p(A') = (1/2)(1 - c)(1 - 1/(N - 1)) p(B') = (1/2)(1 - c)(1/(N - 1)) What is the average size of the produced assembly? B ? ? A' ? ? B' ?

46 Expectation and independence For random variables X, Y, we say that X and Y are independent if all the events related to X and Y are independent events –Not a formal definition –Formal definition is more complicated than this Example: X is the length of the line –Related event: X = 4 If X and Y are independent random variables, then E[X*Y] = E[X]*E[Y] Let X = width of produced assembly Let Y = height of produced assembly Are X and Y independent? –Yes! –Can get any height regardless of the height, and vice versa

47 Expected size of assembly Let Z = X*Y = size of produced assembly –If E[Z] = N 2, then we’re good! E[Z] = E[X*Y] = E[X]*E[Y] E[X] = E[Y] In our previous example: E[X] = N –Now what is it?

48 Expectation computation E[X] = Σ k≥2 k*Pr(X = k) = Σ k≥2 k*(1 - 1/(N - 1)) k-2 (1/(N - 1)) = Σ k≥2 k*(1 - 1/(N - 1)) k-2 (1 - (1 - 1/(N - 1))) = Σ k≥2 {k*(1 - 1/(N - 1)) k-2 - k(1 - 1/(N - 1))(1 - 1/(N - 1)) k-2 } = Σ k≥2 {k*(1 - 1/(N - 1)) k-2 - k(1 - 1/(N - 1)) k-1 } = 1 + Σ k≥0 (1 - 1/(N - 1)) k = 1 + (1 / (1 - (1 - 1 / (N - 1)))) = 1 + (1 / (1 / (N - 1))) = 1 + (N - 1) = N Expected size of the produced assembly = E[Z] = E[X*Y] = E[X]*E[Y] = E[X] 2 = N 2 Exactly what we wanted!

49 Can we do even better? S ? A ?? F Can we build (expected) NxN squares with 5 tile types? A' ? ? B' ? B ? ?

50 Yes? S ? A ?? Can we build (expected) NxN squares with 5 tile types? What are the concentrations? B ? ? A' ? ? B' ? ?

51 Randomized comb? S ? A ?? Can we build (expected) NxN squares with 5 tile types? What are the concentrations? What is the expected size of the produced assembly? … Hmmmmmm B ? ? A' ? ? B' ? ? p(S) =.001 p(A) = (1/2)(1-p(S))(1-1/(N-1)) p(B) = (1/2)(1-p(S)(1/(N-1)) p(A') = (1/2)(1-p(S))(1-1/(N-2)) p(B') = (1/2)(1-p(S))(1/(N-2))


Download ppt "Notes on randomized self- assembly Days 34, 35, 36 and 37 of Comp Sci 480."

Similar presentations


Ads by Google