"1-टेप" ट्यूरिंग मशीन के एकल टेप में "के-टेप" ट्यूरिंग मशीन के टेप को कैसे मैप करें


11

मैं Sipser पढ़ रहा हूं और मुझे यह समझने में मुश्किल हो रही है कि क्या प्रक्रिया ऐसी है कि अगर आप मुझे k टेप के साथ Turing Machines देते हैं, तो मैं केवल एक टेप के साथ बराबर Turing मशीन को थूक सकता हूं। एक उदाहरण अच्छा होगा। वास्तव में, एक काम किया हुआ उदाहरण जो दिखाता है कि टीएम से कैसे जाना जाता है जिसके पास टेप हैं जो 1 टेप है जो मैं वास्तव में देख रहा हूं। मैं अब तक एक खोजने में असमर्थ रहा हूं। मैं भी किसी सबूत की तलाश में नहीं हूं।k


"एक समतुल्य मशीन" से आपका क्या अभिप्राय है? इनपुट क्या है और आउटपुट क्या है? (शायद आप के साथ एक ट्यूरिंग मशीन का मतलब टेप?)k
युवाल Filmus

हाँ। कश्मीर टेप के साथ एक मोड़ मशीन।
user678392

जवाबों:


17

एक जवाब बेशर्मी से खुद को कॉपी किया :

एक बहु-टेप ट्यूरिंग मशीन ज्यादातर सिंगल-टेप मशीन के समान होती है, सिवाय इसके कि हमारे पास एक विस्तारित संक्रमण फ़ंक्शन जहां टेपों की संख्या है। इसलिए प्रत्येक राज्य में, संक्रमण फ़ंक्शन प्रत्येक टेप की सामग्री को पढ़ता है, एक नए राज्य में जाता है, (हो सकता है) प्रत्येक टेप पर कुछ लिखता है और प्रत्येक सिर को स्थानांतरित करता है - बस एक नियमित TM के रूप में, अब हमारे पास पढ़ने के लिए और अधिक चीजें हैं, लिखने के लिए और चलते हैं।Q×ΓkQ×Γk×{L,R}kk

जैसा कि आपका सवाल बताता है, इस तरह की मशीन को सिंगल-टेप टीएम द्वारा नकली किया जा सकता है । इससे भी बेहतर, यह केवल द्विघात मंदी के साथ किया जा सकता है (इसलिए बहुपदीय रूप से बंद कक्षाओं के लिए, यह एकल-टेप मशीनों के बारे में बात करने के लिए पर्याप्त है)।

इसके लिए प्रमाण कुछ हद तक शामिल है, और एक सरल वेब खोज के साथ आसानी से उपलब्ध है, इसलिए मैं बस एक टेप पर टेप की कुंजी मैपिंग को स्केच करूँगा ।k

मूल विचार बहुत सीधा है; हम बस कुछ नए प्रतीकों को जोड़ते हैं और प्रत्येक टेप और एक के बाद एक को ट्रैक करते हैं। गणना में प्रत्येक चरण पर हम केवल किसी भी टेप की एक सीमित राशि का दौरा कर सकते हैं, इसलिए हमें केवल प्रत्येक टेप के बारे में इतनी जानकारी संग्रहीत करने की आवश्यकता है। इस प्रकार प्रत्येक हम एक नया प्रतीक को जोड़ते हैं, जो संकेत देगा कि सिर (प्रत्येक टेप के लिए) गणना में किसी भी बिंदु पर है। हम एक विभाजक वर्ण को भी जो "वर्चुअल" टेप के प्रारंभ और अंत का संकेत देगा। दिए गए इनपुटγΓγ_Γ#Γω=ω1ωn(हम मान सकते हैं कि मल्टी-टेप मशीन पर भी इनपुट का पहला टेप है - यह साबित करते हुए कि एक अच्छा व्यायाम क्यों है) मल्टी-टेप मशीन पर, हमारे सिंगल-टेप मशीन में इनपुट

