Notes on the two-handed assembly model (2HAM) Days 38 and 39 of Comp Sci 480.

Slides:



Advertisements
Similar presentations
Lecture 3 Universal TM. Code of a DTM Consider a one-tape DTM M = (Q, Σ, Γ, δ, s). It can be encoded as follows: First, encode each state, each direction,
Advertisements

CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
Transformations We want to be able to make changes to the image larger/smaller rotate move This can be efficiently achieved through mathematical operations.
Determinization of Büchi Automata
1 The Limits of Computation Intractable and Non-computable functions.
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.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 13-1 Complexity Andrei Bulatov Hierarchy Theorem.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Complexity ©D.Moshkovitz 1 Turing Machines. Complexity ©D.Moshkovitz 2 Motivation Our main goal in this course is to analyze problems and categorize them.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
CHAPTER 4 Decidability Contents Decidable Languages
Computational Complexity, Physical Mapping III + Perl CIS 667 March 4, 2004.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Chapter 11: Limitations of Algorithmic Power
Algorithmic Problems in Algebraic Structures Undecidability Paul Bell Supervisor: Dr. Igor Potapov Department of Computer Science
The Byzantine Generals Strike Again Danny Dolev. Introduction We’ll build on the LSP presentation. Prove a necessary and sufficient condition on the network.
1 Introduction to Computability Theory Lecture11: The Halting Problem Prof. Amos Israeli.
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
Induction and recursion
Ch. 8 & 9 – Linear Sorting and Order Statistics What do you trade for speed?
1 1.1 © 2012 Pearson Education, Inc. Linear Equations in Linear Algebra SYSTEMS OF LINEAR EQUATIONS.
Database Systems Normal Forms. Decomposition Suppose we have a relation R[U] with a schema U={A 1,…,A n } – A decomposition of U is a set of schemas.
INTEGRALS Areas and Distances INTEGRALS In this section, we will learn that: We get the same special type of limit in trying to find the area under.
Advanced Topics in Propositional Logic Chapter 17 Language, Proof and Logic.
CSC 413/513: Intro to Algorithms NP Completeness.
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 optimal encoding scheme for self-assembly Days 10, 11 and 12 Of Comp Sci 480.
1 More About Turing Machines “Programming Tricks” Restrictions Extensions Closure Properties.
Notes on local determinism Days 12, 13 and 14 of Comp Sci 480.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Notes on temperature programming: lines and scaled shapes Days 28, 29 and 30 of Comp Sci 480.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
An Introduction to Algorithmic Tile Self-Assembly.
CS 203: Introduction to Formal Languages and Automata
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.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
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.
Notes on temperature programming: unique assembly verification Days 30 and 31 of Comp Sci 480.
Lecture 17 Undecidability Topics:  TM variations  Undecidability June 25, 2015 CSCE 355 Foundations of Computation.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 Chapter 9 Undecidability  Turing Machines Coded as Binary Strings  Universal Turing machine  Diagonalizing over Turing Machines  Problems as Languages.
Algorithmic Problems in Algebraic Structures Undecidability Paul Bell Supervisor: Dr. Igor Potapov Department of Computer Science
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
The Acceptance Problem for TMs
CSE 311 Foundations of Computing I
HIERARCHY THEOREMS Hu Rui Prof. Takahashi laboratory
Theory of Computation Turing Machines.
Chapter Nine: Advanced Topics in Regular Languages
Chapter 11 Limitations of Algorithm Power
Recall last lecture and Nondeterministic TMs
Notes on temperature programming
Turing Machines Everything is an Integer
Presentation transcript:

Notes on the two-handed assembly model (2HAM) Days 38 and 39 of Comp Sci 480

Two hands Two-handed assembly model (2HAM) –Mmmmmmm… ham! First introduced back in 2004 by Aggarwal, et. al. A.k.a., q-tile assembly model –A.k.a., hierarchical self-assembly model A.k.a., “Polyomino” assembly model Seedless assembly model –No seed tile is ever specified Models the physical reality (?) that two growing assemblies can bump into each other and bind –How likely is this to happen in “real life”? –Larger assemblies get “floppy” and are even more unlikely to bind

