4.6.2 · HinglishTheory of Computation

Finite automata — DFA - formal definition (5-tuple), state diagrams

1,809 words8 min readRead in English

4.6.2 · Coding › Theory of Computation


YEH object EXISTS kyun karta hai?


Formal 5-tuple — derive kiya, dump nahi kiya

Hum definition ko build karenge yeh poochh ke ki "ek aisi machine describe karne ke liye mujhe minimum kya chahiye?"

Mujhe jaanna hai... toh main introduce karta hoon... symbol
Machine kis situation mein ho sakti hai? states ka ek finite set
Woh kaun se symbols padh sakti hai? ek finite input alphabet
(state, symbol) given ho toh main kahan jaata hoon? ek total transition function
Main shuru kahan se karta hoon? ek single start state
Kaun si endings ka matlab "yes" hai? accepting states ka ek set

δ ko poori strings tak extend karna (woh part jo zyaadatar notes skip karte hain)

sirf ek symbol handle karta hai. Ek string process karne ke liye, hum extended transition function define karte hain, string length par recursion se:


State diagrams (Dual Coding: picture ↔ tuple)

Ek state diagram tuple ka visual twin hai:

  • circle = mein ek state
  • double circle = ek accept state ()
  • kahin se nahi aata arrow ("start") =
  • labeled arrow = yeh fact ki
Figure — Finite automata — DFA -  formal definition (5-tuple), state diagrams

Worked Example 1 — {0,1} par strings jo 1 mein KHATAM HOTI HAIN

Goal: .

State design (kya yaad rakhna hai): "ends in 1" ke liye sirf jo cheez matter karti hai woh hai last symbol dekha. Toh 2 states kaafi hain:

  • = "last symbol 0 tha, ya abhi tak koi symbol nahi" → reject
  • = "last symbol 1 tha" → accept

Tuple:

  • , , start ,
  • , , ,

Trace :

step reading from to Yeh step kyun?
1 1 1 dekha ⇒ yaad rakho "1 mein khatam hua"
2 0 ek 0 use mita deta hai ⇒ "0 mein khatam hua"
3 1 wapas "1 mein khatam hua"
4 1 abhi bhi 1 mein khatam hota hai

End state accepted. ✓ (aur indeed "1011" 1 mein khatam hota hai)


Worked Example 2 — 0's ki count EVEN hai (parity)

Goal: .

2 states kyun: parity ek yes/no fact hai; aapko actual count ki zaroorat nahi, sirf even vs odd. Yeh 80/20 insight hai — woh minimal memory rakho jo accept aur reject ko distinguish kare.

  • ("even-so-far","odd-so-far"), start ,
  • , (ek 0 parity flip karta hai)
  • , (ek 1 irrelevant hai — self-loop)

Trace : . End rejected. Check: mein teen 0's hain (odd) ⇒ sahi reject kiya. ✓


Worked Example 3 — Forecast-then-Verify

Machine: , , start , ,

Recall Forecast: kya yeh DFA "abab" accept karta hai? (padhne se pehle predict karo)

Forecast: sirf "b" padhne par mein hote hue reach hota hai, yani "...ab" ending. Toh accept iff string "ab" mein khatam ho. ka verify trace: . End accepted. Forecast confirm hua ("ab" mein khatam hota hai). ✓


Flashcards

DFA ke 5 components kya hain, order mein?
— states, alphabet, transition function, start state, accept states.
DFA transition function ki type signature kya hai?
(total, single-valued).
Finite automaton ko deterministic kya banata hai?
Har (state, symbol) pair ke liye exactly ek next state hota hai — ek total function hai, koi choices nahi, koi -moves nahi.
aur define karo.
; .
DFA string kab accept karta hai?
Jab .
kya hai?
— un sabhi strings ka set jo yeh accept karta hai.
"Regular language" kya hai?
Kisi DFA ke dwara recognized language.
State diagram mein double circle ka matlab kya hai?
Ek accept (final) state, yani ka member.
State diagram mein start state ko kya mark karta hai?
Us state mein kahin se nahi aata ek arrow.
Agar state diagram mein kisi symbol ka arrow missing hai, toh DFA kya require karta hai?
Ek hidden total — asliyat mein ek dead/trap state ki taraf transition (khud par loop karta hai, non-accepting).
DFA accept karta hai iff kya?
Iff (start state accepting hai).
aur mein farq?
ek symbol padhta hai; recursion se poori string padhta hai.

Recall Feynman: ek 12-saal ke bacche ko DFA explain karo

Socho ek board game hai jisme kuch squares hain. Tum START square par shuru karte ho. Koi tumhe ek-ek karke letters ki string padhta hai. Har square ka ek rule hota hai: "agar tum a suno, us square par kood jao; agar b suno, is square par kood jao." Tum bas koodte rehte ho — tumhare paas koi notebook nahi, koi memory nahi sirf tum kaun se square par khade ho ke alawa. Jab letters khatam ho jaayein, neeche dekho: agar tum glowing (double-circle) square par ho, toh chillao "HAAN, yeh word meri club mein hai!"; warna "NAHI." Yahi ek DFA hai: ek finite hopping game jahan tum jis square par ho wahi tumhara poora brain hai.

Concept Map

contains

contains

contains

contains

contains

maps Q x Sigma to Q

must be

missing arrow implies

extended to strings

ends in F means

recognizes

power same as

DFA 5-tuple

Q finite states

Sigma alphabet

delta transition fn

q0 start state

F accept states

total single-valued

dead trap state

delta-hat on Sigma*

accept yes/no

regular languages

regexes and tokenizers