#ω1_ωn#_#_##_#k sections, one per tape

हम तब सिंगल-टेप मशीन की स्थिति का उपयोग करते हैं ताकि यह पता लगाया जा सके कि मल्टी-टेप मशीन किस स्थिति में है और सिर क्या देख रहे हैं। एकल-टेप मशीन का संक्रमण फ़ंक्शन मल्टी-टेप संक्रमण फ़ंक्शन का एक मल्टीस्टेज सिमुलेशन है, जहां हम अलग-अलग टेप क्रियाओं को उचित रूप से निष्पादित करते हैं , बारी-बारी से प्रत्येक अनुभाग में एकल टेप को स्थानांतरित करते हैं। जब हम एक खंड में अंतरिक्ष से बाहर निकलते हैं तो केवल झुर्रियाँ ही सब कुछ बदल देती हैं (लेकिन इस तरह की एक उप-मशीन एक सरल व्यायाम है) - हम कभी भी प्रत्येक खंड के आकार को कम नहीं करते हैं।k

ए (उम्मीद है) सरल उदाहरण:

मान लें कि हमारे पास एक 3-टेप TM है, जहां इनपुट वर्णमाला सिर्फ , टेप वर्णमाला और इनपुट । मशीन का प्रारंभिक टेप राज्य इस तरह दिखता है: " " यह दर्शाता है कि प्रत्येक टेप पर रीड / राइट हेड कहां है।Σ={0,1}Γ={0,1,}ω=10101

Tape 1:10101Tape 2:Tape 3:

संयुक्त एकल-टेप मशीन के निर्माण के लिए, हमें टेप वर्णमाला में नए प्रतीकों को जोड़ने की आवश्यकता है:

  1. हमें एक प्रतीक की आवश्यकता है जो सिम्युलेटेड टेप के प्रारंभ और अंत को दर्शाएगा
  2. प्रत्येक प्रतीक के लिए हमें एक संस्करण की भी आवश्यकता होती है जो इंगित करता है कि सिम्युलेटेड टेप का सिर नकली टेप पर उस वर्ण पर है।Γ

