An Introduction to Algorithmic Tile Self-Assembly.

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

Tile Complexity of Assembly of Fixed Size Rows and Squares by John Reif and Harish Chandran.
Strict Self-Assembly of Discrete Sierpinski Triangles James I. Lathrop, Jack H. Lutz, and Scott M. Summers Iowa State University © James I. Lathrop, Jack.
1 Thirteenth International Meeting on DNA Computers June 5, 2007 Staged Self-Assembly: Nanomanufacture of Arbitrary Shapes with O(1) Glues Eric DemaineMassachusetts.
Alternative Tile Assembly Models and Complexity Results Tianqi Song.
An information-bearing seed for nucleating algorithmic self-assembly Presented by : Venkata Chaitanya Goli Robert D. Barish1, Rebecca Schulman1,
Self-Assembly with Geometric Tiles ICALP 2012 Bin FuUniversity of Texas – Pan American Matt PatitzUniversity of Arkansas Robert Schweller (Speaker)University.
1 SODA January 23, 2011 Temperature 1 Self-Assembly: Deterministic Assembly in 3D and Probabilistic Assembly in 2D Matthew CookUniversity of Zurich and.
The Power of Seeds in Tile Self-Assembly Andrew Winslow Department of Computer Science, Tufts University.
Staged Self-Assembly and Polyomino Context-Free Grammars Andrew Winslow Defense Edition.
Design of a Minimal System for Self-replication of Rectangular Patterns of DNA Tiles Vinay K Gautam 1, Eugen Czeizler 2, Pauline C Haddow 1 and Martin.
Self-Assembly Ho-Lin Chen Nov Self-Assembly is the process by which simple objects autonomously assemble into complexes. Geometry, dynamics,
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.
Topics in Biological Physics Design and self-assembly of two-dimensional DNA crystals Benny Gil 16/12/08 Fig3.a.
DNA Computing by Self Assembly  Erik Winfree, Caltech.
Robust Self-Assembly of DNA Eduardo Abeliuk Dept. of Electrical Engineering Stanford University November 30, 2006.
DNA Self-Assembly The complexity of self-assembled shapes.
Complexities for Generalized Models of Self-Assembly Gagan Aggarwal Stanford University Michael H. Goldwasser St. Louis University Ming-Yang Kao Northwestern.
Reducing Tile Complexity for Self-Assembly Through Temperature Programming Symposium on Discrete Algorithms SODA 2006 January 23, 2006 Robert Schweller.
Algorithmic Problems in Algebraic Structures Undecidability Paul Bell Supervisor: Dr. Igor Potapov Department of Computer Science
Ashish Goel Stanford University Joint work with Len Adleman, Holin Chen, Qi Cheng, Ming-Deh Huang, Pablo Moisset, Paul.
Section 11.4 Language Classes Based On Randomization
Matthew J. Patitz Explorations of Theory and Programming in Self-Assembly Matthew J. Patitz Department of Computer Science University of Texas-Pan American.
1 Proceedings of the 24 th Annual ACM-SIAM Symposium on Discrete Algorithms January, 2013 Fuel Efficient Computation in Passive Self-Assembly Robert SchwellerUniversity.
DNA Based Self-Assembly and Nano-Device: Theory and Practice Peng Yin Committee Prof. Reif (Advisor), Prof. Agarwal, Prof. Hartemink Prof. LaBean, Prof.
Governor’s School for the Sciences Mathematics Day 13.
Cellular Automata & DNA Computing 우정철. Definition Of Cellular Automata Von Von Neuman’s Neuman’s Definition Wolfram’s Wolfram’s Definition Lyman.
Algorithmic self-assembly for nano-scale fabrication Erik Winfree Computer Science Computation & Neural Systems and The DNA Caltech DARPA NSF NASA.
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 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
4/4/20131 EECS 395/495 Algorithmic DNA Self-Assembly General Introduction Thursday, 4/4/2013 Ming-Yang Kao General Introduction.
Horn Clause Computation by Self-Assembly of DNA Molecules Hiroki Uejima Masami Hagiya Satoshi Kobayashi.
Notes on local determinism Days 12, 13 and 14 of Comp Sci 480.
Algorithmic Self-Assembly of DNA Sierpinski Triangles Ahn, Yong-Yeol Journal Club.
Notes on temperature programming: lines and scaled shapes Days 28, 29 and 30 of Comp Sci 480.
Notes for temperature 1 self- assembly Days 15, 16, 17 and 18 of Comp Sci 480.
Flipping Tiles: Concentration Independent Coin Flips in Tile Self- Assembly Cameron T. Chalk, Bin Fu, Alejandro Huerta, Mario A. Maldonado, Eric Martinez,
What questions could we ask about this tile?. What if… We put 2 together?
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.
Towards Autonomous Molecular Computers Towards Autonomous Molecular Computers Masami Hagiya, Proceedings of GP, Nakjung Choi
1 35 th International Colloquium on Automata, Languages and Programming July 8, 2008 Randomized Self-Assembly for Approximate Shapes Robert Schweller University.
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
Recall last lecture and Nondeterministic TMs Ola Svensson.
1 January 18, 2010 Shape Replication through Self-Assembly and Rnase Enzymes Zachary AbelHarvard University Nadia BenbernouMassachusetts Institute of Technology.
Molecular Self-Assembly: Models and Algorithms Ashish Goel Stanford University MS&E 319/CS 369X; Research topics in optimization; Stanford University,
CSCI 2670 Introduction to Theory of Computing
Molecular Self-Assembly: Models and Algorithms Ashish Goel Stanford University MS&E 319/CS 369X; Research topics in optimization; Stanford University,
Introduction to Tiling Assembly
Molecular Computation
Programmable DNA Lattices: Design Synthesis & Applications
Thirteenth International Meeting on DNA Computers
Self-Assembly of Shapes at Constant Scale Using Repulsive Forces
Tiing Error Correction & ExperimentsChen
DNA Self-Assembly Robert Schweller Northwestern University
Strict Self-Assembly of Discrete Sierpinski Triangles
Self-Assembly Ho-Lin Chen Nov
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
Recall last lecture and Nondeterministic TMs
The Power of Nondeterminism in Self-Assembly
Notes on temperature programming
Algorithmic self-assembly with DNA tiles Tutorial
Algorithmic self-assembly with DNA tiles
Algorithms for Robust Self-Assembly
Presentation transcript:

An Introduction to Algorithmic Tile Self-Assembly

Simple particles coalescing into complex superstructures. Self-Assembly

Simple particles coalescing into complex superstructures.

Self-Assembly Simple particles coalescing into complex superstructures.

Self-Assembly Simple particles coalescing into complex superstructures.

Crystallization

Morphogenesis

Natural Self-Assembly

Synthetic Self-Assembly with DNA

Tile

Glues

Tile

Glues

Strength-1 Strength-2

×∞ Temperature

Self-assembling tiles: a real thing

Assembling patterned shapes P. W. K. Rothemund, N. Papadakis, E. Winfree, Algorithmic self-assembly of DNA Sierpinski triangles. PLoS Biology (12), 2004.

Cellular automata

Tile assembly can simulate CA

Binary counter

Self-assembling tile systems (finite & infinite)

Initiatilization Copy tiles Increment tiles Halt tile

Building squares Build a column and row, then fill L-shape with tiles.

Encode start and end values: Start: north glues (0..2 t ) End: # tiles (2 t ) Building a rectangle of height h (h in 2 t..2 t+1 ) requires O(t) = O(log(h)) tiles. Building rectangles

Encode start and end values: Start: north glues (0..2 t ) End: # tiles (2 t ) Building rectangles Possible to do better?

