• No results found

Reliably computing cellular automaton, in 1-sparse noise

N/A
N/A
Protected

Academic year: 2021

Share "Reliably computing cellular automaton, in 1-sparse noise"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

Reliably computing cellular automaton, in

1-sparse noise

Peter Gács

(2)

Ths is the second one of a series of three lectures on reliable cellular automata. The first lecture constructed a reliably computing 3-dimensional cellular automaton. The style of proof chosen in that lecture is not essential for the theorem proved there, but is essential for what follows now. Please recall the definitions ofk-noise,k-sparseset offaultsin space-time and the

(3)

Bursts

Bursts

Other models needed

Reliable computation in 3-dimensional cellular automata happens to have a very simple solution. The simplicity of this solution seems to be an anomaly.

Fewer dimensions There arethermodynamicreasons to argue that a 3-dimensional fault-tolerand cellular automaton is not realizable physically in 3-dimensional space. Indeed, in physical systems the error-correcting operations, (as any irreversible operations) generate heat, which needs an extra dimension to conduct (or, as in the case of the Earth’s surface) radiate out.

Continuous time The Toom-layering construction relies on discrete time in an essential way, but synchronizing over unlimited distances is physically unrealistic.

Less redundancy Repetition is not the most economical way to introduce redundancy.

(4)

Bursts

From now on, we will always work with 1-dimensional cellular automata, of the form

M=CA(C,S,r,ϑ,g) =CA(Z,S, 3,{−1, 0, 1},g) =: CA(S,g), that is we only indicate the set of states and the transition function, sinceC,r,ϑare fixed.

(5)

Bursts

Sparse errors

Cheating

The difficulty of the problem suggests to seek solution first just for a 1-sparse set of errors. Recall from the previous talk: a set

Eof errors is 1-sparse if it consists of points at some large

distanceρ2from each other.

Hower, in this case (say in 1 dimension): one cancheat.

Letζ(x,t)be the computation we want to simulate, with

ζ(x,t+1) =g(ζ(x1,t),ζ(x,t),ζ(x+1,t)).

New state spaceS=S3. Notation fors∈S: s= (s1,s0,s1). New

space-time configuration:

(6)

Bursts

This is a trajectory of the following ruleg:

r=Maj(ζ(x1)1,ζ(x)0,ζ(x+1)1),

ζ(x,t+1) = (g(ζ(x−1)),g(ζ(x)1,r,ζ∗(x)1),g(ζ∗(x+1))).

a b c b c d c d e d e b e b a

Green arrows apply the transition functiong, the red arrows the

(7)

Bursts

Bursts

The cheating solution is useless since itdoes not scale upfor

dealing with errors that are not- 1-sparse: it crams too much information into a cell ofζ.

Let us generalize 1-sparsity slightly, in order to prevent cheating. In the definition ofk-noise andk-sparsity, allow

ρ1>1, calling it 2ρ1theburst size. The new property will still be called 1-sparsity: in case of misunderstanding, it is called

(ρ1,ρ2)-sparsity. Equivalently, such a sparse set can be covered

byρ1-balls that are at distance at leastρ2 from each other.

In the cheating trick applied to this case, the number of states

of the fault-tolerant cellular automaton is anexponential

functionofρ1. We are looking for solutions with a number of

(8)

Redundancy Codes

Redundancy

Codes

Let us treat encoding-decoding more explicitly than in the layering case.

We must store information, in order not to lose it to noise, with

redundancy: using extra space. The introduction of redundancy is

generally calledcoding. LetX be a space whose elements are the

possible values of our information, andY some other space. The

pair of mappings

φ:XY, φ∗:YX

is called acodeif it satisfies the identityφ∗(φ(x)) =x. The

encodingfunction isφ, thedecodingfunction isφ∗. Example:

(9)

Redundancy Codes

Block codes

Code(φ,φ∗)is called ablock codewith block sizeQifX=A,

Y⊆AQ for some finite alphabetsA,A. The above example

(repetition and majority decoding) is a block code.

A block code can be extended to configurationsξ(x)over the

infinite spaceC=Z. Example:

a a a c c c e e e d d d d d d a c e d d ξ ξ∗ . . . . . . . . . . . .

Decoding can also be extended (This extension is not automatically shift-invariant, see later.)

