रिकर्सिवली एन्युमरेबल लैंग्वेज: Difference between revisions

From Vigyanwiki
Line 9: Line 9:
पुनरावर्ती रूप से गणना योग्य भाषा की तीन समकक्ष परिभाषाएँ हैं:
पुनरावर्ती रूप से गणना योग्य भाषा की तीन समकक्ष परिभाषाएँ हैं:


# एक पुनरावर्ती रूप से गणना योग्य भाषा औपचारिक भाषा के वर्णमाला (कंप्यूटर विज्ञान) पर सभी संभावित शब्दों के [[सबसेट]] (गणित) में एक पुनरावर्ती रूप से गणना योग्य सेट उपसमुच्चय है।
# एक पुनरावर्ती रूप से गणना योग्य भाषा जो वर्णमाला पर सभी संभावित शब्दों के [[सबसेट|सेट]] (गणित) में एक पुनरावर्ती रूप से गणना योग्य उपसमुच्चय है।
# पुनरावर्ती गणना योग्य भाषा एक औपचारिक भाषा है जिसके लिए एक ट्यूरिंग मशीन (या अन्य गणना योग्य फ़ंक्शन) मौजूद है जो भाषा के सभी वैध स्ट्रिंग्स की गणना करेगी। ध्यान दें कि यदि भाषा अनंत है, तो प्रदान किए गए गणना एल्गोरिदम को चुना जा सकता है ताकि यह दोहराव से बचा जा सके, क्योंकि हम परीक्षण कर सकते हैं कि संख्या n के लिए उत्पादित स्ट्रिंग पहले से ही उस संख्या के लिए बनाई गई है जो n से कम है। यदि यह पहले से ही निर्मित है, तो इसके बजाय इनपुट n+1 के लिए आउटपुट का उपयोग करें (पुनरावर्ती रूप से), लेकिन फिर से, परीक्षण करें कि क्या यह नया है।
# पुनरावर्ती गणना योग्य भाषा एक औपचारिक भाषा है जिसके लिए एक ट्यूरिंग मशीन (या अन्य गणना योग्य फ़ंक्शन) मौजूद है जो भाषा के सभी वैध स्ट्रिंग्स की गणना करेगी। ध्यान दें कि यदि भाषा अनंत है, तो प्रदान किए गए गणना एल्गोरिदम को चुना जा सकता है ताकि यह दोहराव से बचा जा सके, क्योंकि हम परीक्षण कर सकते हैं कि संख्या n के लिए उत्पादित स्ट्रिंग पहले से ही उस संख्या के लिए बनाई गई है जो n से कम है। यदि यह पहले से ही निर्मित है, तो इसके बजाय इनपुट n+1 के लिए आउटपुट का उपयोग करें (पुनरावर्ती रूप से), लेकिन फिर से, परीक्षण करें कि क्या यह नया है।
# पुनरावर्ती रूप से गणना योग्य भाषा एक औपचारिक भाषा है जिसके लिए एक ट्यूरिंग मशीन (या अन्य गणना योग्य फ़ंक्शन) मौजूद है जो इनपुट के रूप में भाषा में किसी भी [[शाब्दिक स्ट्रिंग]] के साथ प्रस्तुत होने पर रुक जाएगी और स्वीकार कर लेगी लेकिन प्रस्तुत किए जाने पर या तो रुक सकती है और अस्वीकार कर सकती है या हमेशा के लिए लूप कर सकती है एक स्ट्रिंग भाषा में नहीं है. इसकी तुलना पुनरावर्ती भाषाओं से करें, जिसके लिए आवश्यक है कि ट्यूरिंग मशीन सभी मामलों में रुक जाए।
# पुनरावर्ती रूप से गणना योग्य भाषा एक औपचारिक भाषा है जिसके लिए एक ट्यूरिंग मशीन (या अन्य गणना योग्य फ़ंक्शन) मौजूद है जो इनपुट के रूप में भाषा में किसी भी [[शाब्दिक स्ट्रिंग]] के साथ प्रस्तुत होने पर रुक जाएगी और स्वीकार कर लेगी लेकिन प्रस्तुत किए जाने पर या तो रुक सकती है और अस्वीकार कर सकती है या हमेशा के लिए लूप कर सकती है एक स्ट्रिंग भाषा में नहीं है. इसकी तुलना पुनरावर्ती भाषाओं से करें, जिसके लिए आवश्यक है कि ट्यूरिंग मशीन सभी मामलों में रुक जाए।

Revision as of 12:29, 20 July 2023

गणित, तर्क और कंप्यूटर विज्ञान में, एक औपचारिक भाषा को पुनरावर्ती रूप से गणना योग्य (पहचानने योग्य, आंशिक रूप से निर्णय लेने योग्य, अर्धनिर्णय योग्य, ट्यूरिंग-स्वीकार्य या ट्यूरिंग-पहचानने योग्य) कहा जाता है यदि यह सभी संभावित शब्दों के सेट (गणित) में पुनरावर्ती रूप से गणना योग्य सेट है भाषा की वर्णमाला (कंप्यूटर विज्ञान), यानी, यदि कोई ट्यूरिंग मशीन मौजूद है जो भाषा के सभी वैध तारों की गणना करेगी।

