पुशडाउन ऑटोमेटन: Difference between revisions

From Vigyanwiki
(Created page with "{{short description|Type of automaton}} {{More citations needed|date=April 2022}} {{Automata theory}} गणना के सिद्धांत में, सैद्ध...")
 
No edit summary
Line 1: Line 1:
{{short description|Type of automaton}}
{{short description|Type of automaton}}
{{More citations needed|date=April 2022}}
{{Automata theory}}
{{Automata theory}}
गणना के सिद्धांत में, [[सैद्धांतिक कंप्यूटर विज्ञान]] की एक शाखा, एक पुशडाउन ऑटोमेटन (पीडीए) है
गणना के सिद्धांत में, [[सैद्धांतिक कंप्यूटर विज्ञान]] की एक शाखा, एक पुशडाउन ऑटोमेटन (पीडीए) है
Line 16: Line 15:
# यह संक्रमण निष्पादित करने के भाग के रूप में स्टैक में हेरफेर कर सकता है।
# यह संक्रमण निष्पादित करने के भाग के रूप में स्टैक में हेरफेर कर सकता है।


एक पुशडाउन ऑटोमेटन किसी दिए गए इनपुट स्ट्रिंग को बाएं से दाएं पढ़ता है। प्रत्येक चरण में, यह इनपुट प्रतीक, वर्तमान स्थिति और स्टैक के शीर्ष पर प्रतीक द्वारा तालिका को अनुक्रमित करके एक संक्रमण चुनता है। <!---wrong, or at least strongly misleading, for properly nondeterministic PDA:---This means that those three parameters completely determine the transition path that is chosen.---><!---don't know what this sentence is supposed to mean:---Pushdown automata add the stack as a parameter for choice.---> ट्रांज़िशन निष्पादित करने के भाग के रूप में, एक पुशडाउन ऑटोमेटन स्टैक में हेरफेर भी कर सकता है। हेरफेर किसी विशेष प्रतीक को स्टैक के शीर्ष पर धकेलने या स्टैक के शीर्ष को पॉप करने के लिए हो सकता है। ऑटोमेटन वैकल्पिक रूप से स्टैक को अनदेखा कर सकता है, और इसे वैसे ही छोड़ सकता है। <!---misleading for properly nondeterministic PDA:---The choice of manipulation (or no manipulation) is determined by the transition table.--->
एक पुशडाउन ऑटोमेटन किसी दिए गए इनपुट स्ट्रिंग को बाएं से दाएं पढ़ता है। प्रत्येक चरण में, यह इनपुट प्रतीक, वर्तमान स्थिति और स्टैक के शीर्ष पर प्रतीक द्वारा तालिका को अनुक्रमित करके एक संक्रमण चुनता है। ट्रांज़िशन निष्पादित करने के भाग के रूप में, एक पुशडाउन ऑटोमेटन स्टैक में हेरफेर भी कर सकता है। हेरफेर किसी विशेष प्रतीक को स्टैक के शीर्ष पर धकेलने या स्टैक के शीर्ष को पॉप करने के लिए हो सकता है। ऑटोमेटन वैकल्पिक रूप से स्टैक को अनदेखा कर सकता है, और इसे वैसे ही छोड़ सकता है।  
एक साथ रखें: एक इनपुट प्रतीक, वर्तमान स्थिति और स्टैक प्रतीक को देखते हुए, ऑटोमेटन किसी अन्य राज्य में संक्रमण का पालन कर सकता है, और वैकल्पिक रूप से स्टैक में हेरफेर (पुश या पॉप) कर सकता है।
एक साथ रखें: एक इनपुट प्रतीक, वर्तमान स्थिति और स्टैक प्रतीक को देखते हुए, ऑटोमेटन किसी अन्य राज्य में संक्रमण का पालन कर सकता है, और वैकल्पिक रूप से स्टैक में हेरफेर (पुश या पॉप) कर सकता है।


यदि, हर स्थिति में, अधिकतम एक ऐसी संक्रमण क्रिया संभव है, तो ऑटोमेटन को [[नियतात्मक पुशडाउन ऑटोमेटन]] (DPDA) कहा जाता है। सामान्य तौर पर, यदि कई क्रियाएं संभव हैं, तो ऑटोमेटन को सामान्य, या गैर-नियतात्मक, पीडीए कहा जाता है। एक दी गई इनपुट स्ट्रिंग एक गैर-नियतात्मक पुशडाउन ऑटोमेटन को कई कॉन्फ़िगरेशन अनुक्रमों में से एक में चला सकती है; यदि उनमें से एक पूरी इनपुट स्ट्रिंग को पढ़ने के बाद एक स्वीकार्य कॉन्फ़िगरेशन की ओर ले जाता है, तो बाद वाले को ''ऑटोमेटन द्वारा स्वीकृत भाषा'' से संबंधित माना जाता है।
यदि, हर स्थिति में, अधिकतम एक ऐसी संक्रमण क्रिया संभव है, तो ऑटोमेटन को [[नियतात्मक पुशडाउन ऑटोमेटन]] (DPDA) कहा जाता है। सामान्य तौर पर, यदि कई क्रियाएं संभव हैं, तो ऑटोमेटन को सामान्य, या गैर-नियतात्मक, पीडीए कहा जाता है। एक दी गई इनपुट स्ट्रिंग एक गैर-नियतात्मक पुशडाउन ऑटोमेटन को कई कॉन्फ़िगरेशन अनुक्रमों में से एक में चला सकती है; यदि उनमें से एक पूरी इनपुट स्ट्रिंग को पढ़ने के बाद एक स्वीकार्य कॉन्फ़िगरेशन की ओर ले जाता है, तो बाद वाले को ''ऑटोमेटन द्वारा स्वीकृत भाषा'' से संबंधित माना जाता है।
<!---has been said more precisely above:---Nondeterministic PDAs are able to handle situations where more than one choice of action is available.---><!---पता नहीं इन अनुच्छेदों का क्या मतलब है; ऑटोमेटा अपने ऑपरेशन के दौरान 'इंस्टेंस' नहीं बनाते हैं; पीडीए एक सैद्धांतिक मॉडल है, कार्यान्वयन की समस्याएं यहां कोई मुद्दा नहीं हैं, इसके बजाय अर्ली पार्सर, एलआर पार्सर इत्यादि देखें---: सिद्धांत रूप में, यह पर्याप्त है{{clarify|date=December 2016}} ऐसे प्रत्येक मामले में नए ऑटोमेटन उदाहरण बनाने के लिए जो अतिरिक्त विकल्पों को संभालेंगे।
संक्रमण संबंध
 
