मैं पुनरावर्ती और पुनरावर्ती असंख्य भाषाओं की कई परिभाषाओं में आया हूं। लेकिन मैं काफी समझ नहीं पाया कि वे क्या हैं।
क्या कोई मुझे बता सकता है कि वे सरल शब्दों में क्या हैं?
मैं पुनरावर्ती और पुनरावर्ती असंख्य भाषाओं की कई परिभाषाओं में आया हूं। लेकिन मैं काफी समझ नहीं पाया कि वे क्या हैं।
क्या कोई मुझे बता सकता है कि वे सरल शब्दों में क्या हैं?
जवाबों:
ज़रुरी नहीं। आपको कुछ किताबें पढ़नी चाहिए। शायद हम कुछ सुझा सकते हैं।
अगर कोई ट्यूरिंग मशीन हमेशा "हां" या "नहीं" का जवाब दे सकती है, तो एक भाषा पुनरावर्ती होती है, यदि कोई स्ट्रिंग इस भाषा का हिस्सा है। अगर हम भाषा के तार के लिए "हां" कहने के लिए इस आवश्यकता को उठाते हैं (यह हमेशा के लिए चल सकता है अगर ऐसा नहीं है) तो हमारे पास एक पुनरावर्ती भाषा है। यह देखना मुश्किल नहीं है, कि ट्यूरिंग मशीन द्वारा एक पुनरावर्ती भाषा का निर्णय लिया जा सकता है, जबकि एक पुनरावर्ती रूप से अभिगम्य भाषा में इसके तार सूचीबद्ध हो सकते हैं (उदाहरण के लिए, समानांतर में ट्यूरिंग मशीनों की एक अनंत संख्या चलाकर - हाँ यह संभव है, देखें कबूतर-पूंछिंग - वर्णमाला के सभी तारों पर, और इसी टीएम को स्वीकार करते हुए एक स्ट्रिंग को आउटपुट करना)। कई, कई समान परिभाषाएं हैं।
यदि कोई मशीन उत्तर की गणना कर सकती है तो एक समस्या पुनरावर्ती या निर्णायक है ।
एक समस्या यह है रिकर्सिवली इन्युमरेबल या है semidecidable अगर एक मशीन आश्वस्त किया जा सकता है कि इसका जवाब सकारात्मक है।
एक भाषा सिर्फ तार का एक सेट है। संभवतः अनंत कार्डिनलिटी।
यदि कोई TM मौजूद है, जो भाषा का पुनरावर्ती है, तो भाषा पुनरावर्ती होती है, जो भाषा से संबंधित तार (और केवल ऐसे तार) का उत्पादन करती है, जैसे कि अंततः भाषा का प्रत्येक स्ट्रिंग आउटपुट में होगा।
एक भाषा पुनरावर्ती है अगर, उपरोक्त टीएम न केवल भाषा के सभी तारों का आउटपुट करता है, बल्कि इसे क्रम में भी करता है! (कहते हैं, शाब्दिक रूप से)।
मुझे यकीन है कि आप आसानी से पुनरावर्ती भाषाओं के बारे में सोच सकते हैं (और एक टीएम का निर्माण कर सकते हैं जो उन्हें आदेश द्वारा आउटपुट करता है)। जब तक आप अनिर्दिष्टता और विकृति के बारे में कुछ और नहीं पढ़ते हैं, तब तक पुनरावर्ती गणनीय भाषाओं (जो पुनरावर्ती नहीं हैं) के साथ आना काफी मुश्किल है। लेकिन ऐसी भाषाएं मौजूद नहीं हैं।
पुनरावर्ती भाषाएं कुछ ट्यूरिंग मशीन द्वारा अस्वीकार्य हैं, अर्थात, एक टीएम है जो किसी भी इनपुट स्ट्रिंग (उपयुक्त वर्णमाला के ऊपर) को सही ढंग से उत्तर दे सकती है यदि स्ट्रिंग भाषा में है, या नहीं तो यह नहीं है।
रिकर्सिवली एन्युमरेबल लैंग्वेज को ही पहचाना जाता है, यानी, एक ट्यूरिंग मशीन मौजूद होती है, जो स्ट्रिंग को भाषा में होने पर स्वीकार कर लेती है, लेकिन यह हमेशा के लिए लूप हो सकती है यदि स्ट्रिंग लैंग्वेज में नहीं है।
मुझे लगता है कि पुनरावर्ती और पुनरावर्ती भाषाओं के बीच मुख्य अंतर यह है कि पुनरावर्ती ट्यूरिंग मशीन गैर-अंतिम स्थिति में आती है अगर यह एक स्ट्रिंग को स्वीकार नहीं करती है
पुनरावृत्ति करने योग्य ट्यूरिंग मशीन यदि यह एक स्ट्रिंग को स्वीकार नहीं करती है तो गैर-अंतिम स्थिति या लूप में हमेशा के लिए रुक सकती है जो पुनरावर्ती भाषाओं के लिए नहीं है।
==> एक भाषा पुनरावर्ती है यदि कोई ट्यूरिंग मशीन मौजूद है जो भाषा में प्रत्येक स्ट्रिंग को स्वीकार करती है और यदि भाषा में नहीं है तो इसे अस्वीकार कर देती है। उदाहरण के लिए ट्यूरिंग मशीन M और स्ट्रिंग w को लेने देता है: यदि स्ट्रिंग w ट्यूरिंग मशीन M का सदस्य है, तो M अपनी अंतिम अवस्था में रुक जाता है अन्यथा यह गणना को अस्वीकार कर देता है। ==> ==> अगर कोई ट्यूरिंग मशीन मौजूद है, तो कोई भाषा पुनरावर्ती है जो भाषा में प्रत्येक स्ट्रिंग को स्वीकार करती है और अस्वीकार करती है यदि यह भाषा में नहीं है तो यह हमेशा के लिए लूप हो सकती है। उदाहरण के लिए, ट्यूरिंग मशीन M और स्ट्रिंग w को लेने देता है: यदि स्ट्रिंग w भाषा में है, तो M अपनी अंतिम स्थिति में रुक जाता है। अन्यथा यह गणना को खारिज कर देता है या हमेशा के लिए चलाया जा सकता है।