तो सिंगल-टेप मशीन के लिए, हमारी नई टेप वर्णमाला । टेप की प्रारंभिक स्थिति यह है: मशीन के सिर ( ) और 3 नकली टेप (रेखांकित वर्ण) के नकली सिर के बीच अंतर पर ध्यान दें । बेशक टेप हमेशा की तरह अनंत तक फैली हुई है। मैंने टेप सिर को पहले स्ट्रिंग पर पहले चरित्र पर ले जाकर हल्के से धोखा दिया है; कड़ाई से इसे सबसे बाईं ओर शुरू करना चाहिए, लेकिन यह एक तुच्छ तकनीकी है।Γ={0,1,,0_,1_,_,#}

#1_0101#_#_#

तो हमारे पास तीन चिह्नित अनुभाग हैं ( निशान के बीच ), जो मूल मशीन के 3 टेपों के अनुरूप होगा।#

अब मशीन के लिए एक कार्रवाई करते हैं। मान लीजिए कि मूल मशीन पहले टेप से पढ़ती है, अगर यह देखती है, तो यह दूसरे टेप पर लिखती है , अगर यह देखती है तो यह तीसरे टेप पर लिखती है । प्रत्येक पढ़ने या लिखने पर, सिर दाईं ओर बढ़ता है।1101

इसलिए पहले "कदम" (शायद वास्तविक मशीन में कई राज्यों और बदलावों की आवश्यकता होती है) के बाद, टेपों में दूसरे टेप पर होना चाहिए , और पहले और दूसरे सिर में सही एक कदम होगा:1

Tape 1:10101Tape 2:1Tape 3:

दूसरे के चारों ओर जाने पर, पहला टेप पढ़ता है , इसलिए हम इसके बजाय तीसरे टेप को लिखते हैं:0

Tape 1:10101Tape 2:1Tape 3:1

सिंगल-टेप मशीन अंडरलाइन को स्थानांतरित करके ( में वर्णों के वैकल्पिक संस्करण का उपयोग करके और उपयुक्त सिम्युलेटेड टेप पर लिखकर अनुकरण करती है। इसलिए पहले चरण के बाद, संयुक्त टेप जैसा दिखता है:Γ

#10_101#1_#_#

दूसरे चरण के बाद:

#101_01#1_#1_#

बेशक यह प्रक्रिया का एक उच्च स्तरीय दृश्य है - मैंने यह समझाने का प्रयास नहीं किया है कि राज्यों का निर्माण कैसे किया जाता है, या प्रत्येक नकली टेप कैसे लंबा हो जाता है (इसके लिए, आपको थोड़ी सी दिनचर्या की आवश्यकता है जो आपके द्वारा चलाने पर जाँच करता है। सिम्युलेटेड टेप का अंत, फिर सब कुछ एक कदम के साथ दाईं ओर ले जाता है और एक नए रिक्त में निचोड़ देता है - (जब वे आवश्यक हो तो केवल नकली टेप सेल जोड़ता है)।


2
वैकल्पिक रूप से, एक ही स्थान में एक दूसरे के बगल में अलग टेप लिखने के लिए अलग " ट्रैक्स " का उपयोग करें । हालांकि इसमें एक नए वर्णमाला का ते परिचय शामिल है।
हेंड्रिक जन

2
@ user678392 पूर्ण विस्तार से निर्माण के माध्यम से जा रहा है और यह सब यहाँ लिखने में कम से कम कुछ घंटे लगेंगे। यदि आप यह भी समझाने की कोशिश नहीं कर रहे हैं कि आपको कौन सा हिस्सा समझ में नहीं आ रहा है, तो किसी को आपकी ओर से इतना काम क्यों नहीं करना चाहिए? और अगर कोई करे तो क्या करे? क्या आप केवल यह कहने जा रहे हैं, "मैं इसे नहीं समझता। कोई और इसे करता है?"
डेविड रिचरबी

1
@ user678392 धन्यवाद। और, बस स्पष्ट करने के लिए, क्या यह वह अंग्रेजी है जिसमें आपको कठिनाई हो रही है (यानी, मदद की संभावना है) या आपको स्पष्टीकरण में अधिक विस्तार की आवश्यकता है?
डेविड रिचेर्बी

1
@ user678392, मैंने रूपांतरण के पहले चरणों के उच्च-स्तरीय दृश्य और टेप पर व्यावहारिक आउटपुट का उदाहरण जोड़ा है। मैंने इस बात पर चर्चा करने से परहेज किया है कि राज्यों के नए सेट का निर्माण कैसे किया जाए, क्योंकि यह बहुत जटिल है और आपको Sipser या इससे मिलते-जुलते तरीके से बेहतर स्पष्टीकरण नहीं मिलेगा - यह स्वाभाविक रूप से काल्पनिक और गणितीय है।
ल्यूक मैथिसन

1
@RomaKarageorgievich ऐसा लगता है कि पिछले 5 वर्षों में कई स्पष्ट सबूत गायब हो गए हैं (इंटरनेट पर भरोसा न करें: डी)। मैंने जो सबसे स्पष्ट पाया है वह यहाँ है (चेतावनी, .doc फ़ाइल!)। मार्टिन की "भाषा का परिचय और अभिकलन का सिद्धांत" में प्रमाण काफी अच्छा है, यदि आपके पास उस पुस्तक तक पहुंच है (4 वें संस्करण में पृष्ठ 244।)। Sipser के "अभिकलन के सिद्धांत का परिचय" में प्रमाण पर्याप्त है (तृतीय संस्करण में पृष्ठ संख्या 177)।
ल्यूक मैथिसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.