Notes on local determinism Days 12, 13 and 14 of Comp Sci 480.
-
Upload
cuthbert-palmer -
Category
Documents
-
view
220 -
download
0
Transcript of Notes on local determinism Days 12, 13 and 14 of Comp Sci 480.
Notes on local determinism
Days 12, 13 and 14 of Comp Sci 480
Motivation
• When does a tile set work correctly?
• Can you prove this?
• It would be nice to have a set of sufficient conditions, say X, Y, Z, etc., such that, if your tile set satisfied conditions X, Y, Z, etc., then the tile set is correct
Correctness
• What does it mean for a tile set to be “correct”?
• The tile set should uniquely produce something– The sequence of tile additions might be
different each time (or there might be a large finite number of such sequences)
– But the end result is always the same
First attempt
• What if a tile set is very strongly deterministic, in the following sense…– sequence of tile additions is unique
• Such a tile set always does the same thing• It definitely uniquely produces some
assembly• “Unique assembly sequence” is a very
strong sufficient condition• Perhaps we can relax this condition…
Second attempt
• What if a tile set has the property that every tile binds “deterministically”
• E.g., if tile A binds to tile B (on some side) and at some location, then no other tile type can bind to B on the same side
• Does this tile set always do the same thing?
• No!
54
Counter example
S 1
A
B
C
DC DD
3
43
2
A
B
A
B
Every tile binds “deterministically”, but the tile system does not uniquely produce the loop.
21
21
21
3
2
3
2
A
B
A
B
A
B
A
B
B
C
B
C
3
4
3
4
DC
??
54
54
DC
Temperature τ = 1
Local determinism
• A special property of a particular assembly sequence (i.e., sequence of tile additions) for a tile set
• Key fact: if a tile set has a locally deterministic assembly sequence, then EVERY assembly sequence for that same tile set is locally deterministic– Proven by Soloveichik and Winfree (2004)
• Local determinism of an assembly sequence (for an assembly) guarantees the unique production of that assembly
Some notation
• From here on out, assume a = (a0,a1,…) is an assembly sequence that leads to a final (not necessarily terminal) assembly A.
• Sides of tiles are denoted as d, with possible values North, South, East and West.
• For a tile type t, – strt(d) is the strength of the glue on side d of tile type t
– labelt(d) is the label of the glue on side d of tile type t
Input, output and terminal sides
• Let (x,y) be an arbitrary point at which a tile is placed in assembly A.
• INa(x,y) = { the set of sides, on which the tile placed at position (x,y), in a, initially binds }– This is the set of input sides for the tile A(x,y) in assembly sequence a.
• OUTa(x,y) = { the set of sides that other tiles use to initially bind to the tile placed at position (x,y) in a }– This is the set of “propagating output” sides for the tile A(x,y) in
assembly sequence a.
• TERMa(x,y) = { North, South, East, West } - INa(x,y) - OUTa(x,y)– Sides of the tile A(x,y) that are neither input nor output sides.
A
B
X
IN/OUT/TERM Example #1
S 1
A
Temperature τ = 2
B
C
A
B
X
X2
D
X C
D
1
2
Note that, IN, OUT and TERM sides are properties of an assembly sequence – NOT the tiles themselves…
A
B
X
B
C C
D
1
2
X2
D
X
X2
D
X C
D
B
C 1
2
IN = { North, South, West }OUT = { }TERM = { East }
IN/OUT/TERM Example #2
S 1
A
Temperature τ = 2
B
C
A
B
X
X2
D
X C
D
1
2
A
B
X
B
C C
D
1
2
X2
D
X
A
B
X
X2
D
X C
D
B
C 1
2
1
2
IN = { South, West }OUT = { North }TERM = { East }
Local determinism definition
• Let a = (a0, a1, …) be an assembly sequence in a tile set T, which leads to a final structure called A,
• For every point (x,y) that receives a tile in A, let t = A(x,y)
• We say that a is locally deterministic if the following conditions are true:– For all d ϵ INa(x,y), Σd strt(d) = τ
• When a new tile binds, it binds “just barely”
– If t’ ϵ T, with t ≠ t’, then for all d ϵ INa(x,y) U TERMa(x,y) with labelt’(d) = labelt(d), Σd strt’(d) < τ
• Nothing can grow from non-propagating sides except “as desired”.
– The final assembly A is terminal
• We say that a tile set T is locally deterministic if there exists a locally deterministic assembly sequence in it.
Local determinism example
S 1
A
Temperature τ = 2
B
C
A
B
X2
D
X C
D
1
2
A
B
B
C
B
C1
2
1
2
C
D
C
D
X2
D
X
X2
D
X
A
B
Local determinism example
S 1
A
Temperature τ = 2
B
C
A
B
X2
D
X C
D
1
2
A
B
B
C
1
2
C
D
X2
D
X
Final assembly is terminal
Every tile binds (initially) with exactly strength 2
Need to verify deterministic binding via IN and TERM sides…
…All good!
???
??? ???
???
???
Local determinism example?
S 1
A
Temperature τ = 2
B
C
X2
D
X C
D
1
2
B
C
B
C1
2
1
2
C
D
C
D
X2
D
X
X2
D
X
A
B
A
B
X
A
B
A
B
X
A
B
A
B
X
Final assembly is terminal
Every tile binds deterministically via IN and TERM sides
This tile type initially binds with strength 3 > 2…
… NOT locally deterministic
3
2
Local determinism example?
S 1
A
B
C
3
43
2It’s clear that this tile set produces one and only assembly – is it locally deterministic?
21
21
3
2
A
B
B
B
A
B
B
B
B
C
3
4Temperature τ = 1
??4
C
??4
C 21
3
4
??4
C
B
C
A
B
B
B
Is this tile set locally deterministic?
Temperature τ = 1
NO!
Some tiles will bind with > strength 1
Local determinism theorem
Theorem (Soloveichik and Winfree, 2004). If there exists a locally deterministic assembly sequence a of T, then T uniquely produces an assembly.
Just exhibit one locally deterministic assembly sequence of T.
Reminder (key fact): if one assembly sequence is locally deterministic, then they ALL are (for a given tile set).
Not locally deterministic
• Prove or disprove: if a tile set is not locally deterministic, then it does not uniquely produce an assembly
• Disprove: the previous “loop” example is a good example of a tile set that is NOT locally deterministic but uniquely builds an assembly
Example
• Prove/disprove: if one assembly sequence of a tile set is NOT locally deterministic, then the tile set is not locally deterministic
• Prove: – Proof by contradiction, so assume that there is a tile
set that is locally deterministic but has one assembly sequence that is not locally deterministic
– If the tile set is locally deterministic, then we know every assembly sequence is locally deterministic
– This contradicts our assumption that one assembly sequence is not locally deterministic
– Done
Example
• If a tile set has exactly two assembly sequences and one is locally deterministic, prove that the other is locally deterministic as well.
• DO NOT use that “key fact”, which says that if one assembly sequence is locally deterministic, then they all are.
• This is a good (fun) homework problem!
Example• Recall: an assembly sequence a is locally deterministic if the following
conditions are true:– For all d ϵ INa(x,y), Σd strt(d) = τ– If t’ ϵ T, with t ≠ t’, then for all d ϵ INa(x,y) U TERMa(x,y) with labelt’(d) =
labelt(d), Σd strt(d) < τ– The final assembly A is terminal
• What if we change the second condition to this:– If t’ ϵ T, with t ≠ t’, then for all d ϵ INa(x,y) with labelt’(d) = labelt(d), Σd
strt(d) < τ• Deleted the “U TERMa(x,y)” part
– Call this modified version of local determinism LD1 (the original is LD0)
– Does the local determinism theorem still hold for LD1? That is, if a tile set has a locally deterministic assembly sequence, for LD1, does it uniquely produce an assembly? Prove or disprove!
– DISPROVE!!
Disproof of previous claim
S 1
A
Temperature τ = 2
B
C
Y2
X
C
D
1
2
B
C
B
C1
2
1
2
C
D
C
D
A
B
A
B
X
A
B
A
B
X
X2
D
X2
D
X2
D
A
B
A
B
X
Disproof of previous claim
S 1
A
Temperature τ = 2
B
C
Y2
X
C
D
1
2
B
C
1
2
A
B
A
B
XRemove X and its immediate OUT-neighbors (there aren’t any)
No other tile type can bind via just IN sides of X…
…can another tile type bind in place of X in some other assembly sequence?
YES!
X2
D
X2
D
A
B
A
B
X
X2
D
Y2
X
Y2
X
C
D
“LD1 does not imply LD0”
Local determinism summary
• All (most?) of our tile sets we have seen thus far are locally deterministic
• Local determinism: sufficient conditions for unique assembly– NOT necessary conditions, i.e., a tile set can
uniquely produce an assembly and not be locally deterministic
The power of non-determinism in self-assembly…
Finite shapes
• Does it help to purposely use non-determinism in the design of tile sets?
• That is, is there a shape, say X, that can be uniquely assembled with c tile types non-deterministically…– but any deterministic tile set that uniquely
builds the shape X must use > c unique tile types???
• Answer: YES!– Bryans, et. al., prove this in 2013
Infinite shapes
• What about infinite shapes?– Here, tile complexity doesn’t matter (can’t be
a function of the size of the shape)
• Is there an infinite shape X that can be uniquely assembled using a non-deterministic tile set…– but not by any deterministic tile set???
• Answer: YES!– Bryans, et. al., proved this in 2013