Upload
allie-tickner
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Ashish Goel, [email protected] 1
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, [email protected] 2
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, [email protected] 4
Tile Systems and Assembly Time
Seed
Seed A
B C
Seed A
Seed
B
Seed A
B
A: 50%, B:30%, C: 20%
0.50.3
0.2
0.30.5
Assembly time = Average time
to go from seed to terminal state
Ashish Goel, [email protected] 5
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 £ n etc.) faster and with less tile types!
B C D E F G H IA B C D EB C D EB C D E
Ashish Goel, [email protected] 6
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, [email protected] 7
Rothemund-Winfree construction
Basic Idea: Easy to extend a self-assembled rectangle into a self-assembled square
=2
• Inefficient to start with a 1 £ n rectangle– Need (n) tile types, (n2) time for lines
– Solution: Use counters to make rectangles
B
C
A
x
z
y
x
z
zww
w
y
Ashish Goel, [email protected] 8
Assembly Time Analysis Technique
Seed A
B C
2
B C
AS
121
Equivalent Acyclic SubgraphTerminal assembly
B C
AS
1
2
222
11
1 Graph G: a vertex for each tile in final assembly, directed edges between adjacent vertices
Ashish Goel, [email protected] 9
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, [email protected] 10
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, [email protected] 11
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 (log n) tile-types to make the seed and (1) other
tiles• Can be improved to the Kolmogorov optimum of (log n/log log n)
Then, use triangulation on one side of the counter to covert the counter into a square
Ashish Goel, [email protected] 12
Counter tiles
Ashish Goel, [email protected] 13
Counting example
From Cheng, Moisset, Goel;
Optimal self-assembly of counters
at temperature 2
(basic ideas developed over many papers)
Ashish Goel, [email protected] 14
Equivalent Acyclic Subgraph for Counters
1111110
………..
………..
0000000
1111111
………..
………..
0000000
0
0
0
0
1
1
1
1
01111111
Only time a directed edge
is needed from left column
00000000
L(n) = 2 L(n/2) + (log n)
= (n)
T(n) = L(n)/Cm = (n)
Ashish Goel, [email protected] 15
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?