S 0 ≤ s < SC สี (0 ≤ c < C) ทำงานบนเทปหนึ่งมิติ (เราจะเรียกสิ่งที่เกี่ยวข้องกับเครื่องนี้ "จริง") ให้เราสร้างกัน2เครื่องทัวริง (รัฐ) L และ R) ด้วย C+ 4 SCสี: สีจริงและสี "ปรับปรุง" ซึ่งมีข้อมูลเกี่ยวกับสถานะ เราเพิ่มข้อ จำกัด ที่สถานะเริ่มต้นควรเหมือนกันกับสถานะเริ่มต้นของเครื่องจริงยกเว้นอาจเป็นไปได้สำหรับเซลล์ที่เราเริ่มต้น
ตลอดเวลาเฉพาะเซลล์ปัจจุบันหรือสองเซลล์ที่เกี่ยวข้องในช่วงการเปลี่ยนภาพอาจมีการปรับปรุงสี: เซลล์อื่น ๆ ทั้งหมดมีสีจริง เราต้องการให้เครื่องของเราทำงานดังต่อไปนี้: ตรวจสอบการเปลี่ยนแปลงที่แท้จริงที่จะดำเนินการย้ายข้อมูล "สถานะที่แท้จริง" จากเซลล์ที่เราต้องการออกไปยังเซลล์เป้าหมาย (สิ่งนี้เกี่ยวข้องกับการกลับไปกลับมา) ทำความสะอาด เซลล์ที่เราทิ้งไว้ (ให้สีจริง) ทำซ้ำ
ก่อนการเปลี่ยนเซลล์ปัจจุบันมีสีที่ได้รับการปรับปรุง ( c , s )การเข้ารหัสสีที่แท้จริงและสถานะที่แท้จริงและอื่น ๆ ทั้งหมดมีสีที่แท้จริงของพวกเขา ค้นหาสิ่งที่การเปลี่ยนแปลงที่เครื่องจริงจะทำ --- เราสามารถสรุปได้ว่ามันกำลังไปทางขวา (พลิกL และ Rไปทางซ้ายทุกที่) เปลี่ยนสีที่ได้รับการปรับปรุงให้เป็น( cใหม่, sใหม่, ปล่อย)ย้ายไปทางขวาและเปลี่ยนสถานะปัจจุบันเป็น L.
จากนั้นเครื่องจะเห็นสีปกติ ค และอยู่ในสถานะ L. มันเปลี่ยนค ไปยัง ( c , 0 , L , รับ)และกลับไปอยู่ในสถานะเดิม R. เราจึงมีเซลล์
⋯คค( c , s , ปล่อย)( c , 0 , L , รับ)คค⋯
แน่นอนว่าสีที่แท้จริงต่าง ๆ นั้นมีความเป็นอิสระ แต่ไม่เกี่ยวข้อง เป้าหมายคือการย้าย
s to the target cell. We do that by decrementing the left state, and incrementing the right state, going back and forth between the two. The end is easy to detect in the left cell (
s has become
0), but harder to detect in the right cell. This is what the
L label is for: as long as the state matches that, continue the decrement/increment loop, but if it does not, we are done, and we clean up.
Here are the transitions to implement that. In almost all cases, move in the direction specified by the current state, then flip the state
c→(c,0,⟨dir⟩,receive) where ⟨dir⟩ is the current state; move, flip the state.
(c,s)→(cnew,snew,emit) according to the true machine's transitions; ignore current state, set it to the direction in which we want to move; move, flip the state.
(c,s,emit)→(c,s−1,emit) for s>0; move, flip the state.
(c,0,emit)→c; move, don't change the state.
(c,s,⟨dir⟩,receive)→(c,s+1,⟨dir⟩,receive) if the state is ⟨dir⟩; move, flip the state.
(c,s,⟨dir⟩,receive)→(c,s) if the state is not ⟨dir⟩; don't move, do whatever you like with the state. This could be combined with 2. if you want to always move.
Combining 6 and 2 reduces the number of colors to C+3SC. I believe that it is possible to make the initial configuration have no enhanced color at all, but it is probably messy.