150 likes | 245 Views
A simple analysis. Suppose complementary DNA strands of length U always stick, and those of length L never stick (eg: U=20, L=10) Suppose you have n randomly chosen DNA strands of length U Probability that there will be some undesired interaction of length at least L · U 2 n 2 4 -L
E N D
A simple analysis • Suppose complementary DNA strands of length U always stick, and those of length L never stick (eg: U=20, L=10) • Suppose you have n randomly chosen DNA strands of length U • Probability that there will be some undesired interaction of length at least L · U2n24-L • Basis of Adleman’s construction and also DNA tiles Ashish Goel, ashishg@stanford.edu
Tile Systems and Program Size • A tile system that uniquely assembles into a shape is analogous to a program for computing the shape • Program size: The number of tile types used • Goal:Find smallest program size for interesting classes of shapes [Adleman ’99][Rothemund and Winfree ‘00] • Can often derive lower bounds on program size • Need n distinct tile types to assemble a line of length n (pumping lemma) • Need Ωio(log n/log log n) distinct tile types to construct squares of side n (Kolmogorov complexity) • Also need a notion of assembly time or “running time” Ashish Goel, ashishg@stanford.edu
Tile Systems and Assembly Time t = 2 d B C A Seed Ashish Goel, ashishg@stanford.edu
B Seed B B C Seed A Seed A Seed A Seed Tile Systems and Assembly Time A: 50%, B:30%, C: 20% d 0.5 0.3 0.2 0.5 0.3 Assembly time = Average time to go from seed to terminal state Ashish Goel, ashishg@stanford.edu
B B B B C C C C D D D D E E E E Example: Assembling Lines • Require n tiles to assemble line of length n • Eg. suppose tiles B and F are the same • Could “pump” the tiles BCDE to get infinite line • Therefore program size is n • For fastest assembly, all tiles must have the same concentration (1/n) • Expected assembly time is n2 • Can assemble thicker rectangles (2 £ n, log n £ n, n £ netc.) faster and with less tile types! A F G H I Ashish Goel, ashishg@stanford.edu
Self-assembling Squares • Would like to assemble n x n squares as fast as possible and with as few tile types • Kolmogorov lower bound of Ωio(log n/log log n) on the program size (i.e. number of different tiles) • Assembly time has to be Ω(n) in accretion model • Motivation: • Simple canonical problem, leads to useful general techniques • Also interesting in its own right (e.g. assembling computer memories) Ashish Goel, ashishg@stanford.edu
Rothemund-Winfree construction • Basic Idea: Easy to extend a self-assembled rectangle into a self-assembled square y B x x t=2 y z A w w z z C • Inefficient to start with a 1 £ n rectangle • Need W(n) tile types, W(n2) time for lines • Solution: Use counters to make rectangles w Ashish Goel, ashishg@stanford.edu
Graph G: a vertex for each tile in final assembly, directed edges between adjacent vertices 1 B C 1 1 2 2 1 2 A S 2 B C 1 2 1 2 A S Equivalent Acyclic Subgraph Assembly Time Analysis Technique B C A Seed Terminal assembly Ashish Goel, ashishg@stanford.edu
Assembly Time Analysis Technique • Let L be the length of the longest path in an equivalent acyclic subgraph of G • Often, much smaller than longest path in Markov Chain • Let Cm be the smallest concentration Ci • Theorem: The assembly time of the given tile system is O(L/Cm) with high probability • Find the right equivalent acyclic subgraph • No Markov chains anymore, just combinatorial analysis • Analysis technique is tight: there always exists an EAG which gives a tight bound if Ci’s are identical Ashish Goel, ashishg@stanford.edu
Proof for identical Ci’s ti,j: exponential random variable with mean 1/C L = length of longest path in equivalent acyclic graph Number of paths · 3L For any path P in graph, let tP = åi,j 2 P ti,j Assembly-time ·sd maxP tP E[tP] · L/C; also sharp concentration (Chernoff bounds) ) Expected assembly time = O(L/C) ti,j = time for tile to attach at position (i,j) after it becomes attachable Ashish Goel, ashishg@stanford.edu
Squares via counters • Self-assemble a log n £ n rectangle by simulating a log n bit counter • Start with a “seed” row that has log n tiles, labeled 0/1 • Define an “increment” operation which adds one to the row • Crucial step: assembly must stop when all the tiles in a row are labeled 1 • Requires Q(log n) tile-types to make the seed and (1) other tiles • Can be improved to the Kolmogorov optimum of Q(log n/log log n) • Then, use triangulation on one side of the counter to covert the counter into a square Ashish Goel, ashishg@stanford.edu
Counter tiles Ashish Goel, ashishg@stanford.edu
Counting example From Cheng, Moisset, Goel; Optimal self-assembly of counters at temperature 2 (basic ideas developed over many papers) Ashish Goel, ashishg@stanford.edu
Only time a directed edge is needed from left column Equivalent Acyclic Subgraph for Counters 1 1 1 1 1111111 ……….. ……….. 0000000 01111111 0 0 0 0 1111110 ……….. ……….. 0000000 L(n) = 2 L(n/2) + Q(log n) = Q(n) T(n) = L(n)/Cm = Q(n) 00000000 Ashish Goel, ashishg@stanford.edu
Constructing squares and Counters • Can extend this basic idea to • Assemble n £ n squares in time O(n), using O(log n/log log n) tiles (provably optimum) • Count optimally in binary using the same assembly time and program size • General design and analysis techniques • A “library” of subroutines (counting, base-conversion, triangulating the line) • If this is so efficient, why didn’t nature learn to count? • Possible conjecture: Not evolvable, not robust • Open problems: general analysis techniques for assembly time in reversible models? Ashish Goel, ashishg@stanford.edu