slides1.pdf

Effective Tiling Part 2: Self-assembly
Florent Becker
September 3, 2015
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Self-assembly and the aTAM
We can approach self-assembly from three directions:
I
A natural computing point of view: how to compute as
Nature does?
I
A tiling algorithm point of view: what is a local tiling
algorithm?
I
A nano-engineering point of view: how to do cool stuff with
DNA or other materials?
From these three directions, the same model appears: the aTAM,
so it must have some relevance.
Outline
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
What is self-assembly
I
A large number of particles
What is self-assembly
I
A large number of particles
I
each particle is simple,
What is self-assembly
I
A large number of particles
I
each particle is simple,
I
whose simple local interactions
What is self-assembly
I
A large number of particles
I
each particle is simple,
I
whose simple local interactions
I
yield an interesting result
Natural examples
I
Crystal growth
Natural examples
I
Crystal growth
I
Corals
Natural examples
I
Crystal growth
I
Corals
I
Human settlements
Let’s mathematize
I
A large number of particles,
Let’s mathematize
I
A large number of particles, infinitely many
Let’s mathematize
I
A large number of particles, infinitely many
I
each particle is simple,
Let’s mathematize
I
A large number of particles, infinitely many
I
each particle is simple, taken from a finite set
Let’s mathematize
I
A large number of particles, infinitely many
I
each particle is simple, taken from a finite set
I
whose simple local interactions
Let’s mathematize
I
A large number of particles, infinitely many
I
each particle is simple, taken from a finite set
I
whose simple local interactions on Z2 , at distance 1
Let’s mathematize
I
A large number of particles, infinitely many
I
each particle is simple, taken from a finite set
I
whose simple local interactions on Z2 , at distance 1
I
yield an interesting result
Let’s mathematize
I
A large number of particles, infinitely many
I
each particle is simple, taken from a finite set
I
whose simple local interactions on Z2 , at distance 1
I
yield an interesting result used as an algorithmic system
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Beyond local rules
The simplest tiling algorithms are greedy application of local rules,
but they do not always work.
How to add a little computing power while keeping locality? Add
the option to say “I don’t know”.
This gives the power to synchronize.
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Nano-inspiration
We want to assemble nano-artefacts.
I
without the need for nano-manipulations,
I
with particles which assemble by local interactions,
I
this means that we need molecules with selective attractions
Nano-inspiration
We want to assemble nano-artefacts.
I
without the need for nano-manipulations,
I
with particles which assemble by local interactions,
I
this means that we need molecules with selective attractions
I
and planar dynamics
Nano-inspiration
We want to assemble nano-artefacts.
I
without the need for nano-manipulations,
I
with particles which assemble by local interactions,
I
this means that we need molecules with selective attractions
I
and planar dynamics
I
DNA is perfect for that
DNA-computing
Silicium machines are slow but not very parallel. Why not rather
use 1023 trivial processors.
Again, we need a molecule with programmable interactions
DNA tiles
With 4 single strands of DNA, it is possible to create objects with
selective interactions with a Z2 topology.
DNA tiles
With 4 single strands of DNA, it is possible to create objects with
selective interactions with a Z2 topology.
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Tiles
Definition (Self-assembling
tileset)
A self-assembling tileset S is
given by:
I
A finite alphabet G
I
a strength function:
s:G →N
I
A Wang Tile-Set on
alphabet G
Link
Definition
Let t1 , t2 be two prototiles, and d
a direction in {N = (0, 1), S =
−N, E = (1, 0), W = −E } The
link between t1 and t2 in
direction d is:
I
link(t1 , d, t2 ) = 0 if
d(t1 ) 6= (−d)(t2 )
I
link(t1 , d, t2 ) = f if
d(t1 ) = d(t2 ) and
s(d(t1 )) = f
b
b
b
b
b
b
b
b
b
b
b
b
bb
bb
bb
bb
A
A
A
A
A
b
b
b
cc
cc
AA
bb
c
c
c
c
c
b
b
b
cc
cc
AA
bb
c
c
c
c
c
b
b
b
c
c
A
b
A
Link
Definition
b
Let S be a self-assembling tileset,
and let P be a pattern. Let C be
a cut of dom(M), the link along
C is defined by:
X
link(C ) =
link(M(e − ), dir(e), M(e + ))
e∈C
b
b
b
b
b
b
b
b
b
b
b
bb
bb
bb
bb
A
A
A
A
A
b
b
b
cc
cc
AA
bb
c
c
c
c
c
b
b
b
cc
cc
AA
bb
c
c
c
c
c
b
b
b
c
c
A
b
A
Link
b
Definition (Stability)
A pattern M of S is stable at
temperature τ if for any cut C of
M,
τ ≤ link(C )
b
b
b
b
b
b
b
b
b
b
b
bb
bb
bb
bb
A
A
A
A
A
b
b
b
cc
cc
AA
bb
c
c
c
c
c
b
b
b
cc
cc
AA
bb
c
c
c
c
c
b
b
b
c
c
A
b
A
Dynamics
A
Definition
d
S has a transition from M to M 0
at temperature τ if:
A
c
d d
E E
c
E
c
c
d d
M0
I
M and
are stable at
temperature τ ,
I
dom(M 0 ) =
dom(M) ∪ {(x, y )},
(x, y ) ∈
/ dom(M) and M and
M 0 coincide on dom(M).
A
c
d d
A
A
E d
b
E
c
A
A
E
c
E
c
Possible additions at τ = 2.
Self-assembling system
Definition
A self-assembling system is given by:
I
A self-assembling tileset
I
an integer τ , the temperature
I
a pattern σ, the seed
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Assembly of a rectangle
b
A
A
b
b
A
A
b
A
A
b
b
b
A
A
b
Seed = tile with a star, Temperature = 2
Assembly of a rectangle
b
A
A
A
b
A
b
A
A
A
A
AA
b
b
b
A
A
bb
A
A
bb
A
A
A
A
AA
A
A
b
b
b
b
b
bb
b
A
A
bb
b
A
A
A
AA
bb
b
A
A
A
b
A
A
A
A
b
b
b
b
b
bb
b
A
A
bb
b
A A
b
A
A
AA
Seed = tile with a star, Temperature = 2
b
A
A
A
AA
bb
A
A
b
b
b
b
b
bb
b
bb
A A
A
A
b
b
b
bb
b
A
A
AA
b
b
b
b
b
b
b
b
b
b
b
A
bb
bb
bb
A A
b
b
b
b
b
b
b
b
b
b
Assembly of a square
c
c
c
c
c
c
b
b
b
b
A
b
A
b
A
b
Seed = lower left tile, Temperature = 2
A
b
b
b
Assembly of a square
c
c
A
b
c
c
b
A
A
A
b
b
A
b
b
c
c
b
A
A
AA
c
c
c
c
cc
b
b
c
AA
A
c
b
b
b
c
c
c
A
A
bb
A
A
b
c
b
cc
b
AA
A
bb
A
A
bb
A
A
b
c
AA
b
b
b
b
A
b
c
c
c
c
b
b
b
c
c
c
c
cc
AA
b
Seed = lower left tile, Temperature = 2
b
b
b
b
b
c
bb
cc
A
A
bb
A
A
bb
A
A
b
b
b
c
c
b
AA
bb
AA
b
b
b
b
b
b
b
b
b
b
b
b
c
c
c
c
c
c
c
c
b
AA
b
cc
b
A
b
b
b
c
c
c
cc
AA
b
c
b
b
b
bb
cc
A
A
bb
A
A
bb
A
A
b
A
bb
A
A
AA
bb
b
b
b
b
b
AA
bb
bb
b
b
b
b
b
b
b
b
b
b
b
b
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Production, final production
A production of a self-assembling system S is a pattern p such
that there is a sequence of transitions from the seed σ(S) to p at
temperature τ (S).
An assembly sequence of p is a sequence of transitions from σ(S)
to p.
p is a final production of S if there is no transition of S starting
from p.
The set SF is the set of all final productions of S.
Assembling a set of shapes
Let X be a set of finite subsets of Z2 .
The most studied problem in self-assembly is the following: given a
set X , is there a system such that X = {dom(f )|f ∈ SF }. When it
is the case, we say that S assembles X .
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Efficiency
How to get an evaluation of the efficiency of a Self-assembling
system?
I
Number of transitions = surface. . .
I
Number of tiles in the system = Kolmogorov
Is there a notion of time complexity for self-assembly?
Time Efficiency?
I
Turing Machine Time Complexity = scale factor
I
Physical Assembly Time = ??
Parallelism
I
I
I
Far away transitions are
made in parallel
Each should have its own
clock
More independant
transitions ⇒ faster
assembly
E
E
C
F
F
D
C
D
B
B
D
F
C
F
C
D
A
B
E
A
B
E
A
A
C
C
E
E
F
F
B
B
D
D
E
E
A
A
C
C
kTAM
It is possible to refine the Abstract Tile Assembly Model into a
kinetic Tile Assembly Model. Given S, PS is a Continuous Time
Markov Process defined as follows:
I
Each tile of S is given a real number, its concentration;
I
The states of PS are the productions of S;
I
There is a (Markov) transition from p to p 0 with rate κ if
there is an aTAM transition from p to p 0 and the added tile
has concentration κ.
In other words, we assume that every 1/κ in average, a tile with
concentration κ arrives at each possible attachment site, and all
these arrival are independant.
Assembly time in the kTAM
I
Assembly time in the kTAM = expected time to assemble in
the kTAM
I
Models parallelism as expected
I
But computing the expected time of assembly is not easy (ask
your local probabilist).
A combinatorial approach
Markov processes let us model parallelism, but they introduce
(sometimes) difficult calculations. Is there a way to express
parallelism directly?
Dependency order
Let s be an assembly sequence of a production p.
I
I
s defines a total order o(s) on the positions of p.
T
s assembly sequence of p o(s) defines a partial ordrer <p on the
positions of p.
A production p is ordered (by <p ) if any total order that is
compatible with <p corresponds to an assembly sequence of p.
In an ordered production, <p captures dependencies between
positions.
Dependencies and assembly time
Theorem
Let S be a kTAM where all concentrations are equal to 1, and
where the seed is a single tile. Let P be an ordered production,
with <p its order. Let d(<P ) be the depth of <P , and t(P) the
assembly time of P. Then t(P) = Ω(p(<P )).
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Counter tiles
1g
done
1c
0g
1c
1g
0d
1d
1
0c
0c
1g
0
0c
0
0
SS
>
0c
0
0
SS
1c
1
1d
SS
1c
>
>
0d
0
1c
1
1d
>
0
1'
0c
1
0g
>
1'
1
0c
0
1
0c
0g
0c
0d
1c
>
1
Running the Counter
0d
0d
1d
1d
0g
0g
1c
0g
0
SS
0
SS
1d
0g
SS
0
SS
0
SS
0
0c 0c
SS
1'
0c 0c
0
0
SS
0d
1c 1c
0
0
SS
0
1
0d
0
0c 0c
0g
0d
0c 0c
0c 0c
0g
0g
1d
1d
0
0
SS
1'
0d
0d
1c 1c
0c 0c
0
0
SS
>>
1'
1'
0
0
0c
1d
1
SS
0c
0
1c 1c
0
0
0d
0c 0c
0g
0d
0g
0g
1d
1d
0d
0d
0g
0d
SS
1
1
0g
0g
0
0
SS
0d
0d
0g
0d
SS
1
1
0d
0d
1c 1c
0c 0c
0
0
SS
1d
1d
>>
1'
1'
0
0
0g
0g
1c 1c
0c 0c
0c 0c
0d
0d
0
0
0
0
0d
>>
1c 1c
0c 0c
1d
1d
0
0
SS
0c
1c 1c
0c 0c
>>
1'
1'
1d
1d
1d
1d
0
1
0c
>>
1'
1'
0
0
0d
1c
0d
0d
1c 1c
0c 0c
0c 0c
1d
1d
0
0
SS
1c 1c
0c 0c
1d
>>
0
0
0
0
0d
1c 1c
0c 0c
0
0
SS
0c
>>
1'
1'
0
0
0c 0c
0d
1
1
0c 0c
>>
1'
1'
1c 1c
1d
1d
SS
1d
1d
0
0
SS
SS
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Undecidability
Theorem
Deciding if a self-assembly system S with temperature 2 has a
finite final production is undecidable.
Proof.
By simulation of a Turing Machine: assemble the space-time
diagrams of the machine.
Turing Simulation: tiles
g
s,1
<g
<
s>
1
1
q,0
<g
<q
<
g
1
<
g
<
0
r>
< C
q,x
>
< R q'>
q,x
g
q,x
d
qi,0
« «
>
»»
q,0
>
q>
0
>
d
>
0
>d
d
1
y
q',y
<q' L >
>
0
qf
y
<
1
r,0
fin
<r
0
0
g
<
>d
>
1
r,0
<
d
s,1
<s
>
d
Turing Simulation: run
0
y
<<
<
0
0
g
<<
g
g
q'>
q,x
r,1
r> r>
q,1
q,1
<g <g
>
1
1
>>
<q <q
g
g
d
d
d
qi,0
qi,0
««
»»
Introduction
The Natural Computing point of view
The Tiling point of view
DNA computing
The aTAM (abstract Tile Assembly Model)
Definition
Examples
Productions
Measuring Efficiency
Markov Approach
Order approach
Universality (Computation)
Counting
Computing
Model parameters
Temperature
I
At temperature 1, 2d self-assembly is conjectured to be
unable to do universal computation.
I
But in Z3 , it can simulate Turing Machines.
I
In both cases, it cannot simulate temperature 2 self-assembly.
Conflicts
A mismatch is when two adjacent tiles have non-matching glues on
their common side.
Theorem
Some sets of shapes cannot be assembled by systems without
mismatches.