== औपचारिक परिभाषा ==
हम मानक औपचारिक भाषा संकेतन का उपयोग करते हैं: <math>\Gamma^{*}</math> वर्णमाला के ऊपर परिमित-लंबाई वाली [[स्ट्रिंग (कंप्यूटर विज्ञान)]] के सेट को दर्शाता है <math>\Gamma</math> और <math>\varepsilon</math> [[खाली स्ट्रिंग]] को दर्शाता है.
 
पीडीए को औपचारिक रूप से 7-टुपल के रूप में परिभाषित किया गया है:
 
<math>M=(Q, \Sigma, \Gamma, \delta, q_{0}, Z, F)</math>
कहाँ
 
*<math>Q</math> राज्यों का एक सीमित समूह है
*<math>\Sigma</math> एक परिमित समुच्चय है जिसे इनपुट वर्णमाला कहा जाता है
*<math>\Gamma</math> एक परिमित समुच्चय है जिसे स्टैक वर्णमाला कहा जाता है
*<math>\delta</math> का एक परिमित उपसमुच्चय है <math>Q \times (\Sigma \cup \{\varepsilon\}) \times \Gamma \times Q \times \Gamma^*</math>,<!---don't change "\times" to "\rightarrow": \delta is not a function, but a relation, i.a. a subset of a cartesian product---> संक्रमण संबंध
*<math>q_{0} \in Q </math> प्रारंभ अवस्था है
*<math>q_{0} \in Q </math> प्रारंभ अवस्था है
*<math>Z \in \Gamma</math> प्रारंभिक स्टैक प्रतीक है
*<math>Z \in \Gamma</math> प्रारंभिक स्टैक प्रतीक है
*<math>F \subseteq Q</math> स्वीकार करने वाले राज्यों का समूह है
*<math>F \subseteq Q</math> स्वीकार करने वाले राज्यों का समूह है


तत्व <math>(p,a,A,q,\alpha) \in \delta</math> का संक्रमण है <math>M</math>. इसका अभिप्राय यह है कि <math>M</math>, राज्य में <math>p \in Q</math>, इनपुट पर <math>a \in \Sigma \cup \{\varepsilon\}</math> और साथ <math>A \in \Gamma</math> सबसे ऊपरी स्टैक प्रतीक के रूप में, पढ़ सकते हैं <math>a</math>, राज्य को बदलें <math>q</math>, जल्दी से आना <math>A</math>, इसे धक्का देकर प्रतिस्थापित करें <math>\alpha \in \Gamma^*</math>. <math>(\Sigma \cup \{\varepsilon\})</math> h> संक्रमण संबंध के घटक का उपयोग यह औपचारिक बनाने के लिए किया जाता है कि पीडीए या तो इनपुट से एक पत्र पढ़ सकता है, या इनपुट को अछूता छोड़कर आगे बढ़ सकता है।{{citation needed|date=January 2019}}
तत्व <math>(p,a,A,q,\alpha) \in \delta</math> का संक्रमण है <math>M</math>. इसका अभिप्राय यह है कि <math>M</math>, राज्य में <math>p \in Q</math>, इनपुट पर <math>a \in \Sigma \cup \{\varepsilon\}</math> और साथ <math>A \in \Gamma</math> सबसे ऊपरी स्टैक प्रतीक के रूप में, पढ़ सकते हैं <math>a</math>, राज्य को बदलें <math>q</math>, जल्दी से आना <math>A</math>, इसे धक्का देकर प्रतिस्थापित करें <math>\alpha \in \Gamma^*</math>. <math>(\Sigma \cup \{\varepsilon\})</math> h> संक्रमण संबंध के घटक का उपयोग यह औपचारिक बनाने के लिए किया जाता है कि पीडीए या तो इनपुट से एक पत्र पढ़ सकता है, या इनपुट को अछूता छोड़कर आगे बढ़ सकता है।
   
   
अनेक ग्रंथों में<ref name="Hopcroft.Ullman.1979"/>{{rp|110}}<!---more ref.s needed to substantiate 'many'---> संक्रमण संबंध को एक (समतुल्य) औपचारिकता द्वारा प्रतिस्थापित किया जाता है, जहां
अनेक ग्रंथों में<ref name="Hopcroft.Ullman.1979"/>{{rp|110}} संक्रमण संबंध को एक (समतुल्य) औपचारिकता द्वारा प्रतिस्थापित किया जाता है, जहां


* <math>\delta</math> संक्रमण फ़ंक्शन, मैपिंग है <math>Q \times (\Sigma \cup \{\varepsilon\}) \times \Gamma</math> के परिमित उपसमुच्चय में <math>Q \times \Gamma^*</math>
* <math>\delta</math> संक्रमण फ़ंक्शन, मैपिंग है <math>Q \times (\Sigma \cup \{\varepsilon\}) \times \Gamma</math> के परिमित उपसमुच्चय में <math>Q \times \Gamma^*</math>
Line 64: Line 50:


प्रमेय. प्रत्येक पुशडाउन ऑटोमेटन के लिए <math>M</math> कोई पुशडाउन ऑटोमेटन का निर्माण कर सकता है <math>M'</math> ऐसा है कि <math>L(M)=N(M')</math>, और इसके विपरीत, प्रत्येक पुशडाउन ऑटोमेटन के लिए <math>M</math> कोई पुशडाउन ऑटोमेटन का निर्माण कर सकता है <math>M'</math> ऐसा है कि <math>N(M)=L(M')</math>
प्रमेय. प्रत्येक पुशडाउन ऑटोमेटन के लिए <math>M</math> कोई पुशडाउन ऑटोमेटन का निर्माण कर सकता है <math>M'</math> ऐसा है कि <math>L(M)=N(M')</math>, और इसके विपरीत, प्रत्येक पुशडाउन ऑटोमेटन के लिए <math>M</math> कोई पुशडाउन ऑटोमेटन का निर्माण कर सकता है <math>M'</math> ऐसा है कि <math>N(M)=L(M')</math>
== उदाहरण ==
== उदाहरण ==


Line 130: Line 114:
प्रमेय. प्रत्येक पुशडाउन ऑटोमेटन के लिए <math>M</math> कोई संदर्भ-मुक्त व्याकरण का निर्माण कर सकता है <math>G</math> ऐसा है कि {{nobr|<math>N(M)=L(G)</math>.}}<ref name="Hopcroft.Ullman.1979"/>{{rp|116}}
प्रमेय. प्रत्येक पुशडाउन ऑटोमेटन के लिए <math>M</math> कोई संदर्भ-मुक्त व्याकरण का निर्माण कर सकता है <math>G</math> ऐसा है कि {{nobr|<math>N(M)=L(G)</math>.}}<ref name="Hopcroft.Ullman.1979"/>{{rp|116}}