Each tile set encodes the height of the rectangle built. The tile set needs sufficient information to do so. Most heights have ≥ 0.5*log 2 (h) bits of information. How many bits of information does a tile set with t tile types have? Let g be number of glue types on the tiles. Then g/4 ≤ t ≤ g 4. So specifying a tile takes ≤ 4*log 2 (g) ≤ 4*log 2 (4t) ≤ 12*log 2 (t) bits. So the entire set has at most t(12*log 2 (t)) ≤ 12t*log 2 (t) bits. So most heights need 0.5*log 2 (h) ≤ 12t*log 2 (t). By algebra, t = Ω (log(h)/loglog(h)).

Building rectangles and squares Possible to build any height rectangle and any size square (at τ = 2) using O(log(h)) tile types. More than half of all heights require a tile set of size Ω (log(h)/loglog(h)). Possible to build any height rectangle (at τ = 2) using O(log(h)/loglog(h)) tile types. [Adleman et al. 2001] [Winfree, Soloveichik 2000]

Building rectangles and squares (at τ = 1) h tile types h 2n-1 tile types n n Possible to do better? (Open problem)

Computing with self-assembly (via CA) Some CA can simulate Turing machines: CA ≥ TM Can simulate these CA with tiles: SA ≥ CA So tiles can simulate Turing machines: SA ≥ TM [Lindgren, Nordahl 1990] [Winfree 1998] [

Computing with self-assembly (direct) Input Computation Input Machine

A Turing machine example… [courtesy of Scott Summers]

q0q0 1 └┘ δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… q01q01 └┘ C0C0

q0q0 1 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… q01q01 └┘ C0C0

q2q2 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 1q 2└┘ └┘ δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L

q2q2 1 └┘ q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L 1q 2└┘ └┘

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L └┘ 1 1q 2└┘ └┘ C2C2 q 1└┘ └┘ 1 1

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ 1 1

q0q0 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ C3C3 q 0└┘ └┘ 1 11

q0q0 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ 1 11

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ C4C4 1 11q11q11

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q11

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q11 C5C5 1 11q11q11

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q11

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q11 C6C6 1 11q11q11

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q q11q11

q1q1 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q q11q11 C7C7 111q 1└┘ 1

q1q1 1 └┘ q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q q11q11 111q 1└┘ 1

q0q0 1 └┘ q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q q11q11 111q 1└┘ 1 1 C8C8 └┘ 111q01q011

q0q0 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 C8C8 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q q11q11 111q 1└┘ 1 1 └┘ 111q01q011

q2q2 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 C8C8 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q q11q11 111q 1└┘ 1 1 └┘ 111q01q011 C9C9 q21q211111

q2q2 1 q01q01 Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… C0C0 └┘ C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 C8C8 C9C9 δ1 q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L q 1└┘ └┘ 1 1q 2└┘ └┘ q 0└┘ └┘ q11q q11q q11q11 111q 1└┘ 1 1 └┘ 111q01q011 q21q211111

q halt 1 └┘ Let M = (Q,Σ,Γ,δ,q 0,q halt ), where Q = {q 0,q 1,q 2,q halt }, Σ = {1}, Γ = {1, └┘ }, and δ is defined in the following table… δ1 └┘ q0q0 q 2,1,Lq 1,1,R q1q1 q 0,1,L q2q2 q halt q 1,1,L 1111

“Zig-zag” simulation of a Turing machine

Building any shape optimally [Soloveichik, Winfree 2007] Encode shape via Turing machine. Do a BFS according to current location. Arbitrary scale factor!

Temperature-2 systems can require a tile to use cooperative bonds.

Temperature-1 systems do not have cooperative bonds.

Are τ =1 and τ =2 systems equally powerful? τ =1 (linear tile types) τ =2 (logarithmic tile types) We think building shapes takes linear tile types, and simulating Turing machines is impossible. Except in 3D, where τ =1 can do both of these things…

Abstract Tile Assembly Model (aTAM)

A Seedless World?



Two-Handed Assembly Model (2HAM)

How powerful is 2HAM relative to aTAM? Are there techniques that require a seed? No.

Every aTAM system can be simulated with a 2HAM system.

Simulation

Simulation captures dynamics

Simulation captures production