(10)

Redundancy Codes

In a block simulation, we simulate the original machine

M=CA(S,g)step-for-step by a new machineM=CA(S,g).

time

colony work
period U

Q

One cellxofMwill be represented byQcells ofMcalled a

colony.

One step ofMwill be simulated byUsteps ofMcalled awork

(11)

Redundancy Codes

Theorem (Sparse error correction)

Let M(S,g)be an arbitrary cellular automaton. For anyρ1 there is a new machine M=CA(S∗,g∗)with|S∗|depending polynomially

ρ1,|S|, furtherρ2, Q,U depending linearly onρ1, a block code,φ∗)with block size Q, such that the following holds. Letζ(x,t)

be a trajectory of M with initial configurationξ. Letη(x,t)be an arbitrary space-time configuration of M, initial configurationφ(ξ), in which the set of faults is(ρ1,ρ2)-sparse. Then for all x,t we have

ζ(x,t) =φ∗(η(·,tU))(x).

Note: The state spaceS∗need not be larger thanS, since onlyQ

cells ofMmust be able to hold a cell ofM. We return to this important issue in the third lecture.

(12)

Implementation (proof)

Implementation (proof)

Let

ζt=ζ(·,t) =the content of the original computation at timet.

ηtU=the representation ofζt(with possible errors).

How to perform the stepηtUη(t+1)U?

In the Toom-layering construction,U=1, and we could just work

directly onηt, step-for-step, for

the code was very simple (repetition)

the extra dimension allowed direct access to each bit of the code.

But in general, it is not clear how to workdirectlyon the encoded

(13)

Implementation (proof)

Pedestrian way

ηtU→ decode →ζt→ compute →ζt+1→ encode →η(t+1)U.

During this whole process, (even if the “compute” part is trivial)

(14)

Implementation (proof) Fields

Fields

Step toward solution:structure information functionallyeven

within individual cells. At any one time, work only on part of the

information, protecting the rest from errorpropagation.

Set of cell statesS ={0, 1}m, wheremis called thecapacityof the cell.

Let 1¶f1<f2<· · ·<fkm,F={f1, . . . ,fk}. For an arbitrary

cell states= (s1, . . . ,sm)we write

s.F= (sf1, . . . ,sfk).

We callFafield, ands.Fafield ofs. Typically,Fis an interval of

bits in the bit strings. This notation is borrowed from the

(15)

Implementation (proof) Fields

Typically, our fields are disjoint intervals of bits. Viewing each

cell as a computer processor, fields are its program’svariablesin

local memory.

If(ξ(x):x∈C)of a cellular automaton, is a configuration,

then for each fieldFthe valuesξ(x).Fcan be grouped into a

track

(ξ(x).F:x∈C).

Example, with

Info

,

Addr

,

Age

,

Mail

tracks:

Info Addr Mail . . . ua vw ax zf yy b a r z x 7 0 1 2 3 41 41 41 41 41 Age

(16)

Implementation (proof) Fields

Program outline

Keep the encoded state of the simulated fault-free computation

in a track called

Info

.

While decoding, computing, encoding, don’t change

Info

: use

other tracks like

Mail

,

Work

.

Perform the decode-compute-encode process 3 times. In iterationi=1, 2, 3, store the result in track

Hold

i.

Replace

Info

with Maj(

Hold

1,

Hold

2,

Hold

3)in a single step.

To organize all this, use a field

Age

as a program counter, and a

field

Addr

to show the relative place of each cell within its

(17)

Implementation (proof) The run in space-time

The run in space-time

Decode Copy Compute Finish Encode
toHold1 Hold2 Encode
to

Decode Majority of three copies.

Copy From neighbor colonies.

Compute Apply a step ofg.

Encode Store 3 copies in

Hold

i Repeat the above, fori=1, 2, 3

Finish

Info

←Maj3i=1

Hold

i

Put also 2ρ1 steps ofidling

(doing nothing) between all these stages.

(18)

Implementation (proof) The run in space-time

If the value of the fields

Addr

∈ {0, . . . ,Q−1},

Age

∈ {0, . . . ,U−1}. is not corrupted by faults then each cell knows its position within its colony and the step of the program it needs to execute: so it will know what to do with the information in the rest of the fields.

