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
© Copyright 2024 Paperzz