Model definition No seed tile –Every tile is the seed tile Tiles NEED NOT bind one at a time, but entire assemblies can combine in pairs Producible assemblies (a.k.a., supertiles) are defined recursively: –Singleton tiles are producible assemblies –A producible assembly may be obtained by translating two producible assemblies such that the sum of the binding strengths along adjacent edges is at least the temperature

A key difference In the aTAM, producible assemblies had to contain the seed –I.e., singleton tiles were NOT considered producible In the 2HAM, singleton tiles are producible –There is no seed tile

2HAM example Temperature = 2 What do these tiles do?

Assembly tree… aTAM = assembly sequences 2HAM = assembly trees

Unique production A 2HAM tile set T is said to uniquely produce a supertile A if every supertile produced by T, say B, can grow into A –B  T A The previous example uniquely produces the assembly A, consisting of the 4x2 rectangle

A generalization The 2HAM is a generalization of the aTAM Thus, it should be more “powerful” than the aTAM –Recall that tile complexities were reduced for certain classes of shapes in temperature programming and tile concentration programming Let’s see some examples of tile complexities for some different classes of shapes in the 2HAM…

Lines What is the tile complexity of uniquely building a 1xN line in the 2HAM? Upper bound: N Here’s the tile set (temperature 1) –Works in the aTAM too with “0” as the seed tile N-1 N unique tile types

Lines (lower bound) What is the minimum number of tile types required to uniquely build a 1xN line in the 2HAM? N Why? Suppose N-1 tile types could do it… Terminal assembly: N tiles At least two locations must share the same tile type (pigeonhole principle) Since this subassembly is producible, we can use it to build an infinite line (a contradiction)

Squares Fact: the minimum number of tile types required to build an NxN square in the 2HAM is Ω(log N / log log N) –Just like the aTAM –Can use an advanced “information-theoretic” argument to prove this fact Is it possible to uniquely produce an NxN square in the 2HAM using O (log N / log log N) unique tile types? –Just like the aTAM?

Optimal square (aTAM) tile set…

0 c !0 0 s 1 c 1 z 0 c 0 0 c 1 c 1 1 c 0 c 0 0 c 1 c 1 1 c 0 z R0 R1 hi 1 s R1 R0 hi 1 ss c !0 0 s 1 c 1 1 c 1 c 1 z 0 zz z R0 R1 hi 1 c 1 1 c 1 s R1 R0 hi 0 c !0 0 s 1 c 1 1 c 1 c 1 1 c Not shown: 0 lo3 R0+ 1 s R1 R0+ A a a loa a b ahi a Hi hi Lo lo 1 3 R1+ A loA A B Ahi A a loa a b ahi a a loa a Hi hi Lo lo Lo lo Lo lo Lo lo Lo lo B Ahi A B A A B A A Lo lo Lo lo Lo lo Lo lo Lo lo 1 c 1 !0 z 1 c 1 1 c 1 c 1 1 c Lo lo Lo lo Lo lo Lo lo Lo lo Lo lo 0 z R0 R1 hi 1 s R1 R0 hi 1 ss ss ss 1 1 B A A B A A Lo lo Lo lo Lo lo Lo lo Lo lo Lo lo Lo lo Lo lo Lo lo A A A A A A A A A A A A A A A A A A Lo lo Hi hi Hi hi Hi hi Hi hi Hi hi This works in the aTAM (not obvious but TEDIOUS to verify) Does this work in the 2HAM? Yes! (basically can’t do any better than this in either the 2HAM or aTAM) 0 z R0 R1+ A

2HAM optimal encoding Can reduce the tile complexity of the previous (2HAM) square tile set Use optimal encoding scheme –It works in the 2HAM just like it works in the aTAM Get O(log N / log log N) tile complexity

Separation So far we have NOT seen any examples of how the 2HAM can be used to reduce tile complexities for lines and squares Pretty much every example we’ve seen that works in the aTAM also works in the 2HAM (unmodified) –– Perhaps we should look at other classes of shapes and try to see a “separation” between the aTAM and the 2HAM –I.e., with respect to tile complexities

At the end of last class At the end of last class last time, I asked: does the Sierpinski triangle strictly self-assemble in the 2HAM (it doesn’t in the aTAM) Not in the 2HAM either –Assume T is a 2HAM tile set that uniquely builds S –T is finite –S is infinite –Horizontal bars in S get longer and longer –Eventually, T must place a duplicate tile type in some horizontal bar –This portion of the bar must be held together “without cooperation”