Theprogramis just a convenient description of a transition table. It is best described by a series ofruleslike this below,

where

Mail

−1denotes the

Mail

field of the left neighbor.

Rule 3.1:Example rule

ift

Age

<t2 and

Addr

<Q/2then

Mail

Mail

−1

(19)

Implementation (proof) The run in space-time Decode Copy Compute Finish Encode
toHold1 Hold2 Encode
to

Assumeρ2>U, 3Q, so that at most one burst of faults (of size 2ρ1) can affect one colony work period.

Lemma (Nice Faults)

The theorem holds in the case where the faults cannot corrupt the

Addr

and

Age

fields.

Indeed, due to the idling steps, each

fault affects at most one stagei(or the

step Finish). Two effects that matter: The output of the stage in track

Hold

i. Corrected in Finish.

Other fields of the cells where the burst occurred. Corrected in Decode.

(20)

Implementation (proof) Correcting Addr and Age

Correcting Addr and Age

Fortunately, this can be donelocally. Anybody in the audience

could come up with some rules to do it; I give an example solution.

Define a notion ofliveanddeadcells (say by a field

Live

∈ {0, 1}).

Live cellsx,yareconsistentif

Age

(y) =

Age

(x),

Addr

(y)

Addr

(x) + (yx) (modQ). Adomainis a maximal interval of consistent cells.

Killcells whose domain is smaller than 2ρ1.

If a dead cell has one live neighbor or two consistent live

neighbors,reviveit consistently with them.

(21)

Implementation (proof) Correcting Addr and Age

Call theleft depthdepth1(x)of a cellxthe distance to the first cell on the left that is inconsistent with it if this distance is

¶MaxDepth=2ρ1; otherwise, MaxDepth. Right depthis defined

accordingly. So, depth1(x)>1 meansxis consistent with its left neighbor.

The fields

Depth

1,

Depth

1try to keep track of the depth.

pforis parallelfor. Rule 3.2:Purge

pforj∈ {−1, 1}do

if

Live

=1anddepthj=1then

ifdepth−j<MaxDepththen

Live

←0

else

Depth

j←1 else

(22)

Implementation (proof) Correcting Addr and Age

Reviving the dead cells: Rule 3.3:Heal

pforj∈ {−1, 1}do

if

Live

=0and

Live

j=1and

Depth

jj=MaxDepth

and(

Live

−j=0orthe two neighbors are consistent with

each other)then

Live

←1

Age

Age

j

(23)

Implementation (proof) Correcting Addr and Age

Assume that the rulesPurge,Healhave been added.

Lemma (Structure Restoration)

After every burst, the affected area becomes consistent with its neighborhood again in6ρ1steps. The

Info

field is not affected anywhere outside the burst.

The fact that the

Info

field is not affected follows directly from

the design.

The proof of restoration of consistency takes some argument,

since the behavior is not completely monotonic: Healmay

revive cells thatPurgewill kill later. But it is not a difficult argument.

The Theorem is now proved easily. Having the Structure

Restoration lemma allows the application of the argument of the Nice Faults lemma, even though the faults are not nice, (just 1-sparse).

References

Related documents

Observe that Theorem 1.1 shows that f H ∗ (ε) is polynomial for a much wider class of oriented graphs, that is, there is an entire family of oriented graphs for which the removal

Proprietary Schools are referred to as those classified nonpublic, which sell or offer for sale mostly post- secondary instruction which leads to an occupation..

Agent-based artificial financial markets are potentially able to fully bridge this gap between individual investor behavior and aggregate market phenomena, by allowing the modeler

To condemn the embargo is not to declare love of Fidel Castro, or to declare support for Communism, or to endorse every action of the Cuban Government.. The member states of the

door (entry or cargo) open main gear steering unlocked pk brake set flaps Vs FMS rudder trim &gt; 2 degrees spoilers not forward stab outside green band 1 or 2 warning lights inop 1

In this paper we present how the Enterprise Architecture Analysis Tool [3] has been extended in order to automatically instantiate elements in EA models based on results from

As noted above, circumstances will sometimes arise that will make it unreasonably burdensome for a sovereign to continue normal debt servicing and everyone, borrower and

Although some institutions characterize themselves as stewards of place, others might prefer to label their community outreach work as “public engagement.” Cleveland