Undecidability

الفصل العاشر: عدم القابلية للقرار وحدود الحوسبة

الهدف: فهم الفرق بين Recursive و RE، وإثبات أن بعض المشاكل لا حل لها (Halting Problem).
1

The Hierarchy of Solvability

ليست كل اللغات "قابلة للحل". هناك تصنيف دقيق لما تستطيع آلة تورنغ فعله:

  • 1. Recursive Languages (Decidable) آلة تورنغ تتوقف (Halt) دائماً.
    الجواب دائماً: "نعم" أو "لا". (هذه هي الخوارزميات الحقيقية).
  • 2. Recursively Enumerable (RE) إذا كانت الكلمة في اللغة، الآلة تتوقف وتقول "نعم".
    إذا لم تكن، قد تتوقف وتقول "لا"، أو قد تستمر للأبد (Loop Forever).
  • 3. Non-RE Languages لغات لا توجد آلة تورنغ تستطيع التعرف عليها أصلاً! (خارج حدود الحوسبة).
All Languages (Non-RE)
RE
Recursive
2

The Diagonalization Language ($L_d$)

أول لغة غير قابلة للحساب (Non-RE)

بما أننا نستطيع ترميز أي آلة تورنغ كسلسلة ثنائية $w_i$، يمكننا تخيل جدول يجمع كل الآلات الممكنة $M_i$ وكل المدخلات الممكنة $w_j$.

w1w2w3...
M1010...
M2110...
M3000...
تعريف $L_d$: هي مجموعة السلاسل $w_i$ التي لا تقبلها الآلة $M_i$.
$$ L_d = \{ w_i \mid w_i \notin L(M_i) \} $$
النتيجة: $L_d$ تختلف عن كل لغة يقبلها أي $M_i$ (على الأقل في الخانة القطرية).
$\therefore$ لا توجد آلة تورنغ تقبل $L_d$. ( $L_d$ is Not RE).
3

The Universal Language ($L_u$)

$$ L_u = \{ (M, w) \mid M \text{ accepts } w \} $$

هل نستطيع بناء آلة (Universal TM) تأخذ وصف آلة أخرى $M$ ومدخل $w$ وتخبرنا هل ستقبل $M$ هذا المدخل؟

RE (Yes) يمكننا محاكاة $M$ على $w$. إذا توقفت وقبلت، سنقول "نعم".
Recursive (No) إذا دخلت $M$ في حلقة لا نهائية، سنظل ننتظر للأبد ولن نستطيع أن نقول "لا".

النتيجة: $L_u$ هي RE ولكنها Undecidable.

4

The Halting Problem (مشكلة التوقف)

هل سيتوقف البرنامج؟

هل يوجد خوارزمية تأخذ أي برنامج $P$ ومدخل $I$، وتقرر (دائماً وبشكل صحيح) ما إذا كان $P$ سيتوقف أم سيستمر للأبد؟

الإجابة: مستحيل! (Undecidable)

الدليل (Proof Sketch):

  1. افترض وجود آلة $H$ تحل المشكلة.
  2. اصنع آلة جديدة $D$ تستخدم $H$ وتعكس نتيجتها (إذا قالت $H$ سيتوقف، $D$ تدخل في حلقة لا نهائية، والعكس).
  3. شغل $D$ على نفسها ($D(D)$).
  4. تحدث تناقض منطقي (Paradox) $\to$ الفرضية خاطئة ولا وجود لـ $H$.
🛡️ EXAM VAULT (خزنة الاختبار)
THEORY / نظرية هامة

Recursive Languages & Complements

اللغة $L$ تكون Recursive إذا وفقط إذا كانت:
1. $L$ هي RE.
2. ومكملتها $\bar{L}$ هي أيضاً RE.
إذا كانت $L$ هي RE ولكن $\bar{L}$ ليست RE، فإن $L$ تكون Undecidable (مثل $L_u$).

METHOD / طريقة إثبات

Reduction (التقليص)

لإثبات أن مشكلة جديدة $P_{new}$ غير قابلة للحل:
حول مشكلة التوقف (Halting) المعروفة باستحالتها إلى $P_{new}$.
إذا استطعت حل $P_{new}$، فهذا يعني أنك حللت Halting Problem (وهذا مستحيل).
$\therefore P_{new}$ مستحيلة الحل.

→ السابق (Ch 9) الفصل التالي (Ch 11) ←