DNA Self-Assembly The complexity of self-assembled shapes.

Slides:



Advertisements
Similar presentations
Chapter 2 Revision of Mathematical Notations and Techniques
Advertisements

Ashish Goel, 1 A simple analysis Suppose complementary DNA strands of length U always stick, and those of length L never stick (eg:
1 Pushdown Automata (PDA) Informally: –A PDA is an NFA-ε with a stack. –Transitions are modified to accommodate stack operations. Questions: –What is a.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
1 Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible.
Computability and Complexity 4-1 Existence of Undecidable Problems Computability and Complexity Andrei Bulatov.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
Robust Self-Assembly of DNA Eduardo Abeliuk Dept. of Electrical Engineering Stanford University November 30, 2006.
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
1 The Cook-Levin Theorem Zeph Grunschlag. 2 Announcements Last HW due Thursday Please give feedback about course at oracle.seas.columbia.edu/wces oracle.seas.columbia.edu/wces.
MATRICES. Matrices A matrix is a rectangular array of objects (usually numbers) arranged in m horizontal rows and n vertical columns. A matrix with m.
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
Notes for self-assembly of thin rectangles Days 19, 20 and 21 of Comp Sci 480.
MA/CSSE 474 Theory of Computation Decision Problems DFSMs.
A Universal Turing Machine
Turing Machines Chapter 17. Languages and Machines SD D Context-Free Languages Regular Languages reg exps FSMs cfgs PDAs unrestricted grammars Turing.
Notes on local determinism Days 12, 13 and 14 of Comp Sci 480.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
Problem Statement How do we represent relationship between two related elements ?
Chapter 8 Equivalence Relations Let A and B be two sets. A relation R from A to B is a subset of AXB. That is, R is a set of ordered pairs, where the first.
An Introduction to Algorithmic Tile Self-Assembly.
TM Design Macro Language D and SD MA/CSSE 474 Theory of Computation.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
MA/CSSE 474 Theory of Computation Minimizing DFSMs.
NP-Completness Turing Machine. Hard problems There are many many important problems for which no polynomial algorithms is known. We show that a polynomial-time.
NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
1 Section 13.1 Turing Machines A Turing machine (TM) is a simple computer that has an infinite amount of storage in the form of cells on an infinite tape.
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 Introduction to Turing Machines
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Universal Turing Machine
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Relations Chapter 9 Copyright © McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
Turing’s Thesis Costas Busch - LSU.
A Universal Turing Machine
Introduction to the Theory of Computation
Busch Complexity Lectures: Reductions
Turing Machines Chapter 17.
Equivalence, DFA, NDFA Sequential Machine Theory Prof. K. J. Hintz
Turing Machines Chapter 17.
Non-Deterministic Finite Automata
Undecidable problems:
Computability and Complexity
Recall last lecture and Nondeterministic TMs
Notes on temperature programming
Instructor: Aaron Roth
Theory of Computation Lecture 23: Turing Machines III
Presentation transcript:

DNA Self-Assembly The complexity of self-assembled shapes

Self-Assembly “The process by which an organized structure can spontaneously form from simple parts” Tile Assembly Model  2-D self-assembly of square units called tiles. Promising applications  Nanofabrication

Self-Assembly & Computation Self-assembled “shape” = Output of computational process. We are interested in shape complexity (defined later on):  Kolmogorov Complexity  Tile Complexity

Tile Assembly Model

Grid of unit square locations i  Z j  Z (i, j)

Directions: d  D = {N,E,S,W} i  Z j  Z N S EW N (i, j) = (i, j+1) W (i, j) = (i-1, j) S (i, j) = (i, j-1) E (i, j) = (i+1, j) N = S -1, S = N -1 W = E -1, E = W -1

Bond types: σ  Σ A bond type describes a ‘side’ of a tile (in terms of interaction with adjacent). Special bond type for no interaction: σ 1 :σ 2 :σ 3 : null:

Tile types: t = (σ N, σ Ε, σ S, σ W )  Σ 4 Defined by its four bonds Special tile: t 1 = (σ 1, null, σ 1, null) = t 2 = (null, null, σ 2, σ 3 ) = empty = (null, null, null, null) t  Tt  T

Tile (instance) t = (t, (i, j))  T  Z 2 A tile t is defined by its type t and its position (i, j) in the grid. j Example: t = (t 2, (2, 2)) u = (t 2, (3, 1)) v = (t 1, (1, 1)) t uv i

Helper functions Let t = (t, (i, j)) = ((σ N, σ E, σ S, σ W ), (i, j)) type(t) = t pos(t) = (i, j) bond d (t) = bond d (t) = σ d adj(t,u) = true if  d  D: pos(t) = d(pos(u))

Helper functions (example) type(t) = t 2, pos(t) = (2, 2), bond S (t) = σ 2 S(W(pos(t)) = pos(v) = (1,1) j t uv t = (t 2, (2, 2)) u = (t 2, (3, 1)) v = (t 1, (1, 1)) σ 1 :σ 2 :σ 3 : i

Configuration A configuration is a set of tiles, with exactly one tile in every location (i, j) For any configuration A, notation A(i, j) indicates the tile at location (i, j) Practically, specify a set of non-empty tiles; all other tiles are implicitly empty.

Strength functions (definition) Bond strength function: g(σ, σ´) : Σ 2 → Z  Defined for all pairs of bonds (including null) Tile strength function: Γ(t, u)  Defined for adjacent tiles t and u  Equals to g(σ, σ´) where σ and σ´ are the bond types of the adjacent sides of t and u respectively

Strength functions (example) σ1σ1 σ2σ2 σ3σ3 null σ1σ1 σ2σ2 σ3σ Example of g tu v Γ(t, u) = g(σ 1, σ 1 ) = 1 Γ(u, v) = g(σ 2, σ 2 ) = 7 Formally:

Strength function properties g is symmetric g(σ, null) = 0 g is non-negative g is diagonal  Diagonal means that only matching bond types can interact!

Tile system T = (T, t s, g, τ) A tile system T is defined by:  A set Τ of tile types  A seed tile t s, with type(t s )  T  A strength function g  A threshold τ t1t1 t2t2...

Self-Assembly (definition) Self assembly is defined by a relation between configurations Suppose A and B are identical configs, except for t, which exists in B but not in A:  A(pos(t)) = empty, B(pos(t)) = t Self assembly:  A→B if Σ d  D Γ(t, A(d(pos(t)))) ≥ τ

Self-Assembly (example) σ1σ1 σ2σ2 σ3σ3 null σ1σ1 σ2σ2 σ3σ Contents of g x y xt y Configuration AConfiguration B A→B only if Γ(t,x) + Γ(t,y) = ≥ τ

Transitive Closure The reflexive transitive closure of → is denoted as . (That is, we say that A  B if we can keep adding tiles to A and reach B: A → A 2 → A 3 →... → B). We are interested in self-assemblies from a single seed tile t s !

Assemblies for a tile system T Prod(T) = {A, such that {t s }  A)  All the configurations reachable from t s in T. Term(T) = {A  Prod(T),  B≠A: A  B}  All the terminal assemblies reachable from t s T uniquely produces A if Term(T) = {A}.

Threshold τ A common choice is τ = 2, where the strength function ranges over {0, 1, 2}. Systems with τ = 1 and a strength function ranging over {0, 1} are rather limited.

Example of T = (T, t s, g, τ) Set T of tile types: t s = (t s, (2, 4)) g = I = diag{1} τ = 1 NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ tsts σ1σ1 t1t1 σ2σ2 σ1σ1 t2t2 σ2σ2 σ3σ3

What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ tsts σ1σ1

What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ tsts σ1σ1 t1t1 σ2σ2 σ1σ1

What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ tsts σ1σ1 t1t1 σ2σ2 σ1σ1 t2t2 σ2σ2 σ3σ3

What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 --

Shape scaling Coordinated* shape of assembly A:  S A = {(i, j) such that A(i, j) ≠ empty}  (This is a single connected component) For a set of locations S, and c  Z +, define a c-scaling of S:  S c = {(i, j) such that }  (This is a magnification of S by a factor of c) *shape within a fixed coordinate system

Shape equivalence Coordinated shapes S 1 and S 2 are scale- equivalent if  c,d  Z + such that S 1 c = S 2 d Coordinated shapes S 1 and S 2 are translation-equivalent if they can be made equivalent by translation. We write S 1  S 2 if  c,d  Z + such that S 1 c is translation-equivalent to S 2 d

Shape equivalence (example) S1S1 S2S2 S3S3 S 1 is translation-equivalent to S 2 S 2 is scale-equivalent to S 3 S 1  S 3

Equivalence class Scale-equivalence, translation-equivalence and  are equivalence relations. The equivalence class of coordinated shapes under the relation “  ” is called the shape Ŝ. We say that Ŝ is the shape of assembly A if S A  Ŝ.

Tile complexity The tile complexity of a coordinated shape S is the minimum number n of tile types needed by a tile system T to uniquely produce that shape.  K sa (S) = min{n:  T with |T|=n, {t s }  S*} Definition directly extended for a shape Ŝ *Formally, {t s }  A, and S is the coordinated shape of A

Tile complexity (examples) Let’s examine Stanford’s initials tsts tsts

Tile complexity (“S”) Minimum Solution: K sa =11 tsts NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ As complex as it can get (need as many tile types as tiles)!

Tile complexity (“U”) Possible solution: n=11 t9t9 t5t5 t2t2 t4t4 t3t3 t8t8 t 10 t7t7 t1t1 t6t6 tsts NESW tsts -σ6σ6 -σ1σ1 t1t1 σ2σ2 σ1σ1 -- t2t2 σ3σ3 -σ2σ2 - t3t3 σ4σ4 -σ3σ3 - t4t4 σ5σ5 -σ4σ4 - t5t5 --σ5σ5 - t6t6 σ7σ7 --σ6σ6 t7t7 σ8σ8 -σ7σ7 - t8t8 σ9σ9 -σ8σ8 - t9t9 σ 10 -σ9σ9 - t 10 --σ 10 - Can we do better?

Tile complexity (“U”) Optimal solution: K sa =7 t4t4 t5t5 t2t2 t4t4 t3t3 t3t3 t5t5 t2t2 t1t1 t6t6 tsts NESW tsts -σ6σ6 -σ1σ1 t1t1 σ2σ2 σ1σ1 -- t2t2 σ3σ3 -σ2σ2 - t3t3 σ4σ4 -σ3σ3 - t4t4 σ5σ5 -σ4σ4 - t5t5 --σ5σ5 - t6t6 σ72σ72 --σ6σ6 t7t7 σ8σ8 -σ7σ7 - t8t8 σ9σ9 -σ8σ8 - t9t9 σ 10 -σ9σ9 - t 10 --σ 10 - Notice that the leg formed by t 2 to t 5 is the same as t 7 to t 10. Modify t 6 by placing bond type σ 2 north (instead of σ 7 ). The assembly will reuse t 2 to t 5 !

Binary Counter K sa =?

Binary Counter tsts L U

Assembly grows in this direction Matching “inputs” “Outputs” Type of tile can be determined by two input conditions, and can forward two outputs

Binary Counter I am the same as my SOUTH, unless it’s time to FLIP! But how to determine if it’s time to FLIP?

Time to flip? Black = Same as SOUTH Red = Different than south, cause it’s time to flip! FLIP up to the first 1 from the right, therefore nice property to propagate EAST-to-WEST

Binary Counter FLIP input FLIP output NUM input NUM output

Binary Counter Flip OFFFlip ON NUM = 0 NUM = 1

Binary Counter Flip OFFFlip ON NUM = 0 NUM = 1 0

Binary Counter Flip OFFFlip ON NUM = 0 NUM = 1 01

Binary Counter Flip OFFFlip ON NUM = 0 NUM =

Binary Counter Flip OFFFlip ON NUM = 0 NUM =

Binary Counter K sa =7 tsts L U

Binary Counter

Variant of Sierpinski Triangle K sa =

Compute the tile complexity? Given a coordinated shape S, can I compute its complexity K sa (S)?  (Combinatorial optimization problem)  Yes, but it’s hard (NP-complete)!

Turing Machine A Turing Machine is a simple computation model which can be used to compute any function. Most common form:  1-dimensional infinite tape with 0s and 1s  Head located at some position on the tape  Internal state, program  Can read/write tape, move head

Kolmogorov Complexity The Kolmogorov complexity of a binary string x with respect to a universal Turing machine U is the smallest program p that outputs x:  K U (x) = min{|p|: U(p) = x} The Kolmogorov complexity of a shape S is the smallest program that can output it as a list of locations encoded in some binary form :  K(S) = min{|s|: U(s) = } (directly extended for Ŝ)

Complexity theorem  a 0, b 0, a 1, b 1, such that  Ŝ: a 0 K(Ŝ)+b 0 ≤ K sa (Ŝ)logK sa (Ŝ) ≤ a 1 K(Ŝ)+b 1 Therefore K = Θ(nlogn)

Proof for first part Create a Turing machine that simulates self-assembly.  Write a fixed-size program p 0 to do the assembly of a tile system T that reproduces Ŝ.  Final program p = p 0 + is binary encoding of tile system T. What is the size of ?  In other words, how many bits are needed to describe T?

Size of = T contains n = K sa (Ŝ) tile types.  Each tile type is specified by four bonds  At most 4n different bond types  For every tile type, 4log(4n) bits Therefore, T is specified in 4nlog(4n) bits  Note: t s is included in T. g, τ are not directly needed; for each tile type, specify which of the 16 subsets of D it can bind  Needs 16n bits

Proof (cont) Therefore final size of program: cnlogn+d K(Ŝ) = min{programs} ≤ cnlogn+d Thus: a 0 K(Ŝ)+b 0 ≤ K sa (Ŝ)logK sa (Ŝ)

Compute the tile complexity? (v2) Given a shape class Ŝ, can I compute its complexity K sa (Ŝ)?  No, K sa (Ŝ) is uncomputable! In other words, language L is undecidable: L = { (ℓ, n) s.t. ℓ = for some S  Ŝ and K sa (Ŝ)≤n }