28
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

Embed Size (px)

Citation preview

Page 1: 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

Page 2: 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

Page 3: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 4: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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…

Page 5: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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!

Page 6: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 7: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 8: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 9: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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.

Page 10: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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 }

Page 11: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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 }

Page 12: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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.

Page 13: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 14: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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!

???

??? ???

???

???

Page 15: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 16: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 17: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

Is this tile set locally deterministic?

Temperature τ = 1

NO!

Some tiles will bind with > strength 1

Page 18: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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).

Page 19: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 20: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 21: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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!

Page 22: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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!!

Page 23: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 24: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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”

Page 25: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 26: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

The power of non-determinism in self-assembly…

Page 27: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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

Page 28: Notes on local determinism Days 12, 13 and 14 of Comp Sci 480

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