Turing Machine Resisting Isolated Bursts of Faults

Ilir Capuni and Peter Gacs
Boston University
M
M
… 0
0
1
1
0 …
step i
… 0
q
 (q, 1)  (q ' , 1,  1)
… 0
0
1
1
0 … step i+1
q’
‘Regular’ transition


0
0
q’
q
1
0 …
A fault: a violation of
the transition function
Change the state, the
tape symbol and move
the head arbitrarily
A faulty transition

Is there a Turing machine that can carry out
its computation despite faults (violations of
the transition function) that occur
independently of each other with small
probability?
M
… 0
0
1
1
0
1
0
0
1
0
0 …
q

 V  f ( )

Given: 1) Machine M 2 with the alphabet  and state set 
2
2
… 0
0
0
0
1
0
1
1
2) The size of the bursts   0
0
0
2) Machine M1 with the alphabet 1 and state set 1
that does not contain a halting state
a3
a1
a2
a3
b1
b2
b3
a1
a2
a3
0 …
q
We construct:
1) Integers V, Q, C, all depending linearly on 
…
0
b1
b2
b3
a1
3) Block code (E , D)
of block-size Q
a2
| 1 |  poly (| 2 |,  )
| 1 |  poly (|  2 |,  )
a3
…
… 0
0
0
0
1
0
0
1
0
0
0
0 …
q0
1
…
M2
… 0
0
0
0
1
1
0
1
0
0
0
0 …
q5 T-1
… 0
0
0
0
1
0
1
1
0
0
0
0 …
qf T
The result

qf
0
…
… a
a
a
a
… a
a
a
a
p0 1
…
…
b
b
b
b
a
b
b
b …
a
a
a …
pt t, t>CT
…
…
q’
p5 t-Q
Burst are
separated by at
least V
fault- free steps
M1
No faults for
Q steps
Colonies
M2
… 0
E
0
1
q
1
0 …
0 0 0 0 0
_ _ _ _ _
1 1 1 1 1
q q q q q
… 0 1 2 3 4 0 1 2 3 4
L L L L L 2 2 2 2 2
1 1 1 1 1 1 1 1 1 1
M1
Head
Info
State
0 1 2 3 4 … Addr
Sweep
g g g g g
Drift
1 1 1 1 1
Other fields
1 1 1 1 1
_ _ _ _ _
Mode = Normal
Addr = 0
Sweep = 2
Other fields
Info
State
… 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 … Addr
Sweep
L L L L L L L L L L g g g g g
Drift
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Other fields
0 0 0 0 0 1 1 1 1 1
_ _ _ _ _ q q q q q
Transferring
phase
Computation
phase
Head
1 1 1 1 1
_ _ _ _ _
Mode = Normal
Addr = 0
Sweep = 1
Other fields


Information: there is an
error-correcting code and
global repetitions to handle
computation errors
Simulation: There is a
structure that could be
restored locally using a
“recovery procedure” that
does not restore lost
information
Two lines of defense


Intervals of cells whose structure is altered by
faults will be called islands
The cells where Info and State are altered by
faults will be called stains
Recovery procedure
Simulation resumes, but a stain
can remain until the next
decoding-encoding takes place
over this colony
22 
18 
front
front
Alarm is called
Sweep + 2
Sweep - 1
Extensive damage
Sweep + 1 Sweep - 1
Damage localized with
zigging



Opens a constant size recovery interval
around the cell where the Alarm is called
In several sweeps it computes majority of
Address, Sweep, and Drift fields, and computes
the values that need to be filled in the
‘damaged’ area
Then it leaves the head close to the front of
the sweep


The burst can leave the
machine in some
arbitrary state
The recovery
procedure can itself be
also disturbed by a
burst
Bad news

Our recovery
procedure handles
provably all these
cases
Good news

Certain proofs are long and require detailed
case analysis

Coding: Store the program and the state of M2 on the
tape of M1 and make M1 act as a Universal Turing
machine
M1
M2
… 0
0
1
1
0 …
0 1 a 1 0 a b 1 0 a
a a b b b a b a b a
_ _ _ _ _ b a b a b
… 0 1 2 3 4 0 1 2 3 4
L L L L L 2 2 2 2 2
1 1 1 1 1 1 1 1 1 1
q
Head

0 1 a 1 0
a b a b a
_ _ _ _ _
Prog
Info
State
0 1 2 3 4 … Addr
Sweep
g g g g g
Drift
1 1 1 1 1
Other fields
Mode = Normal
Addr = 0
Sweep = 2
Other fields
The slowdown of the machine now becomes
quadratic on the burst size


Our noise model was combinatorial
How to deal with low-probability noise
combinatorially?
◦ Level 1: Consider first noise that has low frequency:
Bursts are b1 long but V1 steps apart from each other
◦ Level 2: Then allow violations of the previous
occurring with low frequency:
Occur in at most b2 steps separated by at least V2
from each other
steps
◦ And so on…
We are left with a noise set that is “sparse”

We use the previous construction as a building
block
M1

M2
M3
…
Mk
M
Some serious additional challenges must be
handled to maintain the hierarchy of simulations
Prog
Info
State
… 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 … Addr
Sweep
L L L L L 2 2 2 2 2 g g g g g
Drift
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Other fields
M3
M
… 0
0
1
1
0 …
0 1 a 1 0 0 1 a 1 0 0 1 a 1 0
a a b b b a b a b a a b a b a
_ _ _ _ _ a a b b b _ _ _ _ _
q
Mode = Normal
Addr = 0
Sweep = 2
Other fields
Head
Prog
Info
State
… 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 … Addr
Sweep
L L L L L 2 2 2 2 2 g g g g g
Drift
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Other fields
M1
0 1 a 1 0 0 1 a 1 0 0 1 a 1 0
a a b b b 1 b 0 b a a b a b a
_ _ _ _ _ a 1 c b b _ _ _ _ _
Head
Mode = Normal
Addr = 0
Sweep = 2
Other fields
0 1 a 1 0 0 1 a 1 0 0 1 a 1 0
a a b b b a b a b a a b a b a
_ _ _ _ _ a a c b b _ _ _ _ _
… 0 1 2 3 4 0 1 2 3 4
L L L L L 2 2 2 2 2
2 1 1 1 1 1 1 1 1 1 1
M
Head
Prog
Info
State
0 1 2 3 4 … Addr
Sweep
g g g g g
Drift
1 1 1 1 1
Other fields
Mode = Normal
Addr = 0
Sweep = 2
Other fields



It is a natural simple question
Just as with cellular automata, it is surprising that
the solutions seem to require so much complexity
So far, this is the simplest universal machine that
can resist isolated bursts of faults
… Q u
e
s
t
i
n
s
?
T
h
a
n
k
_
y
o
u
!
q
q
q
q
P q’ q’’
f
f
f
l
k
k
k
k
k
k
k
k
q
o