Scaled Sierpinski triangle Does the scaled Sierpinski triangle strictly self-assemble in the 2HAM? Open question Guess: probably not Somebody should prove this!

Loops A loop of size N is the following shape: What is the tile complexity of loops in the aTAM/2HAM? –Trivial tile complexity for aTAM and 2HAM: 2N+2 (unique tile type for every point in the loop) N The origin

aTAM Loops at temperature 2 Temperature = 2 X 1 ≤ i ≤ N-2 A A0 i i+1 i N S 1 A XA A S 1 A Tile complexity = N + 3 ??? This DOES work in the 2HAM!

aTAM loops at temperature 1 S A A A0 Temperature = i i+1 i N-1 B B CB C C X 1 ≤ i ≤ N-2 S A A A B CB 5 B 5 C C XXXX Tile complexity = N + 5 ??? Does this work in the 2HAM? NO!

A fact FACT: The number of tile types required to uniquely build a loop of size N at temperature 1 in the 2HAM is ≥ 2N + 2 –We will not prove this fact Thus: “aTAM > 2HAM”, when it comes to building loops of size N –“aTAM > 2HAM” ≈ aTAM is more powerful than the 2HAM at temperature 1 –NOT in an asymptotic sense –Both models can build loops with O(N) tile types at either temperature 1 or 2

Loops: summary At temperature 2, loops cannot be used to show separation between the aTAM and 2HAM –aTAM tile complexity = N + 3 ≥ 2HAM tile complexity At temperature 1, loops definitely cannot be used to show separation –The aTAM wins!  Of course, loops don’t give us an “asymptotic” separation between the aTAM and 2HAM We need to find a class of shapes whose self-assembly exploits the two-handed, non-local binding capabilities of the 2HAM Is there such a shape? –Yes…

Staircases Staircases are examples of shapes that can be assembled drastically more (tile) efficiently in the 2HAM than in the aTAM Basic idea: –Define a staircase (of size N) –Prove that a staircase of size N can be built with very low tile complexity in the 2HAM –Prove that a staircase of size N requires a high tile complexity in order to be built by any aTAM system

Staircase definition A staircase is a sequence of steps Set the width of a step to be N –N = 3 in this example Each step has a height between 1+2 and 2 N +2 –There are 2 N steps (8 in this example) Put an NxN square right below each step Connect each step to its neighbors at two points (two points per neighbor step) The end result is a staircase (of size N)

Building staircases in the aTAM Fact: If T is any tile set that uniquely self- assembles a staircase of size N, then |T| = Ω(N) –We will not prove this (too many details) Dr. Furcy can tell you about a tile set T that uniquely builds a staircase of size N, with |T| = O(N 2 ) –Ask him about this during his office hours

Building staircases in the 2HAM Goal: uniquely build a staircase of size N with asymptotically fewer than N unique tile types –Actually, don’t care about building staircases for arbitrary N –Just infinitely many values of N Solution: Turing machines! Super high-level, basic idea: –Assemble each stair step in isolation –Have two stair steps combine if they are the right size

A question Assume: 2N - 1 unique tile types are required to uniquely produce an NxN square in the aTAM, at temperature 1, but the seed has to be placed at the origin –This is conjectured to be true, but has not been verified yet What is the tile complexity of uniquely building an NxN square, at temperature 1, in the 2HAM? –Upper bound? –Lower bound?

An answer Assume a 2HAM tile set T uniquely builds an NxN square with 2N-2 tile types Since the temperature is 1, there is a one-tile-at- a-time assembly sequence in T, starting from any point in the square, namely the origin, and fills in the square T would do the exact same thing in the aTAM (at temperature 1) –This contradicts the assumption from the previous slide.

Build one stair step... Simulate a special “Busy Beaver” Turing machine on the empty string input –Busy beaver Turing machines run for a long time, but in this example, the TM halts immediately –Let T = the number of transitions the Turing machine takes to halt on input empty string Tiles non-deterministically attach to the top row of the Turing machine simulation –0/1 possible at each location, marking left and right locations (this defines the value x) Count up from the guessed value (x in this example) to the next highest power of two minus one Grow a “cap” row 0 c !0 0 s 1 c 1 z 1 ss ? 1 s R1 R0 0 z R1 1 s R0 1 L1 c 1 c 1R1 C 1 A L1 L? qhqh Rh Lh ? q0_q0_ _ Rh R? lo _ Lh L? hi A R# # lo B #L hi # q0_q0_ R# q0_q0_ lo RR RR RR 2 N - x N = 2*T + 1 x 0 D R$ R? 0 c R0 R$ 0 cc 0 c 1 L1 c 1 sB