औपचारिक भाषाओं के चॉम्स्की पदानुक्रम में पुनरावर्ती रूप से गणना योग्य भाषाओं को टाइप-0 भाषाओं के रूप में जाना जाता है। सभी नियमित भाषा, संदर्भ-मुक्त व्याकरण|संदर्भ-मुक्त, संदर्भ-संवेदनशील भाषा|संदर्भ-संवेदनशील और पुनरावर्ती भाषा भाषाएँ पुनरावर्ती रूप से गणना योग्य हैं।

सभी पुनरावर्ती रूप से गणना योग्य भाषाओं के वर्ग को आरई (जटिलता) कहा जाता है।

परिभाषाएँ

पुनरावर्ती रूप से गणना योग्य भाषा की तीन समकक्ष परिभाषाएँ हैं:

  1. एक पुनरावर्ती रूप से गणना योग्य भाषा जो वर्णमाला पर सभी संभावित शब्दों के सेट (गणित) में एक पुनरावर्ती रूप से गणना योग्य उपसमुच्चय है।
  2. पुनरावर्ती गणना योग्य भाषा एक औपचारिक भाषा है जिसके लिए एक ट्यूरिंग मशीन (या अन्य गणना योग्य फ़ंक्शन) मौजूद है जो भाषा के सभी वैध स्ट्रिंग्स की गणना करेगी। ध्यान दें कि यदि भाषा अनंत है, तो प्रदान किए गए गणना एल्गोरिदम को चुना जा सकता है ताकि यह दोहराव से बचा जा सके, क्योंकि हम परीक्षण कर सकते हैं कि संख्या n के लिए उत्पादित स्ट्रिंग पहले से ही उस संख्या के लिए बनाई गई है जो n से कम है। यदि यह पहले से ही निर्मित है, तो इसके बजाय इनपुट n+1 के लिए आउटपुट का उपयोग करें (पुनरावर्ती रूप से), लेकिन फिर से, परीक्षण करें कि क्या यह नया है।
  3. पुनरावर्ती रूप से गणना योग्य भाषा एक औपचारिक भाषा है जिसके लिए एक ट्यूरिंग मशीन (या अन्य गणना योग्य फ़ंक्शन) मौजूद है जो इनपुट के रूप में भाषा में किसी भी शाब्दिक स्ट्रिंग के साथ प्रस्तुत होने पर रुक जाएगी और स्वीकार कर लेगी लेकिन प्रस्तुत किए जाने पर या तो रुक सकती है और अस्वीकार कर सकती है या हमेशा के लिए लूप कर सकती है एक स्ट्रिंग भाषा में नहीं है. इसकी तुलना पुनरावर्ती भाषाओं से करें, जिसके लिए आवश्यक है कि ट्यूरिंग मशीन सभी मामलों में रुक जाए।

सभी नियमित भाषा, संदर्भ-मुक्त भाषा|संदर्भ-मुक्त, संदर्भ-संवेदनशील भाषा|संदर्भ-संवेदनशील और पुनरावर्ती भाषा भाषाएँ पुनरावर्ती रूप से गणना योग्य हैं।

पोस्ट के प्रमेय से पता चलता है कि 'आरई (जटिलता)', इसके पूरक (जटिलता) सह-आरई के साथ, अंकगणितीय पदानुक्रम के पहले स्तर के अनुरूप है।

उदाहरण

ट्यूरिंग मशीनों को रोकने का सेट पुनरावर्ती रूप से गणना योग्य है किंतु पुनरावर्ती नहीं है। वास्तव में, कोई ट्यूरिंग मशीन चला सकता है और यदि मशीन रुकती है तो उसे स्वीकार कर सकता है, इसलिए यह पुनरावर्ती रूप से गणना योग्य है। दूसरी ओर समस्या अनिर्णीत है।

कुछ अन्य पुनरावर्ती रूप से गणना योग्य भाषाएँ जो पुनरावर्ती नहीं हैं उनमें सम्मिलित हैं:

संवृत्त गुण

पुनरावर्ती गणना योग्य भाषाएँ (आरईएल) निम्नलिखित परिचालनों के अंतर्गत संवृत्त हैं। अर्थात्, यदि L और P दो पुनरावर्ती रूप से गणना योग्य भाषाएँ हैं तो निम्नलिखित भाषाएँ भी पुनरावर्ती रूप से गणना योग्य हैं:

पुनरावर्ती रूप से गणना योग्य भाषाएँ सेट अंतर या पूरकता के अंतर्गत संवृत्त नहीं होती हैं। यदि पुनरावर्ती है तो सेट अंतर पुनरावर्ती रूप से गणना योग्य है। यदि पुनरावर्ती रूप से गणना योग्य है, तो का पूरक पुनरावर्ती रूप से गणना योग्य है यदि और केवल यदि भी पुनरावर्ती है।

यह भी देखें

  • गणनायोग्य सेट
  • पुनरावर्तन

संदर्भ

  • Sipser, M. (1996), Introduction to the Theory of Computation, PWS Publishing Co.
  • Kozen, D.C. (1997), Automata and Computability, Springer.


बाहरी संबंध