उत्पादन (कंप्यूटर विज्ञान): Difference between revisions
(Created page with "{{Short description|Method of symbol substitution}} {{more references|date=November 2012}} कंप्यूटर विज्ञान में एक उत्पाद...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Method of symbol substitution}} | {{Short description|Method of symbol substitution}} | ||
कंप्यूटर विज्ञान में एक '''उत्पादन या उत्पादन नियम''' एक '[[पुनर्लेखन नियम]]' है। जो एक प्रतीक प्रतिस्थापन को निर्दिष्ट करता है। जिसे नए प्रतीक अनुक्रमों को उत्पन्न करने के लिए पुनरावर्ती रूप से निष्पादित किया जा सकता है। प्रस्तुतियों का सीमित समुच्चय <math>P</math> [[औपचारिक व्याकरण]] (विशेष रूप से एक [[उत्पादक व्याकरण]]) के विनिर्देशन में मुख्य घटक है। अन्य घटक परिमित समुच्चय हैं। <math>N</math> [[गैर-टर्मिनल प्रतीक|गैर-टर्मिनल प्रतीकों]] का एक परिमित समुच्चय (वर्णमाला के रूप में जाना जाता है) <math>\Sigma</math> [[टर्मिनल प्रतीक|टर्मिनल प्रतीकों]] की संख्या से समुच्चय करता है। जो विसंधित है। <math>N</math> एक विशिष्ट प्रतीक <math>S \in N</math> वह प्रारंभ प्रतीक है। | |||
कंप्यूटर विज्ञान में एक उत्पादन या उत्पादन नियम एक '[[पुनर्लेखन नियम]]' | |||
एक [[अप्रतिबंधित व्याकरण]] में, एक उत्पादन रूप का होता है <math>u \to v</math>, कहाँ <math>u</math> और <math>v</math> टर्मिनलों और गैर-टर्मिनलों के मनमाने तार हैं, और <math>u</math> [[खाली स्ट्रिंग]] नहीं हो सकता। अगर <math>v</math> खाली स्ट्रिंग है, इसे प्रतीक द्वारा दर्शाया गया है <math>\epsilon</math>, या <math>\lambda</math> (दाईं ओर खाली रहने के बजाय)। तो प्रोडक्शंस कार्टेशियन उत्पाद के सदस्य हैं | एक [[अप्रतिबंधित व्याकरण]] में, एक उत्पादन रूप का होता है <math>u \to v</math>, कहाँ <math>u</math> और <math>v</math> टर्मिनलों और गैर-टर्मिनलों के मनमाने तार हैं, और <math>u</math> [[खाली स्ट्रिंग]] नहीं हो सकता। अगर <math>v</math> खाली स्ट्रिंग है, इसे प्रतीक द्वारा दर्शाया गया है <math>\epsilon</math>, या <math>\lambda</math> (दाईं ओर खाली रहने के बजाय)। तो प्रोडक्शंस कार्टेशियन उत्पाद के सदस्य हैं | ||
Line 7: | Line 6: | ||
:<math>V^*NV^* \times V^* = (V^*\setminus\Sigma^*) \times V^*</math>, | :<math>V^*NV^* \times V^* = (V^*\setminus\Sigma^*) \times V^*</math>, | ||
कहाँ <math>V := N \cup \Sigma</math> शब्दावली है, <math>{}^{*}</math> [[क्लेन स्टार]] ऑपरेटर है, <math>V^*NV^*</math> जुड़ाव इंगित करता है, <math>\cup</math> [[संघ (सेट सिद्धांत)]] को दर्शाता है, और <math>\setminus</math> [[पूरक (सेट सिद्धांत)]] को दर्शाता है। अगर हम स्टार्ट सिंबल को अंदर आने की अनुमति नहीं देते हैं <math>v</math> (दाईं ओर का शब्द), हमें बदलना होगा <math>V^*</math> द्वारा <math>(V \setminus \{S\})^*</math> कार्तीय उत्पाद प्रतीक के दाईं ओर।<ref name="KR1994">See Klaus Reinhardt: [http://users.informatik.uni-halle.de/~ahyjb/dis.pdf Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen] {{Webarchive|url=https://web.archive.org/web/20180117143012/http://users.informatik.uni-halle.de/~ahyjb/dis.pdf |date=2018-01-17 }}; Fakultät Informatik der Universität Stuttgart; 1994 (German)</ref> | कहाँ <math>V := N \cup \Sigma</math> शब्दावली है, <math>{}^{*}</math> [[क्लेन स्टार]] ऑपरेटर है, <math>V^*NV^*</math> जुड़ाव इंगित करता है, <math>\cup</math> [[संघ (सेट सिद्धांत)|संघ (समुच्चय सिद्धांत)]] को दर्शाता है, और <math>\setminus</math> [[पूरक (सेट सिद्धांत)|पूरक (समुच्चय सिद्धांत)]] को दर्शाता है। अगर हम स्टार्ट सिंबल को अंदर आने की अनुमति नहीं देते हैं <math>v</math> (दाईं ओर का शब्द), हमें बदलना होगा <math>V^*</math> द्वारा <math>(V \setminus \{S\})^*</math> कार्तीय उत्पाद प्रतीक के दाईं ओर।<ref name="KR1994">See Klaus Reinhardt: [http://users.informatik.uni-halle.de/~ahyjb/dis.pdf Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen] {{Webarchive|url=https://web.archive.org/web/20180117143012/http://users.informatik.uni-halle.de/~ahyjb/dis.pdf |date=2018-01-17 }}; Fakultät Informatik der Universität Stuttgart; 1994 (German)</ref> | ||
[[चॉम्स्की पदानुक्रम]] में अन्य प्रकार के औपचारिक व्याकरण एक उत्पादन का गठन करने पर अतिरिक्त प्रतिबंध लगाते हैं। विशेष रूप से एक संदर्भ-मुक्त व्याकरण में, उत्पादन के बाईं ओर एक एकल गैर-टर्मिनल प्रतीक होना चाहिए। तो प्रोडक्शंस फॉर्म के हैं: | [[चॉम्स्की पदानुक्रम]] में अन्य प्रकार के औपचारिक व्याकरण एक उत्पादन का गठन करने पर अतिरिक्त प्रतिबंध लगाते हैं। विशेष रूप से एक संदर्भ-मुक्त व्याकरण में, उत्पादन के बाईं ओर एक एकल गैर-टर्मिनल प्रतीक होना चाहिए। तो प्रोडक्शंस फॉर्म के हैं: | ||
Revision as of 23:46, 28 February 2023
कंप्यूटर विज्ञान में एक उत्पादन या उत्पादन नियम एक 'पुनर्लेखन नियम' है। जो एक प्रतीक प्रतिस्थापन को निर्दिष्ट करता है। जिसे नए प्रतीक अनुक्रमों को उत्पन्न करने के लिए पुनरावर्ती रूप से निष्पादित किया जा सकता है। प्रस्तुतियों का सीमित समुच्चय औपचारिक व्याकरण (विशेष रूप से एक उत्पादक व्याकरण) के विनिर्देशन में मुख्य घटक है। अन्य घटक परिमित समुच्चय हैं। गैर-टर्मिनल प्रतीकों का एक परिमित समुच्चय (वर्णमाला के रूप में जाना जाता है) टर्मिनल प्रतीकों की संख्या से समुच्चय करता है। जो विसंधित है। एक विशिष्ट प्रतीक वह प्रारंभ प्रतीक है।
एक अप्रतिबंधित व्याकरण में, एक उत्पादन रूप का होता है , कहाँ और टर्मिनलों और गैर-टर्मिनलों के मनमाने तार हैं, और खाली स्ट्रिंग नहीं हो सकता। अगर खाली स्ट्रिंग है, इसे प्रतीक द्वारा दर्शाया गया है , या (दाईं ओर खाली रहने के बजाय)। तो प्रोडक्शंस कार्टेशियन उत्पाद के सदस्य हैं
- ,
कहाँ शब्दावली है, क्लेन स्टार ऑपरेटर है, जुड़ाव इंगित करता है, संघ (समुच्चय सिद्धांत) को दर्शाता है, और पूरक (समुच्चय सिद्धांत) को दर्शाता है। अगर हम स्टार्ट सिंबल को अंदर आने की अनुमति नहीं देते हैं (दाईं ओर का शब्द), हमें बदलना होगा द्वारा कार्तीय उत्पाद प्रतीक के दाईं ओर।[1] चॉम्स्की पदानुक्रम में अन्य प्रकार के औपचारिक व्याकरण एक उत्पादन का गठन करने पर अतिरिक्त प्रतिबंध लगाते हैं। विशेष रूप से एक संदर्भ-मुक्त व्याकरण में, उत्पादन के बाईं ओर एक एकल गैर-टर्मिनल प्रतीक होना चाहिए। तो प्रोडक्शंस फॉर्म के हैं:
व्याकरण पीढ़ी
भाषा में एक स्ट्रिंग उत्पन्न करने के लिए, एक स्ट्रिंग के साथ शुरू होता है जिसमें केवल एक ही प्रारंभ प्रतीक होता है, और फिर इस स्ट्रिंग को फिर से लिखने के लिए क्रमिक रूप से नियम (किसी भी समय, किसी भी क्रम में) को लागू करता है। यह तब रुकता है जब हमें एक स्ट्रिंग मिलती है जिसमें केवल टर्मिनल होते हैं। भाषा में वे सभी तार होते हैं जिन्हें इस तरह से उत्पन्न किया जा सकता है। इस पुनर्लेखन प्रक्रिया के दौरान लिए गए कानूनी विकल्पों का कोई विशेष क्रम भाषा में एक विशेष स्ट्रिंग उत्पन्न करता है। यदि इस एकल तार को उत्पन्न करने के कई अलग-अलग तरीके हैं, तो व्याकरण को अस्पष्ट व्याकरण कहा जाता है।
उदाहरण के लिए, मान लें कि वर्णमाला में शामिल हैं और , प्रारंभ प्रतीक के साथ , और हमारे पास निम्नलिखित नियम हैं:
- 1.
- 2.
फिर हम साथ शुरू करते हैं , और उस पर लागू करने के लिए कोई नियम चुन सकते हैं. यदि हम नियम 1 चुनते हैं, तो हम प्रतिस्थापित करते हैं साथ और स्ट्रिंग प्राप्त करें . यदि हम नियम 1 को फिर से चुनते हैं, तो हम प्रतिस्थापित करते हैं साथ और स्ट्रिंग प्राप्त करें . यह प्रक्रिया तब तक दोहराई जाती है जब तक कि हमारे पास केवल वर्णमाला के प्रतीक न हों (अर्थात, और ). यदि हम अब नियम 2 चुनते हैं, तो हम प्रतिस्थापित करते हैं साथ और स्ट्रिंग प्राप्त करें , और कर दिए गए हैं। हम प्रतीकों का उपयोग करके विकल्पों की इस श्रृंखला को और संक्षेप में लिख सकते हैं: . व्याकरण की भाषा उन सभी स्ट्रिंग्स का समूह है जो इस प्रक्रिया का उपयोग करके उत्पन्न की जा सकती हैं: .
यह भी देखें
- औपचारिक व्याकरण
- परिमित ऑटोमेटा
- जनरेटिव व्याकरण
- एल प्रणाली
- पुनर्लेखन नियम
- बैकस-नौर रूप (संदर्भ-मुक्त व्याकरण की प्रस्तुतियों को लिखने के लिए एक संक्षिप्त रूप।)
- वाक्यांश संरचना नियम
- पोस्ट कैनोनिकल सिस्टम (एमिल पोस्ट की प्रोडक्शन सिस्टम- गणना का एक मॉडल।)
संदर्भ
- ↑ See Klaus Reinhardt: Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen Archived 2018-01-17 at the Wayback Machine; Fakultät Informatik der Universität Stuttgart; 1994 (German)