4.6.17 · HinglishTheory of Computation

Decidability — decidable (recursive) and recognizable (recursively enumerable) languages

2,170 words10 min readRead in English

4.6.17 · Coding › Theory of Computation


1. Hum baat kar kya rahe hain?


2. Fundamental relationships (derive karo, memorize mat karo)

2.1 Har decidable language recognizable hoti hai

KYUN: Ek decider pehle se members ko accept karta hai aur non-members ko reject karta hai. Members ko accept karna exactly recognizer ki requirement hai; non-members ko reject karna "may loop" condition se zyada strong hai (aur usse imply karta hai). Isliye:

2.2 Complementation theorem — crown jewel

"Decidable ⇒ complement ke under closed" ka derivation: Maano ko decide karta hai. banao: run karo; agar accept kare, reject kare; agar reject kare, accept kare. Kyunki hamesha halt karta hai, hamesha halt karega aur decide karega. Accept/reject swap karna tabhi kaam karta hai kyunki machine halt karti hai. ∎

Iff theorem ka derivation (famous "dovetailing" argument):

() Agar decidable hai, toh recognizable hai (§2.1), aur decidable hai (§2.2), isliye recognizable bhi hai.

() Maano ko recognize karta hai aur ko recognize karta hai. Decider banao input par:

  • aur ko parallel mein run karo, step-by-step (ek ek step dono ka, alternating). Parallel kyun? Kyunki hum ek ko pehle puri tarah run nahi kar sakte — woh loop kar sakti hai.
  • Har exactly ya mein se kisi ek mein hai. Isliye ek ya guaranteed hai finite time mein accept karegi.
    • Agar accept kare → accept kare.
    • Agar accept kare → reject kare.
  • hamesha halt karta hai (ek machine zarur accept karegi), isliye decide karta hai. ∎
Figure — Decidability — decidable (recursive) and recognizable (recursively enumerable) languages

3. Worked examples


4. Common mistakes (Steel-manned)


5. Quick mental model

Recall Feynman: ek 12-saal ke bachche ko explain karo

Socho ek robot hai jo check karta hai ki tumhara guess ek chhupi hui word hai ya nahi.

  • Ek decider robot dono taraf honest hai: woh hamesha beep karta hai "YES, sahi!" ya "NO, galat!" aur phir ruk jaata hai.
  • Ek recognizer robot sirf "YES!" beep karta hai jab tum sahi hote ho. Jab tum galat hote ho, woh bas sochta rehta hai... aur sochta rehta hai... aur kabhi "no" nahi bolta. Tum wahan hamesha ke liye baithe rahoge yeh jaane bina ki woh almost done hai ya stuck hai. Toh ek decider hamesha answer deta hai; ek recognizer sirf good news confirm karta hai. Aur yahan ek magic trick hai: agar tumhare paas ek robot hai jo "sahi" confirm kare aur doosra jo "galat" confirm kare, tum dono ko ek saath run kar sakte ho aur jo pehle beep kare woh asli jawab batata hai — do aadhe-adhoore robots se ek poora decider bana do!

6. Summary table (80/20 core)

Property Decidable (Recursive) Recognizable (RE)
Members par halt karta hai hamesha (accept) hamesha (accept)
Non-members par halt karta hai hamesha (reject) loop kar sakta hai
Complement ke under closed? ✅ Haan ❌ Nahi
Relationship Decidable ⊊ Recognizable superset
Key theorem decidable dono RE
Example (RE, undecidable)

Flashcards

Decider kya hai?
Ek TM jo har input par halt karta hai, members ko accept karta hai aur non-members ko reject karta hai.
Ek language decidable hai iff kaise TM exist kare?
Ek TM jo sabhi inputs par halt kare (ek total decider / recursive).
Ek language recognizable hai iff kaise TM exist kare?
Ek TM jo exactly members ko accept kare; non-members par woh reject YA loop forever kar sakta hai.
True/False: Har decidable language recognizable hoti hai.
True (ek decider pehle se recognizer ki condition aur usse zyada satisfy karta hai).
True/False: Recognizable languages complement ke under closed hain.
False — e.g. RE hai lekin nahi.
True/False: Decidable languages complement ke under closed hain.
True — accept/reject swap karo; kaam karta hai kyunki deciders hamesha halt karte hain.
Decidable aur recognizable ko link karne wala iff theorem batao.
decidable hai iff dono aur recognizable hain.
Iff-theorem proof mein aur parallel kyun run karte hain?
Kyunki ek ko puri tarah run karna loop forever kar sakta hai; dovetailing guarantee karta hai ki halting wali machine reach ho.
Ek recognizable lekin undecidable language batao.
.
decidable kyun hai?
Ek DFA exactly steps mein halt karta hai, isliye simulation hamesha terminate karta hai.
recognizable kyun nahi hai?
Agar hoti, toh aur uska complement dono RE hote, ko decidable bana dete — contradiction.
Yahan "enumerable" ka matlab kya hai?
Ek TM language ki saari aur sirf wohi strings list (print) kar sakta hai; recognizable hone ke equivalent hai.

Connections

Concept Map

can

can

can

creates asymmetry

has

has

allowed only in

subset of

generates

closed under

NOT closed under

iff L and complement both

Turing Machine on input

Accept

Reject

Loop forever

Halt guarantee difference

Decidable / Recursive

Recognizable / RE

Decider always halts

Recognizer may loop

Complement