Notes on temperature programming

Slides:



Advertisements
Similar presentations
Ashish Goel, 1 A simple analysis Suppose complementary DNA strands of length U always stick, and those of length L never stick (eg:
Advertisements

Alternative Tile Assembly Models and Complexity Results Tianqi Song.
I am a Scientist Technical Officer- Palaeontology Created By QM Learning 2012.
1 SODA January 23, 2011 Temperature 1 Self-Assembly: Deterministic Assembly in 3D and Probabilistic Assembly in 2D Matthew CookUniversity of Zurich and.
Combinational Circuits
QuickSort Average Case Analysis An Incompressibility Approach Brendan Lucier August 2, 2005.
Reducing Tile Complexity for Self-Assembly Through Temperature Programming Midwest Theory Day, December 10, 2006 Based on paper to appear in SODA 2006.
Complexities for Generalized Models of Self-Assembly Gagan Aggarwal Stanford University Michael H. Goldwasser St. Louis University Ming-Yang Kao Northwestern.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
DNA Self-Assembly The complexity of self-assembled shapes.
Reducing Tile Complexity for Self-Assembly Through Temperature Programming Symposium on Discrete Algorithms SODA 2006 January 23, 2006 Robert Schweller.
Beginning Steps of the Can Challenge PowerPoint made by: Cameron Niemann.
Molecular Self-Assembly: Models and Algorithms Ashish Goel Stanford University MS&E 319/CS 369X; Research topics in optimization; Stanford University,
Notes for self-assembly of thin rectangles Days 19, 20 and 21 of Comp Sci 480.
Notes on assembly verification in the aTAM Days 22, 24 and 25 of Comp Sci 480.
Notes on the two-handed assembly model (2HAM) Days 38 and 39 of Comp Sci 480.
Notes on the optimal encoding scheme for self-assembly Days 10, 11 and 12 Of Comp Sci 480.
1 Robert Schweller Electrical Engineering and Computer Science Department Northwestern University
Notes on local determinism Days 12, 13 and 14 of Comp Sci 480.
Graphic Organizers. Introduction Definition Effectiveness Resources.
Notes on temperature programming: lines and scaled shapes Days 28, 29 and 30 of Comp Sci 480.
Gift bag decorated with decoupage. 1. Draw the shape of the bag on a sheet of brown paper (or any other solid one)
An Introduction to Algorithmic Tile Self-Assembly.
Lattice Multiplication A NEW way to Multiply
Notes on randomized self- assembly Days 34, 35, 36 and 37 of Comp Sci 480.
Notes for temperature 1 self- assembly Days 15, 16, 17 and 18 of Comp Sci 480.
DNA determines your unique characteristics. A Review… DNA is the instructions for making proteins. DNA determines the structure and function of the protein.
Ashish Goel, 1 The Source of Errors: Thermodynamics Rate of correct growth ¼ exp(-G A ) Probability of incorrect growth ¼ exp(-G A.
1 David DotyCalifornia Institute of Technology Matthew J. PatitzUniversity of Texas Pan-American Dustin ReishusUniversity of Southern California Robert.
Notes on temperature programming: unique assembly verification Days 30 and 31 of Comp Sci 480.
1 35 th International Colloquium on Automata, Languages and Programming July 8, 2008 Randomized Self-Assembly for Approximate Shapes Robert Schweller University.
Lesson 6.13:.  With your partner, use the tiles in your bag to construct a rectangle with 4 rows of 5 on your personal board.  Tell your partner the.
Sectional Views Introduction Drawing Abilities Teacher © J Lewis 2004.
MULTIPLICATION 5 Multiplicand X 3 Multiplier 15 Product LET’S LEARN
3.3 Dividing Polynomials.
Overview Part 2 – Combinational Logic Functions and functional blocks
Andreas Klappenecker [partially based on the slides of Prof. Welch]
Molecular Self-Assembly: Models and Algorithms Ashish Goel Stanford University MS&E 319/CS 369X; Research topics in optimization; Stanford University,
Molecular Self-Assembly: Models and Algorithms Ashish Goel Stanford University MS&E 319/CS 369X; Research topics in optimization; Stanford University,
Introduction to Algorithms
Factoring Expressions
29th Oct Review Session 8.
Algorithm design techniques Dr. M. Gavrilova
Sorting Algorithms Written by J.J. Shepherd.
Thirteenth International Meeting on DNA Computers
Sequential circuit design
Algorithm design and Analysis
Self-Assembly of Shapes at Constant Scale Using Repulsive Forces
DNA Self-Assembly Robert Schweller Northwestern University
Sequential circuit design
Karnaugh Maps Topics covered in this presentation: Karnaugh Maps
Lattice Multiplication
Sequential circuit design
Pipeline Pattern ITCS 4/5145 Parallel Computing, UNC-Charlotte, B. Wilkinson, 2012 slides5.ppt Oct 24, 2013.
Implement FSM with fewest possible states • Least number of flip flops
Self-Assembly of Any Shape with
Combinatorial Optimization Problems in Self-Assembly (Given a shape, output an “efficient” tile-system for assembling it)
Complexities for the Design of Self-Assembly Systems
Memory Management (1).
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
Divide-and-Conquer 7 2  9 4   2   4   7
ECE 352 Digital System Fundamentals
SCITT Day 4 Nov 2015.
Intro to Computer Science CS1510 Dr. Sarah Diesburg
ECE 352 Digital System Fundamentals
Basic circuit analysis and design
David Kauchak cs161 Summer 2009
ECE 352 Digital System Fundamentals
Algorithms for Robust Self-Assembly
Presentation transcript:

Notes on temperature programming Days 26 and 27 of Comp Sci 480

So long aTAM! Done talking about the abstract Tile Assembly Model (aTAM) Start talking about variations (generalizations) of the aTAM First up: Multiple temperature model…

Multiple temperatures In the aTAM, assembly occurs in one phase (with respect to one temperature value) Is there any benefit in allowing the temperature to fluctuate? Basic idea: experimenter can turn the temperature up and down as the self-assembly experiment proceeds

The multiple temperature model Multiple temperature tile assembly model Generalization of aTAM Temperature programming model Introduced by Aggarwal, Goldwasser, Kao and Schweller in 2004 Self-assembly takes place in phases: In the first phase, self-assembly proceeds as it does in the aTAM until a τ0-stable assembly is reached. In phase two, tiles attach if they can do so with strength τ1; also, if there is ever a way to separate an assembly by breaking total strength less less than τ1, then all of the tiles on the side of the cut not containing the seed are removed. When a τ1-stable assembly is reached, the second phase is complete. This process continues through the final temperature phase.

Example…

1 s 1 s 1 s 1 s R1 R0 1 STOP L1 s 1 L1 c 1 c 1 c 1 c !0 z z R0 R1 τ = ‹ 4 › 1 L1 c 1 c 1 c c !0 s 1 s R1 R0 1 L1 c 1 c 1 c !0 z z 1 z R0 R1 1 L1 c 1 c c !0 s 1 s 1 s R1 R0 1 L1 c 1 c c 1 c !0 z z R0 R1 1 L1 c 1 c c c !0 s 1 s R1 R0 1 L1 c 1 c !0 z z 1 z 1 z R0 R1 1 L1 c c !0 s 1 s 1 s 1 s R1 R0 1 4 L1 4 3 1 3 2 1 2 S 1 R0

1 s 1 s 1 s 1 s R1 R0 1 STOP L1 s log 10 / (log log 10 – log log log 10) ≈ 2.48 k = 2 < 2.48 We built a thin rectangle using O(log N) tile types (could reduce this using optimal encoding) The thin rectangle lower bound for the aTAM says we need Ω(N1/k/k) = Ω(N1/2) O(log N) is much smaller than Ω(N1/2)… as N gets really big!! Two temperatures are better than one! 1 L1 c 1 c 1 c 1 c !0 z z R0 R1 τ = ‹ 4, 6 › 1 L1 c 1 c 1 c c !0 s 1 s R1 R0 1 L1 c 1 c 1 c !0 z z 1 z R0 R1 Observation: At the end, we have a 10x2 rectangle N = 10 k = 2 Is this a thin rectangle? … 1 L1 c 1 c c !0 s 1 s 1 s R1 R0 1 L1 c 1 c c 1 c !0 z z R0 R1 1 L1 c 1 c c c !0 s 1 s R1 R0 1 L1 c 1 c !0 z z 1 z 1 z R0 R1 1 L1 c c !0 s 1 s 1 s 1 s R1 R0 1 4 L1 4 3 1 3 2 1 2 S 1 R0

Two temperatures More temperatures… ? The previous example can be generalized With just two temperature phases, tile complexity for thin rectangles can be reduced aTAM: O(N1/k + k) Two temperatures: O(log N / log log N) Basic idea: build a thick rectangle using optimal encoding, and then melt away some tiles to make the rectangle thin Proven by Aggarwal, et. al., in 2004~2005 Details omitted More temperatures… ?

The input problem Problem: how to provide “input” to a self-assembly system Solution: Hard-code seed row to self-assemble in order For most assembly systems, this was the dominant source of tile complexity Expensive to do this (because it’s expensive to create unique tile types out of DNA) Another solution: encode input as carefully chosen sequence of temperature changes Then we can have a universal tile set that can build any shape depending on the temperature changes

Encode input via temperature sequence: very high-level approach

w = 1011001

w = 1011001 1 temp

w = 1011001 1 temp 1

w = 1011001 1 temp 1

w = 1011001 1 1 1 . . . . . . temp 1 1 1 1

. . . 1 . . . temp 1 1 1 1

. . . 1 . . . temp 1 1 1 1

. . . 1 . . . temp The shape of the final assembly depends on the sequence of temperature changes 1 1 1 1

New measure of complexity Before: tile complexity Now: tile complexity and temperature complexity How many times do we change the temperature during the experiment in order to get what we want? Once? O(size of the final shape) ? O(log of the size of the final shape) ?

Example: encode a single bit…

Announcement Thursday (11/7) office hours: 1pm – 3pm

The bit-flip gadget The tile set… τ = ‹ 2 › 1 z z a a (thick bonds are strength 5) τ = ‹ 2 › 1 1 z 1 z 1 z g z g z g g g g g g g g g g g g g g a g g a g g

The bit-flip gadget τ = ‹ 2, 5 › 1 1 z z a a 1 1 z z 1 z 1 z g g g g g 1 1 1 1 z z 1 z 1 z g z g z g g g g g g g g g g g g g g a g g a g g

The bit-flip gadget τ = ‹ 2 › τ = ‹ 2, 5 › 1 1 z z z a a a 1 z 1 1 z 1 1 1 1 z 1 1 z 1 z 1 z g z g z g z g g g g g g g g g g g g g g g g g g g g g g a g g a g g a g g

Squares We will use a modified bit-flip gadget to prove the following: There is a unique tile set T such that for all N, there is a temperature sequence ‹ τi › that uniquely assembles an NxN square Proven by Kao and Schweller in 2006 The size of T is constant, i.e., it does not depend on N A universal square-building tile set

Modified bit-flip gadget (1) Chain bit-flip gadgets together 1 means “keep going”, 0 means “stop” At the end, we have a 8x2m rectangle, on stop of which we build a square Have to be careful with this step!

Thick lines are strength 7 bonds τ = ‹ 3 › Thick lines are strength 7 bonds 1 z g z g g g g g g g g s g g

τ = ‹ 3, 7 › 1 1 1 z z g z g g g g g g g g s g g

τ = ‹ 3, 7, 3 › 1 z z s a 1 1 z 1 z g g g g g g g g g g g g g g g g g 1 1 1 z 1 z g z g z g g g g g g g g g g g g g g g g s g g a g g

τ = ‹ 3, 7, 3, 7 › 1 1 z z s a 1 1 z 1 1 z z g g g g g g g g g g g g g 1 1 1 1 z 1 1 z z g z g z g g g g g g g g g g g g g g g g s g g a g g

τ = ‹ 3, 7, 3, 7, 3 › 1 1 z z z s a a 1 1 z 1 1 z 1 z g g g g g g g g 1 1 1 1 z 1 1 z 1 z g z g z g z g g g g g g g g g g g g g g g g g g g g g g g g s g g a g g a g g

τ = ‹ 3, 7, 3, 7, 3, . . ., 3 › 1 = “keep going” ‹ 3, 7, . . . › 0 = “stop” ‹ . . . , 3 › 1 1 1 1 1 z 1 1 z 1 1 z 1 z g z g z g z g z g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g s g g a g g a g g a g g

The rest of the tile types + + A + A + B + 1 + 2 + 3 + 4 + 5 + 6 + 7 + A + B B 1 1 2 2 3 3 4 4 5 5 6 6 7 7 A A B B - - - -

The final stage τ = ‹ 3, 7, 3, 7, 3, . . ., 3 › 1 1 1 1 1 1 1 z 1 1 z 1 1 z 1 1 z 1 1 z 1 z

The final stage τ = ‹ 3, 7, 3, 7, 3, . . ., 3, 2 › + A + + A B 1 2 3 4 - 1 + 1 2 + 2 3 + 3 4 + 4 5 + 5 6 + 6 7 + 7 A + A B + B - - 1 1 1 1 1 1 1 z 1 1 z 1 1 z 1 1 z 1 1 z 1 z

The end result N = 16 N = 16 + + + + + A + + + A B + + A B - + + A B - 1 2 3 4 5 6 7 A B - - - - - - 1 1 1 1 1 1 1 S N = 16

Discussion Complexities: Only works for large enough values of N Tile complexity: O(1) Temperature complexity: O(N) Only works for large enough values of N Only works for even values of N How to make it work for ALL values of N? Future homework!!! For an arbitrary (even) N, what is the temperature sequence? τ = ‹ τi ›, where τi = 3 if i is even and 7 if i is odd for all i < N - 1, τN-1 = 2 Can we do better than O(N) temperature complexity?

Modified bit-flip gadget (2) Previous modified bit-flip gadget encoded two things: keep going OR not Bit-flip gadget really needs to encode four things: Encode either a 0 or a 1 Encode keep going or stop Need to make another “modified bit-flip gadget”…

The tile set 0' e b 0' e 1 e 1’ 0' z1 u 1' z1 u Thick lines are strength 9, thin lines are strength 1 (add up number of lines to get total glue strength) We can use this tile set to build an 11xm rectangle via a carefully chosen sequence of temperatures NOTE: The glues 0, 1, b, u, v and hi are not used directly to self-assemble the modified bit-flip gadget (they will be used when this tile set is extended to build squares) g z1 g hi g g hi Y a f X hi f x g r g hi f X' hi z2 Y' y hi z2 s x r a x r s z2 h hi y s h hi h h hi h h v hi h h hi

Modified bit-flip gadget example…

τ = ‹ 4 › 0' s z1 0' e b 0' e 1’ z1 u g g hi g g hi g r g hi f x r y s 0' e τ = ‹ 4 › 1’ 0' z1 u g z1 g hi g g hi g r g hi f s x r y s h h h h hi

1 τ = ‹ 4, 9 › 1' 0' s z1 0' e b 0' e e 1’ z1 u z1 u g g hi g g hi g r 0' e 1 e τ = ‹ 4, 9 › 1’ 1' z1 u 0' z1 u g z1 g hi g g hi g r g hi f s x r y s h h h h hi

1 τ = ‹ 4, 9, 3 › 1' s X X' z1 z2 0' e b e 1’ z1 u g g hi g g hi g r g f s x r X hi f x y s X' hi z2 h z2 h hi h h hi h h hi h hi h v hi

1 τ = ‹ 4, 9, 3, 7 › 1' s Y a X Y' X' z1 z2 0' e b e 0' e b 1’ z1 u 1’ g z1 g hi g g g hi g g r g hi f g r s x r Y a f a x r s X hi f x y s Y' y hi z2 X' hi z2 y s h z2 h hi h h h hi h h h hi h h hi h v hi h hi

0' e b 1 e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4 › 1’ 1' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g g hi g g hi g r g hi f g r g hi f s x r Y a f a x r s y s Y' y hi z2 y s h z2 h hi h h h hi h h h hi h h hi h v hi h hi

0' e b 1 e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4, 3 › 1’ 1' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g g hi g g hi g r g hi f g r g hi f s x r Y a f a x r s X hi f x y s Y' y hi z2 y s X' hi z2 h z2 h hi h z2 h hi h h hi h h hi h h hi h h hi h hi h v hi h hi h v hi

0' e b 1 e 0' e b 0' e 0' e b τ = ‹ 4, 9, 3, 7, 4, 3, 7 › 1’ 1' z1 u 1’ 0' z1 u 1’ g z1 g hi g z1 g hi g g g hi g g hi g g r g hi f g r g hi f g r s x r Y a f a x r s Y a f a x r s X hi f x y s Y' y hi z2 y s Y' y hi z2 X' hi z2 y s h z2 h hi h z2 h hi h h h hi h h hi h h h hi h h hi h h hi h v hi h hi h v hi h hi

0' e b 1 e 0' e b 0' e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s y s Y' y hi z2 y s Y' y hi z2 y s h z2 h hi h z2 h hi h h h hi h h hi h h h hi h h hi h h hi h v hi h hi h v hi h hi

0' e b 1 e 0' e b 0' e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s X hi f x y s Y' y hi z2 y s Y' y hi z2 y s X' hi z2 h z2 h hi h z2 h hi h z2 h hi h h hi h h hi h h hi h h hi h h hi h h hi h hi h v hi h hi h v hi h hi h v hi

0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3, 7 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u 1’ g z1 g hi g z1 g hi g z1 g hi g g g hi g g hi g g hi g g r g hi f g r g hi f g r g hi f g r s x r Y a f a x r s Y a f a x r s Y a f a x r s X hi f x y s Y' y hi z2 y s Y' y hi z2 y s Y' y hi z2 X' hi z2 y s h z2 h hi h z2 h hi h z2 h hi h h h hi h h hi h h hi h h h hi h h hi h h hi h h hi h v hi h hi h v hi h hi h v hi h hi

0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3, 7, 4 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s Y a f a x r s y s Y' y hi z2 y s Y' y hi z2 y s Y' y hi z2 y s h z2 h hi h z2 h hi h z2 h hi h h h hi h h hi h h hi h h h hi h h hi h h hi h h hi h v hi h hi h v hi h hi h v hi h hi

0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b 0' e 1 e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3, 7, 4, 9 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u 1’ 1' z1 u 0' z1 u g z1 g hi g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s Y a f a x r s y s Y' y hi z2 y s Y' y hi z2 y s Y' y hi z2 y s h z2 h hi h z2 h hi h z2 h hi h h h hi h h hi h h hi h h h hi h h hi h h hi h h hi h v hi h hi h v hi h hi h v hi h hi

Temperature sequence broken up into groups: 0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b 1 e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3, 7, 4, 9, 3 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u 1’ 1' z1 u Temperature sequence broken up into groups: ‹ 4 › and ‹ 4, 9 › encode a 0 and a 1, respectively, into the top half of each gadget ‹ 3, 7 › fills in the bottom half of each gadget… ‹ 3, 7 › means keep going, ‹ 3 › stops the growth of the rectangle Number in binary is represented along the north glues of the resulting rectangle (bits are separated by b’s) g z1 g hi g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s Y a f a x r s X hi f x y s Y' y hi z2 y s Y' y hi z2 y s Y' y hi z2 y s X' hi z2 h z2 h hi h z2 h hi h z2 h hi h z2 h hi h h hi h h hi h h hi h h hi h h hi h h hi h h hi h h hi h hi h v hi h hi h v hi h hi h v hi h hi h v hi

Modified bit-flip gadget complexities Tile complexity for modified bit-flip gadget: O(1) Temperature complexity for specifying an m-bit binary string: O(m)

Build a square We can use the modified bit-flip gadget to build an 11xm rectangle with an arbitrary binary value encoded along its north glues We can use this value to build a square We proceed just like we did for the “log N square construction”, except instead of a seed row, we have a seed rectangle Same basic counter tiles Same basic filler tiles

The extended tile set…

Start the binary counter 1 e hi $ 1' z1 u Start the binary counter hi z1 g hi hi u g hi Diagonal tiles (left of seed rectangle) g hi f b hi a b hi B lo b lo Upper and lower filler tiles X hi f x Hi hi Lo lo hi hi lo lo B hi X' hi z2 hi lo hi B hi z2 h hi A hi B lo lo Diagonal tiles (below seed rectangle) h hi a' lo v b h hi - lo b A' lo B h v hi Start a stair-step (A-B) sequence to fill in the diagonal of the square

Modified binary counter 1 c c b 1 c c b c !0 s s b 1 s R1 R0 hi The modified binary counter tile types can be inferred from this assembly Not shown: c b 1 c c b 1 c !0 z z b z 1 z b z R0 R1 hi c b 1 c c b c !0 s s b 1 s s b 1 s R1 R0 hi c b 1 c c b c c b 1 c !0 z z b z R0 R1 hi c b 1 c c b c c b c !0 s s b 1 $ s R1 + hi $ $ c R0 0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b 1 e + hi 1' z1 u + hi u

High-level overview

Not drawn to scale 1 1 1 1 1 1 1 Hi Hi b a b a Lo Lo Lo Lo 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 + + Not drawn to scale S Hi Hi Hi b a b a Lo a' Lo Lo Hi Hi B A' - Lo Hi B A Lo Lo B A Lo Lo B A B A B A B A B A Lo B A Lo Lo B A Lo Lo Lo B A B A B A A

Complexities Tile complexity: O(1) Temperature complexity: O(log N)

Lower bound aTAM tile complexity for NxN squares: O(log N / log log N) O(1) temperature complexity Multiple temperature model: O(1), with O(log N) temperature complexity Can we achieve O(1) tile complexity with O(log N / log log N) temperature complexity? NO! Proven by Kao and Schweller in 2006