4.6.10 · HinglishTheory of Computation

Pushdown automata (PDA) — configuration, acceptance by empty stack - final state

1,802 words8 min readRead in English

4.6.10 · Coding › Theory of Computation


WHAT is a PDA?

WHY ka yeh signature hai: kisi bhi moment pe machine dekhti hai (current state, agla input symbol ya kuch nahi, stack ke top pe symbol). Uska response ek set hota hai (new state, push karne wali string) — ek set isliye kyunki PDAs nondeterministic hote hain, aur -input use karke woh input consume kiye bina stack ko rearrange kar sakti hai.


Configuration (Instantaneous Description, ID)

WHY yeh triple: yeh exactly woh information hai jo machine ka poora future determine karne ke liye chahiye — jo input already padha ja chuka hai usse koi matlab nahi, sirf jo bacha hai aur jo memory mein hai woh matter karta hai.


DO acceptance modes

Figure — Pushdown automata (PDA) — configuration, acceptance by empty stack  -  final state

Worked Example 1 — by empty stack

Idea: har ke liye ek push karo, har ke liye ek pop karo. Stack exactly tab empty hogi jab counts match karein.

States , = bottom. Transitions:

  1. Kyun? pehla : bottom marker ke upar push karo.
  2. Kyun? har agle ke liye: ek aur push karo (count up).
  3. Kyun? har ke liye: ek pop karo (ek ko match karo).
  4. Kyun? barabar 's aur 's ke baad 's khatam ho jaate hain; pop karo ⇒ empty stack ⇒ accept.

pe run: Yeh step (last) kyun: rule 4 -input pe marker ko pop karta hai, empty stack bacha ke → empty stack se accept.


Worked Example 2 — same language by final state

Rules 1–3 rakho, lekin dump karne ki jagah, use check karo: 4'. — final state mein move karo jab sirf marker bacha ho. set karo. Popping kyun nahi? Final-state acceptance stack ko ignore karta hai; humein sirf mein hona chahiye jab input poora padh liya ho.

pe run khatam hota hai , → accept. ✓


Worked Example 3 — palindromes (nondeterminism zaroori hai)

ke liye PDA guess karta hai midpoint:

  • Phase 1: har input symbol push karo.
  • -move: guess karo "hum abhi middle pe hain."
  • Phase 2: pop karna current input se match karna chahiye.

Nondeterministic kyun? Ek deterministic PDA unmarked middle detect nahi kar sakta. Yeh dikhata hai DPDA ⊊ PDA: nondeterministic PDAs strictly zyada strong hote hain.



Recall Feynman: ek 12-saal ke bachche ko samjhao

Sochoh ek robot letters ki ek strip padh raha hai. Robot ke paas ek chhota sa brain hai (kuch moods) aur plates ka ek stack. Jab woh koi letter dekhta hai toh woh ek plate upar rakh sakta hai ya top wali plate utha sakta hai. Yeh check karne ke liye ki "har open bracket ka ek close bracket hai," woh har ( ke liye ek plate neeche rakhta hai aur har ) ke liye ek uthaa leta hai. Agar end mein saari plates khatam ho jaayein, toh brackets match kiye! "Empty stack = accept" matlab koi plate nahi bachi. "Final state = accept" matlab robot ek khush mood mein khatam hota hai, plates ki parwah kiye bina. "Tum pass ho gaye" kehne ke do tarike, same power.


Flashcards

PDA ka 7-tuple banane ke liye NFA mein kaunse 5 components add hote hain (NFA se extra)?
(stack alphabet) aur (initial stack symbol) — stack machinery; ab stack top bhi read/write karta hai.
PDA configuration (ID) teen cheezein ki triple hoti hai — kaunsi?
(current state, remaining input, poori stack contents jisme top sabse left ho).
diya hua ho toh one-step "yields" rule likhao.
.
Empty stack se acceptance define karo.
accept hota hai agar ; final states irrelevant hain.
Final state se acceptance define karo.
accept hota hai agar jahan ho; stack contents ignore hoti hain.
Kya empty-stack aur final-state PDAs equally powerful hain?
Haan — dono exactly context-free languages accept karte hain; ek doosre mein convert ho sakta hai.
Empty-stack→final-state safely convert karne ki trick?
ke neeche ek fresh bottom marker add karo taaki machine kabhi accidentally empty na ho; jab surface aaye toh final state reach ho.
ka output finite subset of kyun hota hai?
Kyunki PDAs nondeterministic hote hain (multiple moves) aur ek move poori string push kar sakta hai.
PDAs regular languages ko kyun beat karte hain?
Unbounded LIFO stack nested structure count/match kar sakta hai (jaise ) jo finite states akele nahi kar sakte.
Kya deterministic PDAs utne hi powerful hain jitne nondeterministic wale?
Nahi — DPDA ⊊ PDA; jaise ke liye nondeterministic midpoint guessing chahiye.
ID mein stack ka top kahan likha jaata hai?
Stack string mein sabse left.
"Pop" mein kaise express hota hai?
Top ko se replace karo: .

Connections

Concept Map

bolted onto

gives unbounded memory

includes

recognizes

maps to

special cases push pop peek

drives

evolves

closure defines

closure defines

ignores stack

ignores states

NFA finite control

Stack LIFO memory

PDA 7-tuple

Transition delta

Configuration q w gamma

Yields relation step

Replace top by string

Accept by final state

Accept by empty stack

Context-free languages