संक्षेप में : ट्यूरिंग मशीन (बारीक रूप से निर्दिष्ट) अनंत गणना कर सकती है (बारीक रूप से निर्दिष्ट) अनंत डेटा और (अंतिम रूप से निर्दिष्ट) अनंत परिणाम। मूल विचार यह है कि उन शिशुओं को परिमित संस्थाओं की सीमा के रूप में परिभाषित किया जा सकता है, गणितीय रूप से उपयुक्त तरीके से परिभाषित किया गया है। यह गणना के गणितीय शब्दार्थ का आधार है। यदि आप ट्यूरिंग मशीनों के बजाय कार्यक्रमों पर विचार करते हैं, तो इन कार्यक्रमों में अनंत (निर्दिष्ट रूप से) अनंत डेटा-संरचनाएं भी हो सकती हैं। fact
एक संभावित एल्गोरिथ्म के रूप में सारणीबद्ध फ़ंक्शन के मामले को अंत में, एक कार्यक्रम के रूप में, या एक टीएम मॉडल के रूप में, अनंत वस्तुओं के आलसी मूल्यांकन के साथ संबंध के बारे में संकेत दिया जाता है।
कई और विवरणों के साथ
आपके अंतिम प्रश्न के बारे में, एक टीएम मनमानी संख्याओं पर गणना नहीं करता है, लेकिन इन संख्याओं के प्रतीकात्मक प्रतिनिधित्व के रूप में मनमाने ढंग से (बिना रुके) प्रतीकों का लंबा तार उनका प्रतिनिधित्व करता है। मोडुलो उचित एन्कोडिंग, यह सही है कि वे इन अभ्यावेदन के माध्यम से अंक के साथ अंकगणित की तुलना या कर सकते हैं।
लेकिन मूल प्रश्न सामान्य रूप से ट्यूरिंग मशीनों में अनंत की भूमिका के बारे में है।
इस प्रश्न का एक सामान्य उत्तर यह है कि ट्यूरिंग मशीनें कभी भी अनंतता से नहीं निपटती हैं। वे सूक्ष्मता से परिभाषित होते हैं, और जो कुछ भी वे गणना करते हैं, वह परिमित समय में टेप के परिमित भाग पर गणना की जाती है (इसलिए एक परिमित टेप जो बड़ा होता है वह पर्याप्त होगा)। यह सच है कि टीएम की अंतरिक्ष की आवश्यकता का समय अबाधित है, जो अनंत के समान नहीं है।
इसलिए, टीएम द्वारा गणना किए गए किसी भी उत्तर की गणना एक परिमित-राज्य ऑटोमेटन (एफएसए) द्वारा की जा सकती है, जो कि सारणीयन को देखने का एक तरीका "कुछ हद तक" है। वहाँ कठिनाई यह है कि कुछ इनपुट आकार (यह लगभग हमेशा उस पर आता है, यदि केवल इनपुट को पढ़ने के लिए) ऑटोमेटन के आकार से अधिक हो जाएगा। लेकिन फिर, हम सिर्फ एक बड़ा उपयोग कर सकते हैं। इसलिए यदि हम अनबाउंड इनपुट आकार पर विचार करना चाहते हैं, तो हमें एफएसए के एक अनंत अनुक्रम की आवश्यकता होती है जो गणना कर सकता है। वास्तव में हमें पारंपरिक एफएसए की तुलना में एक परिमित-राज्य मशीन थोड़ी अधिक जटिल हो सकती है क्योंकि गणना करने के लिए आउटपुट हो सकता है (हां-ना के जवाब के बजाय), लेकिन एक परिमित राज्य ट्रांसड्यूसर को शायद ऐसा करना चाहिए।
इसलिए, यदि हम एक ऐसी समस्या को देख रहे हैं, जिसमें अनंत उदाहरण हैं, जैसे कि GCD की गणना करना, या केवल मनमाने आकार के पूर्णांक पर अंकगणित का उपयोग करना, तो हम देखते हैं कि अनंतता पीछे के दरवाजे से होकर हमारे पास आ रही है, क्योंकि यह अनंत है एफएसए का सेट।
लेकिन एक और समस्या है। उपरोक्त विश्लेषण तभी काम करता है जब हम उन संगणनाओं पर विचार करते हैं जो किसी परिणाम के साथ समाप्त होती हैं। लेकिन सभी टीएम ऐसा नहीं करते हैं। कुछ अनंत सेट के सदस्यों की गणना कर सकते हैं। यह आमतौर पर एक TM के लिए मामला है जो की दशमलव की गणना करता हैπऔर अनिश्चित काल तक नया जोड़ते रहें। बेशक, यह एक परिमित समय में केवल एक परिमित उत्तर की गणना करता है, लेकिन हम जिस चीज में रुचि रखते हैं वह वास्तव में एक अनंत संगणना द्वारा निर्मित अनंत अनुक्रम है। ध्यान दें कि अब हमारे पास अनंत के दो पहलू हैं: गणना की अनंतता, और परिणाम की अनंतता (कुछ गणना किए गए डेटा के साधन)। वास्तव में यह भी अनंत इनपुट पर विचार करने के लिए नेतृत्व कर सकता है ... लेकिन हमें इस जटिलता को नजरअंदाज करना चाहिए, जो डेटा के निर्बाध धाराओं से संबंधित है। यह भी ध्यान दें कि ऐसी गणनाएँ जो हाँ के अलावा एक आउटपुट देती हैं
फिर, हम उस को परिमित मशीनों के साथ परिमित संगणना के अनंत क्रम से बदल सकते हैं। लेकिन क्या हम धोखा दे रहे हैं।
एक भौतिक दृष्टिकोण से, वह सबसे अच्छा है जो हम कर सकते हैं। हम केवल यह जानते हैं कि भौतिक मशीनों का निर्माण कैसे किया जाता है, कम से कम भौतिकी में कला की वर्तमान स्थिति के अनुसार, जो कि निकट भविष्य में उस मुद्दे पर बहुत अधिक परिवर्तन की उम्मीद नहीं है।
लेकिन हम गणितीय दृष्टि से उन शिशुओं को कैसे सुसंगत और ट्रैक्टेबल तरीके से संभाल सकते हैं।
जब आप एफएसए के एक अनंत सेट पर विचार करते हैं जो उत्तर के अनंत सेट की गणना करने के लिए सहयोग कर सकते हैं, तो आप इसे मनमाने ढंग से नहीं कर सकते। आपको यह सुनिश्चित करने के लिए कुछ सुरक्षा उपायों की आवश्यकता होती है कि आप क्या कर रहे हैं। यह सर्वविदित है कि आप नियमित रूप से अनंत सेटों के साथ किसी भी सेट का निर्माण कर सकते हैं, वास्तव में एकल सेटों के एक अनंत संघ के साथ। तो, बिना किसी प्रतिबंध के ऑटोमेटा की मनमानी अनंत यूनियनों पर विचार करना आपको कहीं नहीं ले जाएगा। आप एक ही सेट ऑटोमेटा में भी विचार करते हैं जो आपको असंगत उत्तर देता है।
आप वास्तव में जो चाहते हैं, वह स्थिरता की धारणा को परिभाषित करता है। लेकिन इसके लिए कुछ सावधानियों की आवश्यकता होती है। चलिए हम मान लेते हैं कि आप ऑटोमेटा के अनंत अनुक्रम का उपयोग कर रहे हैं ताकि टीएम का जवाब दिया जा सके जो हां या ना में उत्तर देता है, या रुकता नहीं है। समस्या यह है कि एक एफएसए हमेशा एक उत्तर के साथ रुकेगा, जैसे कि हां या नहीं। लेकिन अगर आप एक एफएसए का उपयोग करते हैं जो वास्तव में चुने हुए इनपुट के लिए काफी बड़ा नहीं है, तो इसका क्या जवाब देना चाहिए। दोनों हाँ और नहीं उन मामलों के लिए आरक्षित हैं जब एफएसए ने वास्तव में टीएम अभिकलन को समाप्त कर दिया था, और इन जवाबों में से एक का अधूरा गणना के साथ उपयोग करने से केवल भ्रम पैदा होगा। आप जो चाहते हैं वह एक उत्तर है जो कहता है: " क्षमा करें, मैं बहुत छोटा हूं और मैं नहीं बता सकता। कृपया परिवार के किसी बड़े व्यक्ति के साथ प्रयास करें "। दूसरे शब्द में आप एक उत्तर चाहते हैं जैसे कि
अतिप्रवाह , या पता नहीं। वास्तव में इसे शब्दार्थवादियों द्वारा " अपरिभाषित " या " नीचे " भी कहा जाता है और अक्सर लिखा जाता है "⊥"।
तो आपको ऑटोमेटा की आवश्यकता है जिसमें 3 प्रकार के राज्य हैं: स्वीकार करना, गैर-स्वीकार करना, और अपरिभाषित। एक अपरिभाषित राज्य को ऑटोमेटन के एक लापता हिस्से के लिए खड़े राज्य के रूप में देखा जा सकता है जो रुकने के लिए मजबूर करता है। इसलिए, जब अभिकलन रुकता है, तो उस स्थिति के आधार पर यह रुक जाता है, आपको उत्तर हां , नहीं या अपरिभाषित मिलता है ।
अब, आप देखते हैं कि आप जो चाहते हैं वह ऑटोमेटा के अनंत क्रम हैं जो सुसंगत हैं । हां और नहीं दोनों अपरिभाषित के अनुरूप हैं
, लेकिन हां नहीं के अनुरूप नहीं है । तब दो ऑटोमेटा संगत होते हैं जब वे एक ही इनपुट पर लगातार जवाब देते हैं।
इसे ऑटोमेटा तक बढ़ाया जा सकता है जो अन्य प्रकार के उत्तरों की गणना करता है। उदाहरण के लिए यदि वे रंगों की गणना करते हैं, जैसे कि लाल, नीला, हरा ..., तो आप अपरिभाषित रंग जोड़ सकते हैं जो अन्य सभी के अनुरूप है। यदि उत्तर अंकों का एक अनंत क्रम है, जैसे कि उनमें सेπ, तो प्रत्येक अंक लगातार और स्वतंत्र रूप से अपरिभाषित द्वारा प्रतिस्थापित किया जा सकता है ताकि ३.१४ ⊥ ⊥ ⊥ ⊥ । । । के साथ संगत है 3.1415 ⊥ ⊥ ⊥ ⊥ । । । और साथ
⊥ । ⊥ 5159 ⊥ ⊥ ⊥ ⊥ । । ।, लेकिन बाद के दो के अनुरूप नहीं हैं 3.1416 ⊥ ⊥ ⊥ ⊥ । । ।। वास्तव में, इस अर्थ में,3.1416 ⊥ ⊥ ⊥ ⊥ । । । का कोई अनुमान नहीं है π। हम कहते हैं कि एक उत्तर को दूसरे की तुलना में बेहतर ढंग से परिभाषित किया जाता है जब उसमें वह सभी जानकारी होती है जो दूसरे में पाई जा सकती है, और संभवतः अधिक। यह वास्तव में एक आंशिक आदेश है।
मैं इन सैद्धांतिक पहलुओं को और विकसित नहीं करूंगा, जो ट्यूरिंग मशीनों के आधार पर थोड़ा अजीब है। मुद्दा यह है कि ये अवधारणाएँ इस विचार को जन्म देती हैं कि अभिकलन डोमेन (चाहे डेटा या मशीनें) हों, गणितीय संरचनाएँ जैसे कि लैटिस, जिसमें अनंत वस्तु को पर्याप्त रूप से असीम रूप से बढ़ने की सीमा के रूप में परिभाषित किया जा सकता है (यानी बेहतर और बेहतर परिभाषित क्रम) परिमित वस्तुएं। अनंत अनुक्रमों को परिभाषित करने के लिए कुछ और तंत्र और निरंतरता की धारणा की आवश्यकता होती है। यह मौलिक रूप से दाना स्कॉट के शब्दार्थ के सिद्धांत के बारे में है, और यह कम्प्यूटेबिलिटी की अवधारणाओं के बारे में कुछ अलग दृष्टिकोण देता है।
फिर, ट्यूरिंग मशीन, या अन्य औपचारिक उपकरण जो "अनंत गणना" कर सकते हैं, उन्हें मशीनों के परिमित सन्निकटन के अनुक्रम की सीमा के रूप में परिभाषित किया जा सकता है, जो बेहतर और बेहतर परिभाषित हैं। इनपुट या आउटपुट, मशीनों के साथ जो भी डेटा गणना करता है, उसके लिए भी यही सच है।
इस पर मैंने जो सबसे सरल दस्तावेज़ पढ़ा, वह डाना स्कॉट द्वारा व्याख्यान नोट्स का एक हाथ से लिखा सेट है, जिसे अक्सर एम्स्टर्डम व्याख्यान नोट्स के रूप में संदर्भित किया जाता है। लेकिन मैं इसे वेब पर नहीं पा सका। किसी भी सूचक को एक प्रतिलिपि (यहां तक कि अधूरा है, जैसा कि मेरे पास इसका हिस्सा है) का स्वागत किया जाएगा। लेकिन आप स्कॉट द्वारा अन्य प्रारंभिक प्रकाशनों को देख सकते हैं जैसे कि
आउटलाइन ऑफ़ ए गणितीय थ्योरी ऑफ़ कम्प्यूटेशन ।
प्रश्न के प्रारंभिक उदाहरण पर वापस जाएं
ये सन्निकटन अवधारणाएँ डेटा के साथ-साथ कार्यक्रमों पर भी लागू होती हैं। फ़ंक्शन fact
को पुनरावर्ती रूप से परिभाषित किया गया है, जिसका अर्थ है कि यह एक कार्यात्मक का सबसे कम निश्चित बिंदु है जिसका उपयोग एक अनुक्रम गणना करने के लिए किया जा सकता है fact
। अधिक से अधिक परिभाषित परिमित कार्यों का यह क्रम एक अनंत इकाई में परिवर्तित होता है जिसे आप फ़ंक्शन कहते हैं fact
।
लेकिन अगर आप ऐरे लुकअप का उपयोग करते हैं, तो आप बिलकुल वैसा ही कर सकते हैं, जिसमें आपके कोड में बड़े और बड़े टेबल होते हैं, जो प्री-कॉम्पट्यूटेड वैल्यूज़ की अनंत तालिका के सभी परिमित सन्निकटन होते हैं fact
। इनमें से प्रत्येक सरणी वास्तव में किसी भी पूर्णांक के लिए एक उत्तर दे सकती है, लेकिन उत्तर हो सकता है⊥( अपरिभाषित ) जब तालिका को पर्याप्त रूप से परिभाषित नहीं किया जाता है (बड़ा पर्याप्त)। टेबल लुक-अप एल्गोरिथ्म को भी अनुमानों के अनुक्रम द्वारा परिभाषित किया जाना चाहिए, क्योंकि यह एक अनंत तालिका के साथ गणना करता है।
यह सच है कि, यदि आप गणना के प्राथमिक TM मॉडल पर विचार करते हैं, तो इस तरह के अनंत सरणी को उस औपचारिकता में व्यक्त नहीं किया जा सकता है। इसका यह मतलब नहीं है कि इसका कोई मतलब नहीं होगा। ट्यूरिंग मशीन में एक दूसरा टेप हो सकता है जिसे कुछ कार्यों के सारणीबद्ध मानों के साथ आरंभ किया जाना चाहिए fact
। यह TM की कम्प्यूटेशनल पावर को नहीं बदलता है, जब तक कि फ़ंक्शन एक कम्प्यूटेबल है, यानी जब तक कि तालिका को किसी अन्य TM की अनंत गणना के साथ आरंभीकृत किया जा सकता है जो संबंधित फ़ंक्शन के लिए सभी तर्क-मान जोड़े की गणना कर सकता है।
लेकिन व्यवहार में, आप एक अनंत गणना पूरी नहीं कर सकते। इसलिए इसे करने का सही तरीका यह है कि मेज पर आलसी की गणना की जाए, अर्थात केवल जरूरत पड़ने पर ही प्रविष्टियाँ भरें। ठीक वही है जो संस्मरण के साथ किया जाता है, जो उत्तर मैंने आपको दिया है, जो आपके पिछले प्रश्न के लिए, अलग-अलग औचित्य के साथ है।