คำตอบคัดลอกมาจากตัวเองอย่างไร้ยางอาย:
เครื่องทัวริงแบบมัลติเทปส่วนใหญ่เหมือนกับเครื่องเทปเดี่ยวยกเว้นว่าเรามีฟังก์ชั่นการเปลี่ยนแบบขยายโดยที่คือจำนวนเทป ดังนั้นในแต่ละรัฐฟังก์ชั่นการเปลี่ยนภาพจะอ่านเนื้อหาของแต่ละเทปย้ายไปที่สถานะใหม่ (อาจ) เขียนบางอย่างบนแต่ละเทปและย้ายแต่ละหัว - เหมือนปกติ TM ยกเว้นตอนนี้เรามีสิ่งอื่น ๆ ให้อ่านเขียน และย้าย kQ×Γk→Q×Γk×{L,R}kk
ตามที่คำถามของคุณแนะนำเครื่องดังกล่าวสามารถจำลองโดยใช้เทปเดียว TM ยิ่งไปกว่านั้นมันสามารถทำได้เมื่อมีการชะลอตัวแบบสมการกำลังสองเท่านั้น (ดังนั้นสำหรับคลาสที่ปิดแบบโพลิโนเมียลก็เพียงพอแล้วที่จะพูดถึงเครื่องเทปเดี่ยว)
ข้อพิสูจน์สำหรับเรื่องนี้ค่อนข้างเกี่ยวข้องและสามารถค้นหาได้ง่ายด้วยเว็บดังนั้นฉันจะร่างภาพการทำแผนที่สำคัญของเทปไปยังเทปเดียวk
แนวคิดพื้นฐานค่อนข้างตรงไปตรงมา เราเพียงแค่เพิ่มสัญลักษณ์ใหม่ไม่กี่รายการและติดตามแต่ละเทปและนำหนึ่งส่วนต่อจากกัน ในแต่ละขั้นตอนของการคำนวณเราสามารถเข้าชมเทปได้เพียงจำนวน จำกัด เท่านั้นดังนั้นเราจึงจำเป็นต้องจัดเก็บข้อมูลมากมายเกี่ยวกับเทปแต่ละอันเท่านั้น ดังนั้นสำหรับเราเพิ่มสัญลักษณ์ใหม่ไปที่ซึ่งจะระบุตำแหน่งที่หัว (สำหรับแต่ละเทป) อยู่ที่จุดใดในการคำนวณ นอกจากนี้เรายังแนะนำอักขระตัวคั่นถึงซึ่งจะระบุจุดเริ่มต้นและจุดสิ้นสุดของเทป "เสมือน" รับอินพุตแกมมา_ Γ # Γ ω = ω 1 ... ω n # ω 1 _ ... ω n # ⊔ _ # ⊔ _ # ... # ⊔ _ # ⏟ k ส่วนหนึ่งต่อเทป ⊔ ⊔ ⊔ ⊔ ⊔ ⊔ ...γ∈Γγ––Γ#Γω=ω1…ωn(เราสามารถสันนิษฐานได้ว่าแม้ในเครื่องมัลติเทปทุกอินพุตอยู่ในเทปแรก - พิสูจน์ว่าทำไมการออกกำลังกายที่ดี) ในเครื่องมัลติเทปเครื่องเทปเดี่ยวของเราจะมีอินพุต
#ω1–––…ωn#⊔––#⊔––#…#⊔––#k sections, one per tape⊔⊔⊔⊔⊔⊔…
จากนั้นเราจะใช้สถานะของเครื่องเทปเดี่ยวเพื่อเข้ารหัสสิ่งที่สถานะของเครื่องมัลติเทปอยู่ในและสิ่งที่หัวกำลังมองหา ฟังก์ชั่นการเปลี่ยนภาพของเครื่องเทปเดี่ยวเป็นการจำลองแบบหลายขั้นตอนของฟังก์ชั่นการเปลี่ยนเทปแบบหลายเทปซึ่งเราทำการดำเนินการกับเทปต่าง ๆ อย่างเหมาะสมโดยเลื่อนขึ้นเทปเดี่ยวไปยังแต่ละส่วนตามลำดับ รอยย่นที่เหลืออยู่เพียงอย่างเดียวกำลังขยับทุกอย่างไปพร้อม ๆ กันเมื่อเรามีพื้นที่เหลืออยู่ในส่วน (แต่เครื่องย่อยนั้นเป็นแบบฝึกหัดง่ายๆ) - เราไม่เคยลดขนาดของแต่ละส่วนk
ตัวอย่างง่ายๆ (หวังว่า):
สมมติว่าเรามีเทป 3 TM ซึ่งตัวอักษรอินพุตเป็นเพียง , ตัวอักษรเทปคือและอินพุตคือ10101 สถานะเทปเริ่มต้นของเครื่องดูเหมือนว่า:
" " คือการแสดงตำแหน่งที่หัวอ่าน / เขียนอยู่บนแต่ละเทปΣ={0,1}Γ={0,1,⊔}ω=10101
Tape 1:Tape 2:Tape 3:1∧0101⊔⊔⊔…⊔∧⊔⊔⊔⊔⊔…⊔∧⊔⊔⊔⊔⊔…
∧
ในการสร้างเครื่องเทปเดี่ยวที่รวมกันเราจำเป็นต้องเพิ่มสัญลักษณ์ใหม่ให้กับตัวอักษรของเทป:
- เราต้องการสัญลักษณ์ที่แสดงถึงจุดเริ่มต้นและจุดสิ้นสุดของเทปจำลอง
- สำหรับสัญลักษณ์แต่ละตัวในเราจำเป็นต้องมีเวอร์ชันที่ระบุว่าหัวเทปจำลองอยู่ที่อักขระนั้นบนเทปจำลองΓ
ดังนั้นสำหรับเครื่องเดียวเทปเทปอักษรใหม่ของเราคือ\} สถานะเริ่มต้นของเทปคือ:
สังเกตความแตกต่างระหว่างส่วนหัวของเครื่อง ( ) และหัวจำลองของเทปจำลอง 3 ตัว (ตัวอักษรที่ขีดเส้นใต้) แน่นอนว่าเทปขยายไปทางขวาอย่างไม่ จำกัด เช่นเคย ฉันยังโกงอย่างอ่อนโยนด้วยการขยับหัวเทปไปที่อักขระตัวแรกบนสตริงแรก อย่างเคร่งครัดควรเริ่มจากเซลล์ซ้ายสุด แต่นี่เป็นเทคนิคเล็กน้อยΓ′={0,1,⊔,0–,1–,⊔––,#}
#1–∧0101#⊔––#⊔––#⊔⊔⊔…
∧
ดังนั้นเราจึงมีส่วนที่ทำเครื่องหมายไว้สามส่วน (ระหว่างเครื่องหมาย ) ซึ่งจะสอดคล้องกับ 3 เทปของเครื่องดั้งเดิม#
ตอนนี้เรามาทำการกระทำสำหรับเครื่อง สมมติว่าเครื่องต้นฉบับอ่านจากเทปแรกถ้ามันเห็นมันเขียนบนเทปที่สองถ้ามันเห็นมันเขียนบนเทปที่สาม ในการอ่านหรือเขียนแต่ละครั้งศีรษะจะเลื่อนไปทางขวา1101
ดังนั้นหลังจาก "ขั้นตอนแรก" (อาจต้องใช้หลายสถานะและช่วงการเปลี่ยนภาพในเครื่องจริง) เทปควรมีบนเทปที่สองและหัวแรกและที่สองจะย้ายขวาหนึ่งขั้นตอน:1
Tape 1:Tape 2:Tape 3:10∧101⊔⊔⊔…1⊔∧⊔⊔⊔⊔…⊔∧⊔⊔⊔⊔⊔…
ในรอบที่สองเทปแรกจะอ่านดังนั้นเราจึงเขียนไปยังเทปที่สามแทน:0
Tape 1:Tape 2:Tape 3:101∧01⊔⊔⊔…1⊔∧⊔⊔⊔⊔…1⊔∧⊔⊔⊔⊔…
เครื่องเทปเดี่ยวจำลองสิ่งนี้โดยการขีดเส้นใต้ (โดยใช้ตัวละครในอื่นและเขียนไปยังเทปจำลองที่เหมาะสมดังนั้นหลังจากขั้นตอนแรกเทปรวมจะมีลักษณะดังนี้:Γ′
#10–∧101#1⊔––#⊔––#⊔⊔⊔…
หลังจากขั้นตอนที่สอง:
#101–∧01#1⊔––#1⊔––#⊔⊔⊔…
แน่นอนว่านี่เป็นมุมมองระดับสูงของกระบวนการ - ฉันไม่ได้พยายามอธิบายวิธีสร้างสถานะหรือวิธีที่เทปจำลองแต่ละอันใช้เวลานานขึ้น (สำหรับสิ่งนี้คุณต้องมีกิจวัตรเล็กน้อยที่จะตรวจสอบว่า ในตอนท้ายของเทปจำลองแล้วย้ายทุกอย่างไปทางขวาหนึ่งขั้นตอนและบีบในช่องว่างใหม่ - นั่นคือจะเพิ่มเฉพาะเซลล์เทปจำลองเมื่อจำเป็นเท่านั้น)