अनरिस्ट्रिक्टेड ग्रामर
ऑटोमेटा सिद्धांत में, अप्रतिबंधित व्याकरणों का वर्ग (जिसे सेमी-थ्यू, टाइप-0 या वाक्यांश संरचना व्याकरण भी कहा जाता है) चॉम्स्की पदानुक्रम में व्याकरणों का सबसे सामान्य वर्ग है। अप्रतिबंधित व्याकरण के निर्माण पर कोई प्रतिबंध नहीं लगाया गया है, सिवाय इसके कि उनका प्रत्येक बायां पक्ष गैर-रिक्त है।[1]: 220 यह व्याकरण वर्ग मनमाने ढंग से पुनरावर्ती रूप से गणना योग्य भाषाएँ उत्पन्न कर सकता है।
औपचारिक परिभाषा
अप्रतिबंधित व्याकरण एक औपचारिक व्याकरण है , कहाँ
- नॉनटर्मिनल प्रतीक का एक सीमित सेट है,
- टर्मिनल प्रतीकों का एक सीमित सेट है और असंयुक्त सेट,[note 1]
- प्रपत्र के उत्पादन (कंप्यूटर विज्ञान) का एक सीमित सेट है कहाँ और में प्रतीकों की पंक्तियाँ हैं और खाली स्ट्रिंग नहीं है, और
- एक विशेष रूप से नामित प्रारंभ प्रतीक है।[1]: 220
जैसा कि नाम से पता चलता है, अप्रतिबंधित व्याकरण के उत्पादन नियमों के प्रकारों पर कोई वास्तविक प्रतिबंध नहीं है।[note 2]
ट्यूरिंग मशीनों के समतुल्य
अप्रतिबंधित व्याकरण पुनरावर्ती रूप से गणना योग्य भाषाओं की विशेषता बताते हैं। यह प्रत्येक अप्रतिबंधित व्याकरण के लिए ऐसा कहने जैसा ही है पहचानने में सक्षम कुछ ट्यूरिंग मशीन मौजूद है और इसके विपरीत। अप्रतिबंधित व्याकरण को देखते हुए, ऐसी ट्यूरिंग मशीन का निर्माण दो-टेप गैर-नियतात्मक ट्यूरिंग मशीन के रूप में करना काफी सरल है।[1]: 221 पहले टेप में इनपुट शब्द है परीक्षण किया जाना है, और दूसरे टेप का उपयोग मशीन द्वारा Formal_grammar#Some_mathematical_constructs_regarding_Formal_Grammars उत्पन्न करने के लिए किया जाता है . ट्यूरिंग मशीन तब निम्नलिखित कार्य करती है:
- दूसरे टेप के बाईं ओर से प्रारंभ करें और बार-बार दाईं ओर जाने का चयन करें या टेप पर वर्तमान स्थिति का चयन करें।
- गैर-नियतात्मक एल्गोरिदम एक उत्पादन चुनें में प्रस्तुतियों से .
- अगर दूसरे टेप पर किसी स्थान पर दिखाई देता है, बदलें द्वारा उस बिंदु पर, संभवतः टेप पर प्रतीकों को सापेक्ष लंबाई के आधार पर बाएँ या दाएँ स्थानांतरित करना और (उदा. यदि से अधिक लम्बा है , टेप प्रतीकों को बाईं ओर शिफ्ट करें)।
- टेप 2 पर परिणामी वाक्यात्मक रूप की तुलना टेप 1 पर शब्द से करें। यदि वे मेल खाते हैं, तो ट्यूरिंग मशीन शब्द को स्वीकार कर लेती है। यदि वे ऐसा नहीं करते हैं, तो ट्यूरिंग मशीन चरण 1 पर वापस चली जाएगी।
यह देखना आसान है कि यह ट्यूरिंग मशीन सभी और केवल भावनात्मक रूपों को उत्पन्न करेगी अंतिम चरण के बाद इसके दूसरे टेप पर मनमाने ढंग से कई बार क्रियान्वित किया जाता है, इस प्रकार भाषा पुनरावर्ती रूप से गणना योग्य होना चाहिए।
विपरीत निर्माण भी संभव है. कुछ ट्यूरिंग मशीन को देखते हुए, एक समतुल्य अप्रतिबंधित व्याकरण बनाना संभव है[1]: 222 जो केवल उन प्रस्तुतियों का उपयोग करता है जिनके बाईं ओर एक या अधिक गैर-टर्मिनल प्रतीक होते हैं। इसलिए, एक मनमाना अप्रतिबंधित व्याकरण को हमेशा ट्यूरिंग मशीन में परिवर्तित करके और फिर से बाद वाले फॉर्म का पालन करने के लिए समान रूप से परिवर्तित किया जा सकता है। कुछ लेखक[citation needed] अप्रतिबंधित व्याकरण की परिभाषा के रूप में बाद वाले फॉर्म का उपयोग करें।
कम्प्यूटेशनल गुण
किसी दिए गए स्ट्रिंग का निर्णय समस्या किसी दिए गए अप्रतिबंधित व्याकरण द्वारा उत्पन्न किया जा सकता है, यह इस समस्या के बराबर है कि क्या इसे व्याकरण के समकक्ष ट्यूरिंग मशीन द्वारा स्वीकार किया जा सकता है। बाद वाली समस्या को हॉल्टिंग समस्या कहा जाता है और यह अनिर्णीत है।
पुनरावर्ती रूप से गणना योग्य भाषाएं क्लेन स्टार के तहत क्लोजर (गणित), स्ट्रिंग्स के सेटों का कॉनटेनेशन # कॉन्टेनेशन, यूनियन (सेट सिद्धांत), और इंटरसेक्शन (सेट सिद्धांत) हैं, लेकिन सेट अंतर के तहत नहीं; पुनरावर्ती रूप से गणना योग्य भाषा#बंद गुण देखें।
ट्यूरिंग मशीनों के लिए अप्रतिबंधित व्याकरणों की समानता एक सार्वभौमिक अप्रतिबंधित व्याकरण के अस्तित्व को दर्शाती है, एक व्याकरण जो भाषा का विवरण दिए जाने पर किसी भी अन्य अप्रतिबंधित व्याकरण की भाषा को स्वीकार करने में सक्षम है। इस कारण से, अप्रतिबंधित व्याकरण (जैसे [[थ्यू (प्रोग्रामिंग भाषा)]]) के आधार पर एक प्रोग्रामिंग भाषा बनाना सैद्धांतिक रूप से संभव है।
यह भी देखें
- लैम्ब्डा कैलकुलस
- सेमी-थू प्रणाली - टर्मिनल और नॉनटर्मिनल प्रतीकों में अंतर नहीं करता है, खाली बाएं हाथ को स्वीकार करता है
टिप्पणियाँ
- ↑ Actually, is not strictly necessary since unrestricted grammars make no real distinction between the two. The designation exists purely so that one knows when to stop generating sentential forms of the grammar; more precisely, the language recognized by is restricted to strings of terminal symbols.
- ↑ While Hopcroft and Ullman (1979) do not mention the cardinalities of , , explicitly, the proof of their Theorem 9.3 (construction of an equivalent Turing machine from a given unrestricted grammar, p.221, cf. Section #Equivalence to Turing machines) tacitly requires finiteness of and finite lengths of all strings in rules of . Any member of or that does not occur in can be omitted without affecting the generated language.
संदर्भ
- ↑ 1.0 1.1 1.2 1.3 Hopcroft, John; Ullman, Jeffrey D. (1979). Introduction to Automata Theory, Languages, and Computation (1st ed.). Addison-Wesley. ISBN 0-201-44124-1.