Introduction and Example of Pushdown Automata (PDA) | पुशडाउन ऑटोमाटा का परिचय और उदाहरण
Introduction and Example of Pushdown Automata (PDA) | पुशडाउन ऑटोमाटा का परिचय और उदाहरण
Introduction and Example of Pushdown Automata (PDA) | पुशडाउन ऑटोमाटा का परिचय और उदाहरण
पुशडाउन ऑटोमाटा (Pushdown Automata - PDA) ऑटोमाटा सिद्धांत (Automata Theory) की एक अत्यंत महत्वपूर्ण मशीन है। यह Finite Automata की तुलना में अधिक शक्तिशाली है क्योंकि यह Stack Memory का उपयोग करती है। PDA उन भाषाओं को पहचानने के लिए प्रयुक्त होती है जिन्हें Context-Free Grammar (CFG) द्वारा उत्पन्न किया जा सकता है।
परिचय / Introduction
Pushdown Automata एक Finite Automata के समान है लेकिन इसमें एक अतिरिक्त डेटा संरचना — Stack होती है। Stack का उपयोग symbols को अस्थायी रूप से संग्रहित करने और आवश्यकतानुसार निकालने के लिए किया जाता है। इससे PDA recursive संरचनाओं (जैसे aⁿbⁿ) को पहचान सकती है, जो Finite Automata नहीं कर सकता।
1️⃣ PDA की औपचारिक परिभाषा / Formal Definition of PDA
PDA को एक 7-tuple के रूप में परिभाषित किया जाता है:
PDA = (Q, Σ, Γ, δ, q₀, Z₀, F)
- Q → States का finite set
- Σ → Input alphabet
- Γ → Stack alphabet
- δ → Transition function
- q₀ → Initial state
- Z₀ → Initial stack symbol
- F → Final states का set
Transition function δ का स्वरूप होता है:
δ : Q × (Σ ∪ {ε}) × Γ → P(Q × Γ*)
2️⃣ PDA के घटक / Components of PDA
- Input Tape: जहाँ इनपुट string होती है।
- Control Unit: जो transitions को नियंत्रित करता है।
- Stack: एक LIFO (Last In First Out) डेटा संरचना, जो symbols को संग्रहित करता है।
3️⃣ PDA की कार्यप्रणाली / Working of PDA
PDA का कार्य इस प्रकार होता है:
- Input symbol को पढ़ा जाता है।
- Stack के शीर्ष symbol को देखा जाता है।
- Transition function के आधार पर नया state और stack की स्थिति निर्धारित की जाती है।
- जब पूरा इनपुट पढ़ लिया जाता है और stack खाली हो जाता है या final state पहुँच जाती है, तो PDA उस string को स्वीकार करता है।
4️⃣ Example: Language L = {aⁿbⁿ | n ≥ 1}
यह भाषा उन strings को स्वीकार करती है जिनमें 'a' की संख्या 'b' की संख्या के बराबर होती है। Finite Automata इस भाषा को नहीं पहचान सकता, लेकिन PDA कर सकता है।
Grammar:
S → aSb | ab
PDA Design:
- जब ‘a’ पढ़ें → Stack में ‘A’ push करें।
- जब ‘b’ पढ़ें → Stack से एक ‘A’ pop करें।
- यदि अंत में Stack खाली हो → String स्वीकार करें।
Formal Definition:
Q = {q₀, q₁, q₂}
Σ = {a, b}
Γ = {A, Z₀}
q₀ = Start state
Z₀ = Initial stack symbol
F = {q₂}
Transitions:
δ(q₀, a, Z₀) = (q₀, AZ₀)
δ(q₀, a, A) = (q₀, AA)
δ(q₀, b, A) = (q₁, ε)
δ(q₁, b, A) = (q₁, ε)
δ(q₁, ε, Z₀) = (q₂, Z₀)
यह PDA केवल उन्हीं strings को स्वीकार करेगा जिनमें a की संख्या b के बराबर होगी।
5️⃣ PDA द्वारा स्वीकृति / Acceptance by PDA
PDA किसी string को दो तरीकों से स्वीकार कर सकता है:
- Final State Acceptance: जब पूरा इनपुट पढ़ने के बाद PDA एक final state में पहुँच जाता है।
- Empty Stack Acceptance: जब PDA का stack खाली हो जाता है।
6️⃣ PDA के प्रकार / Types of PDA
- Deterministic PDA (DPDA): जहाँ प्रत्येक इनपुट और stack symbol के लिए केवल एक ही transition होता है।
- Non-Deterministic PDA (NPDA): जहाँ किसी एक स्थिति के लिए एक से अधिक transitions संभव होते हैं।
7️⃣ PDA की सीमाएँ / Limitations
- PDA केवल Context-Free Languages को पहचान सकता है।
- यह Context-Sensitive Languages को नहीं पहचान सकता।
- Parsing ambiguity को हटाने के लिए सीमित सहायता देता है।
8️⃣ PDA का उपयोग / Applications of PDA
- Compiler Design में Parsing के लिए।
- Programming Language Syntax Checking में।
- Mathematical Expression Evaluation में।
- XML/HTML Tag Validation में।
निष्कर्ष / Conclusion
Pushdown Automata, Finite Automata से अधिक शक्तिशाली मशीन है जो Stack का उपयोग कर recursive संरचनाओं को पहचान सकती है। यह Context-Free Languages की पहचान का आधार है और Compiler Design के लिए अत्यंत आवश्यक अवधारणा है।
Related Articles
Church’s Thesis and Complexity Theory (P vs NP) | चर्च का सिद्धांत और जटिलता सिद्धांत (P बनाम NP समस्याएँ)
Church’s Thesis and Complexity Theory (P vs NP) | चर्च का सिद्...
Read More →Solvability and Unsolvability Concepts | हल करने योग्य और अ-हल करने योग्य समस्याएँ
Solvability and Unsolvability Concepts | हल करने योग्य और ...
Read More →Halting Problem and Post Correspondence Problem | हॉल्टिंग समस्या और पोस्ट पत्राचार समस्या
Halting Problem and Post Correspondence Problem | हॉल्टिंग समस...
Read More →Unrestricted Grammars and Type-0 Languages | असीमित व्याकरण और टाइप-0 भाषाएँ
Unrestricted Grammars and Type-0 Languages | असीमित व्याकर...
Read More →Recursive and Recursively Enumerable Languages | पुनरावर्ती और पुनरावर्ती रूप से गणनीय भाषाएँ
Recursive and Recursively Enumerable Languages | पुनरावर्ती औ...
Read More →