एक जवाब बेशर्मी से खुद को कॉपी किया :
एक बहु-टेप ट्यूरिंग मशीन ज्यादातर सिंगल-टेप मशीन के समान होती है, सिवाय इसके कि हमारे पास एक विस्तारित संक्रमण फ़ंक्शन जहां टेपों की संख्या है। इसलिए प्रत्येक राज्य में, संक्रमण फ़ंक्शन प्रत्येक टेप की सामग्री को पढ़ता है, एक नए राज्य में जाता है, (हो सकता है) प्रत्येक टेप पर कुछ लिखता है और प्रत्येक सिर को स्थानांतरित करता है - बस एक नियमित TM के रूप में, अब हमारे पास पढ़ने के लिए और अधिक चीजें हैं, लिखने के लिए और चलते हैं।Q×Γk→Q×Γk×{L,R}kk
जैसा कि आपका सवाल बताता है, इस तरह की मशीन को सिंगल-टेप टीएम द्वारा नकली किया जा सकता है । इससे भी बेहतर, यह केवल द्विघात मंदी के साथ किया जा सकता है (इसलिए बहुपदीय रूप से बंद कक्षाओं के लिए, यह एकल-टेप मशीनों के बारे में बात करने के लिए पर्याप्त है)।
इसके लिए प्रमाण कुछ हद तक शामिल है, और एक सरल वेब खोज के साथ आसानी से उपलब्ध है, इसलिए मैं बस एक टेप पर टेप की कुंजी मैपिंग को स्केच करूँगा ।k
मूल विचार बहुत सीधा है; हम बस कुछ नए प्रतीकों को जोड़ते हैं और प्रत्येक टेप और एक के बाद एक को ट्रैक करते हैं। गणना में प्रत्येक चरण पर हम केवल किसी भी टेप की एक सीमित राशि का दौरा कर सकते हैं, इसलिए हमें केवल प्रत्येक टेप के बारे में इतनी जानकारी संग्रहीत करने की आवश्यकता है। इस प्रकार प्रत्येक हम एक नया प्रतीक को जोड़ते हैं, जो संकेत देगा कि सिर (प्रत्येक टेप के लिए) गणना में किसी भी बिंदु पर है। हम एक विभाजक वर्ण को भी जो "वर्चुअल" टेप के प्रारंभ और अंत का संकेत देगा। दिए गए इनपुटγ∈Γγ––Γ#Γω=ω1…ωn(हम मान सकते हैं कि मल्टी-टेप मशीन पर भी इनपुट का पहला टेप है - यह साबित करते हुए कि एक अच्छा व्यायाम क्यों है) मल्टी-टेप मशीन पर, हमारे सिंगल-टेप मशीन में इनपुट
#ω1–––…ωn#⊔––#⊔––#…#⊔––#k sections, one per tape⊔⊔⊔⊔⊔⊔…
हम तब सिंगल-टेप मशीन की स्थिति का उपयोग करते हैं ताकि यह पता लगाया जा सके कि मल्टी-टेप मशीन किस स्थिति में है और सिर क्या देख रहे हैं। एकल-टेप मशीन का संक्रमण फ़ंक्शन मल्टी-टेप संक्रमण फ़ंक्शन का एक मल्टीस्टेज सिमुलेशन है, जहां हम अलग-अलग टेप क्रियाओं को उचित रूप से निष्पादित करते हैं , बारी-बारी से प्रत्येक अनुभाग में एकल टेप को स्थानांतरित करते हैं। जब हम एक खंड में अंतरिक्ष से बाहर निकलते हैं तो केवल झुर्रियाँ ही सब कुछ बदल देती हैं (लेकिन इस तरह की एक उप-मशीन एक सरल व्यायाम है) - हम कभी भी प्रत्येक खंड के आकार को कम नहीं करते हैं।k
ए (उम्मीद है) सरल उदाहरण:
मान लें कि हमारे पास एक 3-टेप TM है, जहां इनपुट वर्णमाला सिर्फ , टेप वर्णमाला और इनपुट । मशीन का प्रारंभिक टेप राज्य इस तरह दिखता है:
" " यह दर्शाता है कि प्रत्येक टेप पर रीड / राइट हेड कहां है।Σ={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⊔––#⊔⊔⊔…
बेशक यह प्रक्रिया का एक उच्च स्तरीय दृश्य है - मैंने यह समझाने का प्रयास नहीं किया है कि राज्यों का निर्माण कैसे किया जाता है, या प्रत्येक नकली टेप कैसे लंबा हो जाता है (इसके लिए, आपको थोड़ी सी दिनचर्या की आवश्यकता है जो आपके द्वारा चलाने पर जाँच करता है। सिम्युलेटेड टेप का अंत, फिर सब कुछ एक कदम के साथ दाईं ओर ले जाता है और एक नए रिक्त में निचोड़ देता है - (जब वे आवश्यक हो तो केवल नकली टेप सेल जोड़ता है)।