תורת החישוביות/כריעות שפות/קיום שפות שאינן כריעות

מתוך testwiki
קפיצה לניווט קפיצה לחיפוש

תבנית:תורת החישוביות

בחלק הקודם ראינו מספר מחלקות של שפות: הכריעות - R, והכריעות למחצה - RE ו-coRE. בחלק זה נראה שאכן יש שפות במחלקות אלו. בחלק הבא, רדוקציה חישובית, נראה טכניקה כללית מאד, המראה כיצד אפשר לעתים להראות ששפה כלשהי איננה כריעה (לחלוטין או למחצה) על סמך זאת ששפה קודמת כלשהי הוכחה ככזו.

בקיום שפות לא כריעות נראה שקיימות שפות שאינן כריעות ע"י דוגמה לשפה כזו. בקיום שפות לא כריעות למחצה נראה שלמעשה יש אינספור שפות שאינן אפילו כריעות למחצה (ולכן יש אינספור שפות שאינן כריעות).

קיום שפות לא כריעות

בכריעות למחצה חיובית, ראינו את שפת בעיית העצירה, LHP. נראה ששפה זו איננה כריעה (זו למעשה פורמליזציה של מה שראינו בחלק המוטיווציה במבוא לספר). תבנית:טענה הוכחה: נניח, על דרך השלילה, שקיימת מ"ט המכריעה את LHP, כלומר, לכל קלט (M,x) המכונה עוצרת ומקבלת/דוחה בהתאם לשאלה 'האם המכונה M עוצרת על קלט x'. נקרא למכונה זו H. כעת נבנה את המכונה H באופן הבא:

  1. בהנתן הקלט קידוד מ"ט M, המכונה קודם תריץ את H(M,M), (נזכור שתמיד חלק זה עוצר, שכן הנחתנו בשלילה היא שהבעיה כריעה, ו־H מימוש שלה).
  2. אם התשובה חיובית, אז H תכנס ללולאה אינסופית. אחרת, היא תעצור.

כעת נקבל מצב אבסורד לגבי הריצה של H על הקלט x=H, כלומר עבור ההרצה H(H):

  1. אם המכונה עוצרת בהרצה זו, אז בהכרח H(H,H) החזירה תשובה שלילית (מפני שהיא השלב הראשון בריצת H שכתוצאתו הוחלט לעצור). אבל לפי ההגדרה, משמעות תשובה שלילית זו היא ש־H(H) איננה עוצרת, ולכן יש סתירה.
  2. לעומת זאת, אם המכונה איננה עוצרת בהרצה זו, אז בהכרח H(H,H) החזירה תשובה חיובית (שוב, מפני שהיא השלב הראשון בריצת H שכתוצאתו הוחלט להיכנס ללולאה אינסופית). אבל לפי ההגדרה של H, משמעות תשובה חיובית זאת היא ש־H עוצרת על הקלט H, וזו שוב סתירה.

נסכם: השפה LHP אינה כריעה, אבל הינה כריעה למחצה חיובית (ע״י מ״ט טריוויאלית שעל (M,x) שמנסה להריץ את M על הקלט x, ולראות האם M עוצרת..) לפיכך, LHPRER.

קיום שפות לא כריעות למחצה

משיקולי מניה אפשר לראות שבהכרח יש אינספור שפות שלא רק שאינן כריעות, אלא שאינן אפילו כריעות למחצה (כלומר, יש אינספור שפות שאינן ב REcoRE.)

ראשית נראה שיש יותר שפות ממחרוזות. תבנית:טענה

תבנית:הוכחה

קל לראות משיקולי ספירה שמספר השפות ב־REcoRE הוא לכל היותר מספר מ״ט השונות (כי כל מ״ט מגדירה שפה, ואם השפה ב־REcoRE אז קיימת מ״ט שמקבלת כל מילה בה או שקיימת מ״ט שדוחה כל מילה שאינה בה, לפי הגדרת המחלקות RE ו־coRE). בנוסף, כמות מ״ט הקיימות הוא לכל היותר כמות המחרוזות מעל האלפבית הבינארי, מכיוון שכל מ״ט ניתנת לקידוד למחרוזת בינארית. (העוצמה של REcoRE היא 0)

מאידך, עוצמת קבוצת כלל השפות היא גדולה בהרבה, 20. בפרט, יש הרבה יותר שפות מאשר גודל הקבוצה REcoRE, משמע, קיימות שפות שאינן ב־REcoRE (למעשה, מרבית השפות אינן ב־REcoRE).


תבנית:תורת החישוביות