1 Rq 3 L 1 q0_q0_ A # # lo B # hi # q0_q0_ # q0_q0_ lo 0 Rq2q2 0 Rq 3 _ 1 q2q2 < q21q21 1 _ <L _ L 0 >q2q2 0 q21q21 0 >> 0 0 _ R> _ R _ q2q2 < q2_q2_ _ _ <L _ L 1 >q1q1 0 q2_q2_ 0 >> >> 0 0 _ >> _ _ _ R> _ R _ q1q1 < q1_q1_ _ _ <L _ L qhqh hh ? q1_q1_ _ hL ? L _ hh ? _ 0 hh ? 0 0 hh ? 0 0 hh ? 0 _ hh ? _ _ hh ? _ _ Rh ? R _ Rq 3 Rq 3 _ lo _ R R _ R R _ R R _ R R? lo _ L? hi _ L _ L L _ L L _ L L A # # lo B # hi # A # # lo B # hi # A # # lo B # hi # A # # lo B # hi # lo 0 D R$ R? 0 0 ? 1 A L1 L? 1 1 ? 1 1 ? 0 0 ? 1 1 ? 0 0 ? 0 0 ? 1 1 ? 0 0 ? Can anybody see a problem with this?

1 Rq 3 L 1 q0_q0_ A R# # lo B #L hi # q0_q0_ R# q0_q0_ lo RR 0 Rq2q2 0 Rq 3 _ 1 q2q2 < q21q21 1 _ <L _ L 0 >q2q2 0 q21q21 0 >> 0 0 _ R> _ R _ q2q2 < q2_q2_ _ _ <L _ L 1 >q1q1 0 q2_q2_ 0 >> >> 0 0 _ >> _ _ _ R> _ R _ q1q1 < q1_q1_ _ _ <L _ L _ R Rq 3 Rq 3 _ lo _ RR R _ RR R _ RR R _ LL L hi _ LL L _ LL L _ LL L LL A R# # lo B #L hi # A R# # lo B #L hi # A R# # lo B #L hi # A R# # lo B #L hi # LL LL LL LL LL LL LL lo RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR 0 D R$ R? 0 0 ? 1 A L1 L? 1 1 ? 1 1 ? 0 0 ? 1 1 ? 0 0 ? 0 0 ? 1 1 ? 0 0 ? More steps for the Turing machine means wider steps Wider steps means more steps in the staircase! NOTE: The same Turing machine is simulated in every step, so every step is the same width qhqh hh ? q1_q1_ _ hL ? L _ hh ? _ 0 hh ? 0 0 hh ? 0 0 hh ? 0 _ hh ? _ _ hh ? _ _ Rh ? R _ R R? lo _ L? hi

Together at last… 0 c !0 0 s 1 c 1 z 1 ss ? 1 s R1 R0 0 z R1 1 s R0 1 L1 c 1 c 1R1 C 1 A L1 L? qhqh Rh Lh ? q0_q0_ _ Rh R? lo _ Lh L? hi A R# # lo B #L hi # q0_q0_ R# q0_q0_ lo RR RR RR 0 D R$ R? 0 c R0 R$ 0 cc 0 c 1 L1 c 1 sB 1 c 1 !0 z 1 ss s R1 R0 0 z R1 1 L1 c 1R1 C 1 A L1 L? qhqh Rh Lh ? q0_q0_ _ Rh R? lo _ Lh L? hi A R# # lo B #L hi # q0_q0_ R# q0_q0_ lo RR RR RR 0 !0 ? 1 D R$ R? 1 s R1 R$ 0 c !0 0 s 1 L1 c 1 sB ADBCBC