नियतात्मक पुशडाउन ऑटोमेटन (DPDA) द्वारा स्वीकृत स्ट्रिंग्स की भाषा को नियतात्मक संदर्भ-मुक्त भाषा कहा जाता है। सभी संदर्भ-मुक्त भाषाएँ नियतिवादी नहीं हैं।{{#tag:ref|The set of even-length [[Palindrome#Computation theory|palindromes]] of bits can't be recognized by a deterministic PDA, but is a [[context-free language]], with the [[context-free grammar|grammar]] ''S'' → ε <nowiki>|</nowiki> 0''S''0 <nowiki>|</nowiki> 1''S''1.<ref>{{cite book|author1=John E. Hopcroft |author2=Rajeev Motwani |author3=Jeffrey D. Ullman | title=Introduction to Automata Theory, Languages, and Computation| year=2003| publisher=Addison Wesley}} Here: Sect.6.4.3, p.249</ref>|group=note}}परिणामस्वरूप, डीपीडीए पीडीए का एक सख्ती से कमजोर संस्करण है। यहां तक ​​कि [[नियमित भाषा]]ओं के लिए भी, आकार विस्फोट की समस्या है: किसी भी सामान्य पुनरावर्ती फ़ंक्शन के लिए <math>f</math> और मनमाने ढंग से बड़े पूर्णांकों के लिए <math>n</math>, आकार का एक पीडीए है <math>n</math> एक नियमित भाषा का वर्णन करना जिसकी सबसे छोटी DPDA के पास कम से कम है <math>f(n)</math> राज्य.<ref>{{cite journal |last1=Holzer |first1=Markus |last2=Kutrib |first2=Martin |title=Non-Recursive Trade-Offs Are “Almost Everywhere” |journal=Computing with Foresight and Industry |date=2019 |volume=11558 |pages=25–36 |doi=10.1007/978-3-030-22996-2_3}} This follows from the quoted [22, Proposition 7] and the stated observation that {{clarify span|any deterministic pushdown automaton can be converted into an equivalent finite automaton|reason=A finite automaton cannot be equivalent to a pushdown automaton, unless the latter doesn't actually use its stack.|date=June 2022}} of at most doubly-exponential size.</ref> कई गैर-नियमित पीडीए के लिए, किसी भी समकक्ष डीपीडीए को असीमित संख्या में राज्यों की आवश्यकता होगी।
नियतात्मक पुशडाउन ऑटोमेटन (DPDA) द्वारा स्वीकृत स्ट्रिंग्स की भाषा को नियतात्मक संदर्भ-मुक्त भाषा कहा जाता है। सभी संदर्भ-मुक्त भाषाएँ नियतिवादी नहीं हैं।परिणामस्वरूप, डीपीडीए पीडीए का एक सख्ती से कमजोर संस्करण है। यहां तक ​​कि [[नियमित भाषा]]ओं के लिए भी, आकार विस्फोट की समस्या है: किसी भी सामान्य पुनरावर्ती फ़ंक्शन के लिए <math>f</math> और मनमाने ढंग से बड़े पूर्णांकों के लिए <math>n</math>, आकार का एक पीडीए है <math>n</math> एक नियमित भाषा का वर्णन करना जिसकी सबसे छोटी DPDA के पास कम से कम है <math>f(n)</math> राज्य.<ref>{{cite journal |last1=Holzer |first1=Markus |last2=Kutrib |first2=Martin |title=Non-Recursive Trade-Offs Are “Almost Everywhere” |journal=Computing with Foresight and Industry |date=2019 |volume=11558 |pages=25–36 |doi=10.1007/978-3-030-22996-2_3}} This follows from the quoted [22, Proposition 7] and the stated observation that {{clarify span|any deterministic pushdown automaton can be converted into an equivalent finite automaton|reason=A finite automaton cannot be equivalent to a pushdown automaton, unless the latter doesn't actually use its stack.|date=June 2022}} of at most doubly-exponential size.</ref> कई गैर-नियमित पीडीए के लिए, किसी भी समकक्ष डीपीडीए को असीमित संख्या में राज्यों की आवश्यकता होगी।


दो स्टैक तक पहुंच वाला एक सीमित ऑटोमेटन एक अधिक शक्तिशाली उपकरण है, जो ट्यूरिंग मशीन की शक्ति के बराबर है।<ref name="Hopcroft.Ullman.1979"/>{{rp|171}} [[रैखिक परिबद्ध ऑटोमेटन]] एक उपकरण है जो पुशडाउन ऑटोमेटन से अधिक शक्तिशाली है लेकिन ट्यूरिंग मशीन से कम शक्तिशाली है।{{#tag:ref|Linear bounded automata are acceptors for the class of context-sensitive languages,<ref name="Hopcroft.Ullman.1979"/>{{rp|225}} which is a proper superclass of the context-free languages, and a proper subclass of Turing-recognizable (i.e. [[recursively enumerable]]) languages.<ref name="Hopcroft.Ullman.1979"/>{{rp|228}}|group=note}}
दो स्टैक तक पहुंच वाला एक सीमित ऑटोमेटन एक अधिक शक्तिशाली उपकरण है, जो ट्यूरिंग मशीन की शक्ति के बराबर है।<ref name="Hopcroft.Ullman.1979"/>{{rp|171}} [[रैखिक परिबद्ध ऑटोमेटन]] एक उपकरण है जो पुशडाउन ऑटोमेटन से अधिक शक्तिशाली है लेकिन ट्यूरिंग मशीन से कम शक्तिशाली है।{{#tag:ref|Linear bounded automata are acceptors for the class of context-sensitive languages,<ref name="Hopcroft.Ullman.1979"/>{{rp|225}} which is a proper superclass of the context-free languages, and a proper subclass of Turing-recognizable (i.e. [[recursively enumerable]]) languages.<ref name="Hopcroft.Ullman.1979"/>{{rp|228}}|group=note}}
Line 179: Line 163:
\delta'(p_{m+n-1}, \epsilon, \epsilon ) &\longrightarrow& (q_{2}, y_{1}).
\delta'(p_{m+n-1}, \epsilon, \epsilon ) &\longrightarrow& (q_{2}, y_{1}).
\end{array}</math>
\end{array}</math>
==स्टैक ऑटोमेटन==
==स्टैक ऑटोमेटन==
पुशडाउन ऑटोमेटा के सामान्यीकरण के रूप में, गिंसबर्ग, ग्रीबैक और हैरिसन (1967) ने स्टैक ऑटोमेटा की जांच की, जो अतिरिक्त रूप से इनपुट स्ट्रिंग में बाएं या दाएं कदम रख सकता है (बाहर फिसलने से रोकने के लिए विशेष एंडमार्कर प्रतीकों से घिरा हुआ), और ऊपर या नीचे कदम रख सकता है केवल-पढ़ने योग्य मोड में स्टैक करें।<ref>{{cite journal| author=Seymour Ginsburg, Sheila A. Greibach and Michael A. Harrison| title=स्टैक ऑटोमेटा और संकलन| journal=J. ACM| year=1967| volume=14| number=1| pages=172–201| doi=10.1145/321371.321385| doi-access=free}}</ref><ref>{{cite journal| author=Seymour Ginsburg, Sheila A. Greibach and Michael A. Harrison| title=वन-वे स्टैक ऑटोमेटा| journal=J. ACM| year=1967| volume=14| number=2| pages=389–418| doi=10.1145/321386.321403}}</ref> एक स्टैक ऑटोमेटन को नॉनरेज़िंग कहा जाता है यदि यह स्टैक से कभी नहीं निकलता है। नॉनडेटर्मिनिस्टिक, नॉनरेज़िंग स्टैक ऑटोमेटा द्वारा स्वीकृत भाषाओं का वर्ग [[NSPACE]](n) है<sup>2</sup>), जो संदर्भ-संवेदनशील भाषाओं#कम्प्यूटेशनल गुणों|संदर्भ-संवेदनशील भाषाओं का एक सुपरसेट है।<ref name="Hopcroft.Ullman.1967">{{cite journal|author1=John E. Hopcroft |author2=Jeffrey D. Ullman | title=नॉनरेज़िंग स्टैक ऑटोमेटा| journal=Journal of Computer and System Sciences| year=1967| volume=1| number=2| pages=166–186| doi=10.1016/s0022-0000(67)80013-8| doi-access=free}}</ref> नियतात्मक, नॉनरेज़िंग स्टैक ऑटोमेटा द्वारा स्वीकृत भाषाओं का वर्ग [[DSPACE]](n⋅log(n)) है।<ref name="Hopcroft.Ullman.1967"/>
पुशडाउन ऑटोमेटा के सामान्यीकरण के रूप में, गिंसबर्ग, ग्रीबैक और हैरिसन (1967) ने स्टैक ऑटोमेटा की जांच की, जो अतिरिक्त रूप से इनपुट स्ट्रिंग में बाएं या दाएं कदम रख सकता है (बाहर फिसलने से रोकने के लिए विशेष एंडमार्कर प्रतीकों से घिरा हुआ), और ऊपर या नीचे कदम रख सकता है केवल-पढ़ने योग्य मोड में स्टैक करें।<ref>{{cite journal| author=Seymour Ginsburg, Sheila A. Greibach and Michael A. Harrison| title=स्टैक ऑटोमेटा और संकलन| journal=J. ACM| year=1967| volume=14| number=1| pages=172–201| doi=10.1145/321371.321385| doi-access=free}}</ref><ref>{{cite journal| author=Seymour Ginsburg, Sheila A. Greibach and Michael A. Harrison| title=वन-वे स्टैक ऑटोमेटा| journal=J. ACM| year=1967| volume=14| number=2| pages=389–418| doi=10.1145/321386.321403}}</ref> एक स्टैक ऑटोमेटन को नॉनरेज़िंग कहा जाता है यदि यह स्टैक से कभी नहीं निकलता है। नॉनडेटर्मिनिस्टिक, नॉनरेज़िंग स्टैक ऑटोमेटा द्वारा स्वीकृत भाषाओं का वर्ग [[NSPACE]](n) है<sup>2</sup>), जो संदर्भ-संवेदनशील भाषाओं#कम्प्यूटेशनल गुणों|संदर्भ-संवेदनशील भाषाओं का एक सुपरसेट है।<ref name="Hopcroft.Ullman.1967">{{cite journal|author1=John E. Hopcroft |author2=Jeffrey D. Ullman | title=नॉनरेज़िंग स्टैक ऑटोमेटा| journal=Journal of Computer and System Sciences| year=1967| volume=1| number=2| pages=166–186| doi=10.1016/s0022-0000(67)80013-8| doi-access=free}}</ref> नियतात्मक, नॉनरेज़िंग स्टैक ऑटोमेटा द्वारा स्वीकृत भाषाओं का वर्ग [[DSPACE]](n⋅log(n)) है।<ref name="Hopcroft.Ullman.1967"/>
 
==वैकल्पिक पुशडाउन ऑटोमेटा==
 
==वैकल्पिक पुशडाउन ऑटोमेटा {{anchor|Alternating}}==
एक वैकल्पिक पुशडाउन ऑटोमेटन (एपीडीए) एक राज्य सेट के साथ एक पुशडाउन ऑटोमेटन है
एक वैकल्पिक पुशडाउन ऑटोमेटन (एपीडीए) एक राज्य सेट के साथ एक पुशडाउन ऑटोमेटन है


Line 205: Line 185:
==टिप्पणियाँ==
==टिप्पणियाँ==
{{reflist|group=note}}
{{reflist|group=note}}


==संदर्भ==
==संदर्भ==
Line 211: Line 190:
* {{cite book | author = Michael Sipser | year = 1997 | title = Introduction to the Theory of Computation | publisher = PWS Publishing | isbn = 0-534-94728-X | author-link = Michael Sipser | url-access = registration | url = https://archive.org/details/introductiontoth00sips }} Section 2.2: Pushdown Automata, pp.&nbsp;101&ndash;114.
* {{cite book | author = Michael Sipser | year = 1997 | title = Introduction to the Theory of Computation | publisher = PWS Publishing | isbn = 0-534-94728-X | author-link = Michael Sipser | url-access = registration | url = https://archive.org/details/introductiontoth00sips }} Section 2.2: Pushdown Automata, pp.&nbsp;101&ndash;114.
* Jean-Michel Autebert, Jean Berstel, Luc Boasson, [http://www-igm.univ-mlv.fr/~berstel/Articles/1997CFLPDA.pdf Context-Free Languages and Push-Down Automata], in: G. Rozenberg, A. Salomaa (eds.), Handbook of Formal Languages, Vol. 1, Springer-Verlag, 1997, 111–174.
* Jean-Michel Autebert, Jean Berstel, Luc Boasson, [http://www-igm.univ-mlv.fr/~berstel/Articles/1997CFLPDA.pdf Context-Free Languages and Push-Down Automata], in: G. Rozenberg, A. Salomaa (eds.), Handbook of Formal Languages, Vol. 1, Springer-Verlag, 1997, 111–174.
==बाहरी संबंध==
==बाहरी संबंध==
* [https://www.jflap.org JFLAP], simulator for several types of automata including nondeterministic pushdown automata
* [https://www.jflap.org JFLAP], simulator for several types of automata including nondeterministic pushdown automata

Revision as of 20:43, 25 July 2023

Combinational logicFinite-state machinePushdown automatonTuring machineAutomata theoryAutomata theory.svg
About this image
Classes of automata
(Clicking on each layer gets an article on that subject)

गणना के सिद्धांत में, सैद्धांतिक कंप्यूटर विज्ञान की एक शाखा, एक पुशडाउन ऑटोमेटन (पीडीए) है एक प्रकार का ऑटोमेटा सिद्धांत जो स्टैक (डेटा संरचना) को नियोजित करता है।

मशीनों द्वारा क्या गणना की जा सकती है, इसके सिद्धांतों में पुशडाउन ऑटोमेटा का उपयोग किया जाता है। वे परिमित-राज्य मशीनों की तुलना में अधिक सक्षम हैं लेकिन ट्यूरिंग मशीनों की तुलना में कम सक्षम हैं (#पीडीए और ट्यूरिंग मशीनें देखें)। नियतात्मक पुशडाउन ऑटोमेटा सभी नियतात्मक संदर्भ-मुक्त भाषाओं को पहचान सकता है जबकि गैर-नियतात्मक सभी संदर्भ-मुक्त भाषाओं को पहचान सकता है, पूर्व का उपयोग अक्सर पार्सर डिज़ाइन में किया जाता है।

पुशडाउन शब्द इस तथ्य को संदर्भित करता है कि स्टैक (अमूर्त डेटा प्रकार) को कैफेटेरिया में ट्रे डिस्पेंसर की तरह नीचे धकेलने के रूप में माना जा सकता है, क्योंकि ऑपरेशन कभी भी शीर्ष तत्व के अलावा अन्य तत्वों पर काम नहीं करते हैं। इसके विपरीत, एक स्टैक ऑटोमेटन, गहरे तत्वों तक पहुंच और संचालन की अनुमति देता है। स्टैक ऑटोमेटा पुशडाउन ऑटोमेटा की तुलना में भाषाओं के एक बड़े समूह को पहचान सकता है।[1]एक नेस्टेड स्टैक ऑटोमेटन पूर्ण पहुंच की अनुमति देता है, और स्टैक्ड मानों को केवल एकल परिमित प्रतीकों के बजाय संपूर्ण उप-स्टैक होने की भी अनुमति देता है।

अनौपचारिक विवरण

पुशडाउन ऑटोमेटन का एक आरेख

एक परिमित-राज्य मशीन केवल इनपुट सिग्नल और वर्तमान स्थिति को देखती है: इसके पास काम करने के लिए कोई स्टैक नहीं है। यह एक नया राज्य चुनता है, जो परिवर्तन का अनुसरण करने का परिणाम है। एक पुशडाउन ऑटोमेटन (पीडीए) एक परिमित राज्य मशीन से दो तरीकों से भिन्न होता है:

  1. यह स्टैक के शीर्ष का उपयोग यह तय करने के लिए कर सकता है कि कौन सा संक्रमण लेना है।
  2. यह संक्रमण निष्पादित करने के भाग के रूप में स्टैक में हेरफेर कर सकता है।

एक पुशडाउन ऑटोमेटन किसी दिए गए इनपुट स्ट्रिंग को बाएं से दाएं पढ़ता है। प्रत्येक चरण में, यह इनपुट प्रतीक, वर्तमान स्थिति और स्टैक के शीर्ष पर प्रतीक द्वारा तालिका को अनुक्रमित करके एक संक्रमण चुनता है। ट्रांज़िशन निष्पादित करने के भाग के रूप में, एक पुशडाउन ऑटोमेटन स्टैक में हेरफेर भी कर सकता है। हेरफेर किसी विशेष प्रतीक को स्टैक के शीर्ष पर धकेलने या स्टैक के शीर्ष को पॉप करने के लिए हो सकता है। ऑटोमेटन वैकल्पिक रूप से स्टैक को अनदेखा कर सकता है, और इसे वैसे ही छोड़ सकता है। एक साथ रखें: एक इनपुट प्रतीक, वर्तमान स्थिति और स्टैक प्रतीक को देखते हुए, ऑटोमेटन किसी अन्य राज्य में संक्रमण का पालन कर सकता है, और वैकल्पिक रूप से स्टैक में हेरफेर (पुश या पॉप) कर सकता है।

यदि, हर स्थिति में, अधिकतम एक ऐसी संक्रमण क्रिया संभव है, तो ऑटोमेटन को नियतात्मक पुशडाउन ऑटोमेटन (DPDA) कहा जाता है। सामान्य तौर पर, यदि कई क्रियाएं संभव हैं, तो ऑटोमेटन को सामान्य, या गैर-नियतात्मक, पीडीए कहा जाता है। एक दी गई इनपुट स्ट्रिंग एक गैर-नियतात्मक पुशडाउन ऑटोमेटन को कई कॉन्फ़िगरेशन अनुक्रमों में से एक में चला सकती है; यदि उनमें से एक पूरी इनपुट स्ट्रिंग को पढ़ने के बाद एक स्वीकार्य कॉन्फ़िगरेशन की ओर ले जाता है, तो बाद वाले को ऑटोमेटन द्वारा स्वीकृत भाषा से संबंधित माना जाता है।

संक्रमण संबंध
  • प्रारंभ अवस्था है
  • प्रारंभिक स्टैक प्रतीक है
  • स्वीकार करने वाले राज्यों का समूह है

तत्व का संक्रमण है . इसका अभिप्राय यह है कि , राज्य में , इनपुट पर और साथ सबसे ऊपरी स्टैक प्रतीक के रूप में, पढ़ सकते हैं , राज्य को बदलें , जल्दी से आना , इसे धक्का देकर प्रतिस्थापित करें . h> संक्रमण संबंध के घटक का उपयोग यह औपचारिक बनाने के लिए किया जाता है कि पीडीए या तो इनपुट से एक पत्र पढ़ सकता है, या इनपुट को अछूता छोड़कर आगे बढ़ सकता है।

अनेक ग्रंथों में[2]: 110  संक्रमण संबंध को एक (समतुल्य) औपचारिकता द्वारा प्रतिस्थापित किया जाता है, जहां

  • संक्रमण फ़ंक्शन, मैपिंग है के परिमित उपसमुच्चय में

यहाँ राज्य में सभी संभावित कार्रवाइयां शामिल हैं साथ पढ़ते समय, स्टैक पर इनपुट पर. उदाहरण के लिए कोई लिखता है बिल्कुल कब क्योंकि . ध्यान दें कि इस परिभाषा में परिमित आवश्यक है।

'गणना'

पुशडाउन ऑटोमेटन का एक चरण

पुशडाउन ऑटोमेटन के शब्दार्थ को औपचारिक बनाने के लिए वर्तमान स्थिति का विवरण प्रस्तुत किया गया है। कोई भी 3-टुपल का तात्कालिक विवरण (आईडी) कहा जाता है , जिसमें वर्तमान स्थिति, इनपुट टेप का वह हिस्सा जो पढ़ा नहीं गया है, और स्टैक की सामग्री (सबसे ऊपर का प्रतीक पहले लिखा गया है) शामिल है। संक्रमण संबंध चरण-संबंध को परिभाषित करता है का तात्कालिक विवरण पर. निर्देश हेतु वहाँ एक कदम मौजूद है , हरएक के लिए और हर .

सामान्य तौर पर पुशडाउन ऑटोमेटा किसी दिए गए तात्कालिक विवरण में गैर-नियतात्मक अर्थ होता है कई संभावित कदम हो सकते हैं. गणना में इनमें से कोई भी चरण चुना जा सकता है। उपरोक्त परिभाषा के साथ प्रत्येक चरण में हमेशा एक एकल प्रतीक (स्टैक के शीर्ष) को पॉप किया जाता है, इसे आवश्यकतानुसार कई प्रतीकों से बदल दिया जाता है। परिणामस्वरूप, स्टैक खाली होने पर कोई चरण परिभाषित नहीं होता है।

पुशडाउन ऑटोमेटन की गणना चरणों का क्रम है। गणना प्रारम्भिक अवस्था में प्रारम्भ होती है प्रारंभिक स्टैक प्रतीक के साथ ढेर पर, और एक स्ट्रिंग इनपुट टेप पर, इस प्रकार प्रारंभिक विवरण के साथ . स्वीकार करने के दो तरीके हैं. पुशडाउन ऑटोमेटन या तो अंतिम स्थिति द्वारा स्वीकार करता है, जिसका अर्थ है कि इसके इनपुट को पढ़ने के बाद ऑटोमेटन एक स्वीकार्य स्थिति (में) तक पहुंचता है ), या यह खाली स्टैक द्वारा स्वीकार करता है (), जिसका अर्थ है कि इसके इनपुट को पढ़ने के बाद ऑटोमेटन अपना स्टैक खाली कर देता है। पहला स्वीकृति मोड आंतरिक मेमोरी (स्थिति) का उपयोग करता है, दूसरा बाहरी मेमोरी (स्टैक) का।

औपचारिक रूप से कोई परिभाषित करता है

  1. साथ और (अंतिम स्थिति)
  2. साथ (खाली ढेर)

यहाँ चरण संबंध के प्रतिवर्ती समापन और सकर्मक समापन का प्रतिनिधित्व करता है मतलब लगातार चरणों की कोई भी संख्या (शून्य, एक या अधिक)।

प्रत्येक एकल पुशडाउन ऑटोमेटन के लिए इन दोनों भाषाओं का कोई संबंध नहीं होना चाहिए: वे समान हो सकते हैं लेकिन आमतौर पर ऐसा नहीं होता है। ऑटोमेटन के विनिर्देश में स्वीकृति का इच्छित तरीका भी शामिल होना चाहिए। सभी पुशडाउन ऑटोमेटा पर आधारित दोनों स्वीकृति शर्तें भाषाओं के एक ही परिवार को परिभाषित करती हैं।

प्रमेय. प्रत्येक पुशडाउन ऑटोमेटन के लिए कोई पुशडाउन ऑटोमेटन का निर्माण कर सकता है ऐसा है कि , और इसके विपरीत, प्रत्येक पुशडाउन ऑटोमेटन के लिए कोई पुशडाउन ऑटोमेटन का निर्माण कर सकता है ऐसा है कि

उदाहरण

निम्नलिखित पीडीए का औपचारिक विवरण है जो भाषा को पहचानता है अंतिम स्थिति के अनुसार:

के लिए पीडीए
(अंतिम स्थिति के अनुसार)

, कहाँ

  • बताता है:
  • इनपुट वर्णमाला:
  • स्टैक वर्णमाला:
  • प्रारंभ स्थिति:
  • स्टार्ट स्टैक प्रतीक: Z
  • स्वीकार करने की स्थिति:

संक्रमण संबंध निम्नलिखित छह निर्देश शामिल हैं:

,
,
,
,
, और
.

शब्दों में, पहले दो निर्देश कहते हैं कि स्थिति में p किसी भी समय प्रतीक 0 पढ़ा जाता है, एक A को स्टैक पर धकेल दिया जाता है। धक्का देने वाला प्रतीक A दूसरे के ऊपर A को शीर्ष के स्थान पर औपचारिक रूप दिया गया है A द्वारा AA (और इसी तरह प्रतीक को आगे बढ़ाने के लिए Aए के शीर्ष पर Z).

तीसरे और चौथे निर्देश कहते हैं कि, किसी भी क्षण ऑटोमेटन राज्य से हट सकता है p कहना q.

पांचवां निर्देश कहता है कि राज्य में q, प्रत्येक प्रतीक के लिए 1 पढ़ें, एक A पॉप हो गया है.

अंत में, छठा निर्देश कहता है कि मशीन राज्य से आगे बढ़ सकती है q राज्य को स्वीकार करने के लिए r केवल तभी जब स्टैक में एक एकल शामिल हो Z.

ऐसा लगता है कि पीडीए के लिए आम तौर पर इस्तेमाल किया जाने वाला कोई प्रतिनिधित्व नहीं है। यहां हमने निर्देश दर्शाया है राज्य से बढ़त से p कहना q द्वारा लेबल किया गया (पढ़ना a; बदलना A द्वारा ).

गणना प्रक्रिया को समझना

के लिए गणना स्वीकार करना 0011

निम्नलिखित दर्शाता है कि उपरोक्त पीडीए विभिन्न इनपुट स्ट्रिंग्स पर कैसे गणना करता है। सबस्क्रिप्ट M चरण चिह्न से यहाँ छोड़ दिया गया है.

  1. Input string = 0011. There are various computations, depending on the moment the move from state p to state q is made. Only one of these is accepting.

    1. The final state is accepting, but the input is not accepted this way as it has not been read.

    2. No further steps possible.

    3. Accepting computation: ends in accepting state, while complete input has been read.
  2. Input string = 00111. Again there are various computations. None of these is accepting.

    1. The final state is accepting, but the input is not accepted this way as it has not been read.

    2. No further steps possible.

    3. The final state is accepting, but the input is not accepted this way as it has not been (completely) read.

पीडीए और संदर्भ-मुक्त भाषाएँ

प्रत्येक संदर्भ-मुक्त व्याकरण को एक समतुल्य गैर-नियतात्मक पुशडाउन ऑटोमेटन में परिवर्तित किया जा सकता है। व्याकरण की व्युत्पत्ति प्रक्रिया को सबसे बाएं तरीके से अनुकरण किया जाता है। जहां व्याकरण एक नॉनटर्मिनल को फिर से लिखता है, पीडीए अपने स्टैक से सबसे ऊपरी नॉनटर्मिनल लेता है और इसे व्याकरणिक नियम (विस्तार) के दाहिने हाथ के हिस्से से बदल देता है। जहां व्याकरण एक टर्मिनल प्रतीक उत्पन्न करता है, पीडीए इनपुट से एक प्रतीक पढ़ता है जब यह स्टैक (मैच) पर सबसे ऊपरी प्रतीक होता है। एक अर्थ में पीडीए के स्टैक में व्याकरण का असंसाधित डेटा होता है, जो व्युत्पत्ति वृक्ष के प्री-ऑर्डर ट्रैवर्सल के अनुरूप होता है।

तकनीकी रूप से, संदर्भ-मुक्त व्याकरण को देखते हुए, पीडीए की एक ही स्थिति है, 1, और इसका संक्रमण संबंध इस प्रकार बनाया गया है।

  1. प्रत्येक नियम के लिए (बढ़ाना)
  2. प्रत्येक टर्मिनल प्रतीक के लिए (मिलान)

पीडीए खाली स्टैक द्वारा स्वीकार करता है। इसका प्रारंभिक स्टैक प्रतीक व्याकरण का प्रारंभ प्रतीक है।[citation needed]

ग्रीबैक सामान्य रूप में एक संदर्भ-मुक्त व्याकरण के लिए, प्रत्येक व्याकरण नियम ए → एγ के लिए (1,γ) ∈ δ(1,a,A) को परिभाषित करने से एक समतुल्य गैर-नियतात्मक पुशडाउन ऑटोमेटन भी प्राप्त होता है।[2]: 115 

किसी दिए गए पीडीए के लिए व्याकरण ढूंढना इतना आसान नहीं है। चाल पीडीए के दो राज्यों को व्याकरण के गैर-टर्मिनलों में कोड करने की है।

प्रमेय. प्रत्येक पुशडाउन ऑटोमेटन के लिए कोई संदर्भ-मुक्त व्याकरण का निर्माण कर सकता है ऐसा है कि .[2]: 116 

नियतात्मक पुशडाउन ऑटोमेटन (DPDA) द्वारा स्वीकृत स्ट्रिंग्स की भाषा को नियतात्मक संदर्भ-मुक्त भाषा कहा जाता है। सभी संदर्भ-मुक्त भाषाएँ नियतिवादी नहीं हैं।परिणामस्वरूप, डीपीडीए पीडीए का एक सख्ती से कमजोर संस्करण है। यहां तक ​​कि नियमित भाषाओं के लिए भी, आकार विस्फोट की समस्या है: किसी भी सामान्य पुनरावर्ती फ़ंक्शन के लिए और मनमाने ढंग से बड़े पूर्णांकों के लिए , आकार का एक पीडीए है एक नियमित भाषा का वर्णन करना जिसकी सबसे छोटी DPDA के पास कम से कम है राज्य.[3] कई गैर-नियमित पीडीए के लिए, किसी भी समकक्ष डीपीडीए को असीमित संख्या में राज्यों की आवश्यकता होगी।

दो स्टैक तक पहुंच वाला एक सीमित ऑटोमेटन एक अधिक शक्तिशाली उपकरण है, जो ट्यूरिंग मशीन की शक्ति के बराबर है।[2]: 171  रैखिक परिबद्ध ऑटोमेटन एक उपकरण है जो पुशडाउन ऑटोमेटन से अधिक शक्तिशाली है लेकिन ट्यूरिंग मशीन से कम शक्तिशाली है।[note 1]

पीडीए और ट्यूरिंग मशीनें

एक पुशडाउन ऑटोमेटन कम्प्यूटेशनल रूप से दो टेपों के साथ एक 'प्रतिबंधित' ट्यूरिंग मशीन (टीएम) के बराबर है जो निम्नलिखित तरीके से प्रतिबंधित है- पहले टेप पर, टीएम केवल इनपुट पढ़ सकता है और बाएं से दाएं जा सकता है (यह परिवर्तन नहीं कर सकता)। दूसरे टेप पर, यह केवल डेटा को 'पुश' और 'पॉप' कर सकता है। या समकक्ष, यह पढ़ सकता है, लिख सकता है और बाएँ और दाएँ घूम सकता है, इस प्रतिबंध के साथ कि यह प्रत्येक चरण में केवल एक ही कार्य कर सकता है या तो स्ट्रिंग (पॉप) में सबसे बाएँ वर्ण को हटाना है या स्ट्रिंग (पुश) में सबसे बाएँ वर्ण के बाएँ एक अतिरिक्त वर्ण जोड़ना है।

पीडीए टीएम से कमजोर है, इसे इस तथ्य से समझा जा सकता है कि प्रक्रिया 'पॉप' कुछ डेटा को हटा देती है। पीडीए को टीएम जितना मजबूत बनाने के लिए, हमें 'पॉप' के माध्यम से खोए गए डेटा को कहीं सहेजना होगा। हम दूसरा स्टैक शुरू करके इसे हासिल कर सकते हैं। अंतिम पैराग्राफ के पीडीए के टीएम मॉडल में, यह 3 टेप वाले टीएम के बराबर है, जहां पहला टेप केवल-पढ़ने के लिए इनपुट टेप है, और दूसरा और तीसरा टेप 'पुश और पॉप' (स्टैक) टेप हैं। ऐसे पीडीए के लिए किसी दिए गए टीएम का अनुकरण करने के लिए, हम दोनों स्टैक को खाली रखते हुए, पहले टेप में पीडीए का इनपुट देते हैं। इसके बाद यह इनपुट टेप से सभी इनपुट को पहले स्टैक तक धकेलता है। जब संपूर्ण इनपुट को पहले स्टैक में स्थानांतरित कर दिया जाता है, तो अब हम एक सामान्य टीएम की तरह आगे बढ़ते हैं, जहां टेप पर दाईं ओर जाना पहले स्टैक से एक प्रतीक को पॉप करने और दूसरे स्टैक में एक (संभवतः अपडेट किए गए) प्रतीक को धकेलने के समान है, और बाईं ओर जाने से दूसरे स्टैक से एक प्रतीक को पॉप करने और एक (संभवतः अपडेट किए गए) प्रतीक को पहले स्टैक में धकेलने के समान होता है। इसलिए हमारे पास 2 स्टैक वाला एक पीडीए है जो किसी भी टीएम का अनुकरण कर सकता है।

सामान्यीकृत पुशडाउन ऑटोमेटन (जीपीडीए)

जीपीडीए एक पीडीए है जो स्टैक पर कुछ ज्ञात लंबाई की एक पूरी स्ट्रिंग लिखता है या एक चरण में स्टैक से पूरी स्ट्रिंग को हटा देता है।

GPDA को औपचारिक रूप से 6-टुपल के रूप में परिभाषित किया गया है:

कहाँ , और को पीडीए की तरह ही परिभाषित किया गया है।

:

संक्रमण फलन है.

जीपीडीए के लिए गणना नियम पीडीए के समान हैं, सिवाय इसके कि 'रेत अब प्रतीकों के बजाय तार हैं।

जीपीडीए और पीडीए इस मायने में समतुल्य हैं कि यदि कोई भाषा पीडीए द्वारा मान्यता प्राप्त है, तो इसे जीपीडीए द्वारा भी मान्यता प्राप्त है और इसके विपरीत भी।

निम्नलिखित सिमुलेशन का उपयोग करके जीपीडीए और पीडीए की तुल्यता के लिए एक विश्लेषणात्मक प्रमाण तैयार किया जा सकता है:

होने देना GPDA का एक परिवर्तन हो

कहाँ .

पीडीए के लिए निम्नलिखित बदलावों का निर्माण करें:

स्टैक ऑटोमेटन

पुशडाउन ऑटोमेटा के सामान्यीकरण के रूप में, गिंसबर्ग, ग्रीबैक और हैरिसन (1967) ने स्टैक ऑटोमेटा की जांच की, जो अतिरिक्त रूप से इनपुट स्ट्रिंग में बाएं या दाएं कदम रख सकता है (बाहर फिसलने से रोकने के लिए विशेष एंडमार्कर प्रतीकों से घिरा हुआ), और ऊपर या नीचे कदम रख सकता है केवल-पढ़ने योग्य मोड में स्टैक करें।[4][5] एक स्टैक ऑटोमेटन को नॉनरेज़िंग कहा जाता है यदि यह स्टैक से कभी नहीं निकलता है। नॉनडेटर्मिनिस्टिक, नॉनरेज़िंग स्टैक ऑटोमेटा द्वारा स्वीकृत भाषाओं का वर्ग NSPACE(n) है2), जो संदर्भ-संवेदनशील भाषाओं#कम्प्यूटेशनल गुणों|संदर्भ-संवेदनशील भाषाओं का एक सुपरसेट है।[1] नियतात्मक, नॉनरेज़िंग स्टैक ऑटोमेटा द्वारा स्वीकृत भाषाओं का वर्ग DSPACE(n⋅log(n)) है।[1]

वैकल्पिक पुशडाउन ऑटोमेटा

एक वैकल्पिक पुशडाउन ऑटोमेटन (एपीडीए) एक राज्य सेट के साथ एक पुशडाउन ऑटोमेटन है

  • कहाँ .

राज्यों में और अस्तित्वगत सम्मान कहलाते हैं। सार्वभौमिक। एक अस्तित्वगत स्थिति में एक एपीडीए गैर-नियतात्मक रूप से अगले राज्य को चुनता है और स्वीकार करता है यदि परिणामी गणनाओं में से कम से कम एक स्वीकार करता है। एक सार्वभौमिक स्थिति में APDA सभी अगले राज्यों में चला जाता है और यदि सभी परिणामी गणनाएँ स्वीकार हो जाती हैं तो स्वीकार करता है।

मॉडल को अशोक के. चंद्रा, डेक्सटर कोज़ेन और लैरी स्टॉकमेयर द्वारा पेश किया गया था।[6] रिचर्ड ई. लैडनर, रिचर्ड जे. लिप्टन और लैरी स्टॉकमेयर[7] साबित हुआ कि यह मॉडल EXPTIME के ​​बराबर है यानी एक भाषा कुछ APDA द्वारा स्वीकार की जाती है यदि, और केवल तभी, इसे एक घातीय-समय एल्गोरिदम द्वारा तय किया जा सकता है।

ऐज़िकोविट्ज़ और कमिंसकी[8] सिंक्रोनाइज्ड अल्टरनेटिंग पुशडाउन ऑटोमेटा (एसएपीडीए) पेश किया गया जो कि संयोजक व्याकरण के समतुल्य है, उसी तरह जैसे गैर-नियतात्मक पीडीए संदर्भ-मुक्त व्याकरण के समतुल्य है।

यह भी देखें

टिप्पणियाँ

  1. Linear bounded automata are acceptors for the class of context-sensitive languages,[2]: 225  which is a proper superclass of the context-free languages, and a proper subclass of Turing-recognizable (i.e. recursively enumerable) languages.[2]: 228 

संदर्भ

  1. 1.0 1.1 1.2 John E. Hopcroft; Jeffrey D. Ullman (1967). "नॉनरेज़िंग स्टैक ऑटोमेटा". Journal of Computer and System Sciences. 1 (2): 166–186. doi:10.1016/s0022-0000(67)80013-8.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 John E. Hopcroft and Jeffrey D. Ullman (1979). ऑटोमेटा सिद्धांत, भाषाएँ और संगणना का परिचय. Reading/MA: Addison-Wesley. ISBN 0-201-02988-X.
  3. Holzer, Markus; Kutrib, Martin (2019). "Non-Recursive Trade-Offs Are "Almost Everywhere"". Computing with Foresight and Industry. 11558: 25–36. doi:10.1007/978-3-030-22996-2_3. This follows from the quoted [22, Proposition 7] and the stated observation that any deterministic pushdown automaton can be converted into an equivalent finite automaton[clarify] of at most doubly-exponential size.
  4. Seymour Ginsburg, Sheila A. Greibach and Michael A. Harrison (1967). "स्टैक ऑटोमेटा और संकलन". J. ACM. 14 (1): 172–201. doi:10.1145/321371.321385.
  5. Seymour Ginsburg, Sheila A. Greibach and Michael A. Harrison (1967). "वन-वे स्टैक ऑटोमेटा". J. ACM. 14 (2): 389–418. doi:10.1145/321386.321403.
  6. Chandra, Ashok K.; Kozen, Dexter C.; Stockmeyer, Larry J. (1981). "अदल-बदल". Journal of the ACM. 28 (1): 114–133. doi:10.1145/322234.322243. ISSN 0004-5411.
  7. Ladner, Richard E.; Lipton, Richard J.; Stockmeyer, Larry J. (1984). "वैकल्पिक पुशडाउन और स्टैक ऑटोमेटा". SIAM Journal on Computing. 13 (1): 135–155. doi:10.1137/0213010. ISSN 0097-5397.
  8. Aizikowitz, Tamar; Kaminski, Michael (2011). "LR(0) Conjunctive Grammars and Deterministic Synchronized Alternating Pushdown Automata". Computer Science – Theory and Applications. Lecture Notes in Computer Science. Vol. 6651. pp. 345–358. doi:10.1007/978-3-642-20712-9_27. ISBN 978-3-642-20711-2. ISSN 0302-9743.

बाहरी संबंध

  • JFLAP, simulator for several types of automata including nondeterministic pushdown automata
  • CoAn, another simulator for several machine types including nondeterministic pushdown automata (C++, Windows, Linux, MacOS)