Together at last… 1 c 1 !0 z 1 ss s R1 R0 0 z R1 1 L1 c 1R1 C 1 A L1 L? qhqh Rh Lh ? q0_q0_ _ Rh R? lo _ Lh L? hi A R# # lo B #L hi # q0_q0_ R# q0_q0_ lo RR RR RR 0 !0 ? 1 D R$ R? 1 s R1 R$ 0 c !0 0 s 1 L1 c 1 sB AD 0 c !0 0 s 1 c 1 z 1 ss ? 1 s R1 R0 0 z R1 1 s R0 1 L1 c 1 c 1R1 C 1 A L1 L? qhqh Rh Lh ? q0_q0_ _ Rh R? lo _ Lh L? hi A R# # lo B #L hi # q0_q0_ R# q0_q0_ lo RR RR RR 0 D R$ R? 0 c R0 R$ 0 cc 0 c 1 L1 c 1 sB BC

Tile complexity Let M be any Turing machine that runs for T steps when given the empty string as input Assume M has k states and a constant number of input/tape alphabet symbols 2HAM tile complexity for building a staircase of size 2T + 1: O(k) Can’t use this procedure to assemble staircases of any size –But can always assemble arbitrarily large staircases with a number of unique tile types asymptotically less than the width of a stair step

Busy beaver separation Let M be the following (“busy beaver”) Turing machine: Running time of M on empty string as input: T = steps(Thanks: Let N = 2T + 1 Desired size of staircase: N –aTAM: at least c* unique tile types needed, for some constant c –2HAM: < 100 unique tile types needed ABCDE 01,B,R1,C,R1,D,R1,A,L1,H,R 11,C,L1,B,R0,E,L1,D,L0,A,L

The 2HAM is better Why is the 2HAM so much better at building staircases (of size N) than the aTAM? One possible answer: cooperation in the 2HAM does not need to be local, like it always is in the aTAM Geometry of assemblies can be used to hinder/help assembly

Is the 2HAM better? Is the 2HAM really better than the aTAM? Can the 2HAM literally do anything that the aTAM can do? Example: take an aTAM tile set T and pretend it’s a 2HAM tile set Does T produce exactly the same assemblies in the 2HAM as it does in the aTAM? Intuitively: an assembly sequence in the aTAM can be carried out by the 2HAM…

aTAM as 2HAM example 3 2 S 1 A B C It’s clear that this tile set produces one assembly… … in the aTAM! What about in the 2HAM? A B B B A B B B B C 3 4 Temperature τ = 1 ?? 4 C 4 C C B C A B B B S 1 A

aTAM as 2HAM example 3 2 B C A B B B A B B B ?? 4 C C B C A B B B A B B B A B B B A B B B A B B B “aTAM as 2HAM” does not automatically work. In the 2HAM: cannot (easily) enforce sequential tile additions S 1 A Temperature τ = 1

Simulation Fact: the 2HAM can “simulate” the aTAM –“simulate” specifies that single tiles in an aTAM tile set must be treated as producible assemblies That is, for each aTAM system T, there is a 2HAM system S satisfying the following: –Every assembly tree of S represents one assembly sequence of T (OR just a single tile type of T) –Every assembly sequence of T is represented by one assembly tree of S Key detail: the producible assemblies of S are scaled up versions of producible assemblies of T –The scale factor is 5!

The basic idea Start with an aTAM tile system as input Represent each aTAM tile type as a 5 x 5 supertile Bricks: 3 x 3 supertiles that map to aTAM tiles Mortar: 1 x 3 (or 3 x 1) supertiles and singleton tiles that hold bricks together Simulate dynamics and production (not connectivity) Too many details! S

Simulation: generalizations Any aTAM system at temperature 1 or 2 can be simulated by a 2HAM system at temperature 2 Any aTAM system at temperature 3 can be simulated by a 2HAM system at temperature 3 Any aTAM system at temperature ≥ 4 can be simulated by a 2HAM system at temperature 4

Verification Verifying unique production in the aTAM (in 3D) can be done by an efficient algorithm –O(“size of the assembly” 2 ) Verifying unique production in the 2HAM (in 3D) probably cannot be done by any efficient algorithm –Very complicated, but very COOL, proof of this! –The complexity of verifying unique production in the 2HAM in 2D is not known and currently under investigation Verifying producibility in the 2HAM can be done by an efficient algorithm –Doty (2013): O(|A|*log 2 |A|)

Summary 2HAM = Ω(aTAM)