תורת החישוביות/כריעות שפות/משפט רייס/תרגילים

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

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

אופטימיזציית מ"ט

בהנתן מ"ט M הפועלת על מחרוזות, ברצוננו לדעת האם אפשר לבצע אופטימיזציה ולייצר מכונה שמקבלת את אותה שפה, כך שזמן ריצתה יהיה קטן מ־|x|, אורך הקלט שלה. האם זו בעיה כריעה?

תבנית:מוסתר

זיהוי שפה ריקה

נגדיר L={ML(M)=} מהי התכונה המתאימה למשפט רייס? האם השפה רקורסיבית? תבנית:מוסתר

מ״ט המבקרת בכל המצבים

בהנתן מ"ט M ומחרוזת x, ברצוננו לדעת האם M עוברת בכל אחד ממצביה הלא־סופיים,

L={MM visits each state in QF}

האם ניתן להשתמש במשפט רייס כדי לטעון שהבעיה איננה כריעה באופן כללי? אם כן, נמק. אם לא, הסבר היכן קורסת ההוכחה.

אופטימיזציית מ"ט

בהנתן מ"ט M הפועלת על מחרוזות, ברצוננו לדעת האם אפשר לטייב אותה כך שזמן ריצתה יהיה פולינומי ב-|x|, כלומר אורך הקלט שלה. האם זו בעיה כריעה?

הכרעת תכונות לא-טריוויאליות איננה נתנת למניה רקורסיבית

הוכח את המשפט הבא: תבנית:משפט

תבנית:מוסתר

הכרחיות תנאי 1 למניה רקורסיבית של שפות בעלות תכונה

הראה את הכרחיות התנאי הראשון להיות החלטת תכונה ב-RE. דהיינו, הראה שאם התנאי הבא אינו מתקיים:

אם LS, וכן L,LRE, וכן LL, אז LS

אז LSRE.

הנחיה: הראה שאם התנאי אינו מתקיים, אך LSRE, אז אפשר לכל מ"ט M ומחרוזת x להכריע האם M מקבלת את x (כלומר, להכריע את בעיית העצירה).

נניח ש-M ו-M הן המ"ט של L וL, בהתאמה. בנה את המכונה הבאה Q. בהנתן קלט w, המכונה פועלת בשני שלבים. בשלב הראשון, המכונה מריצה "במקביל" את M על x ואת L על w:

  1. בלולאה, היא מריצה מונה i=0,1,2,
  2. עבור כל אינדקס i, היא מריצה i צעדים של M ו-i צעדים של M.

אם במהלך השלב הראשון M מקבלת את w, המכונה תחזיר תשובה חיובית. אחרת, היא תמשיך לשלב השני.

בשלב השני, המכונה מריצה את M על w, ומחזירה את תשובתה.

הכרחיות תנאי 2 למניה רקורסיבית של שפות בעלות תכונה

הראה את הכרחיות התנאי השני להיות החלטת תכונה ב-RE. דהיינו, הראה שאם התנאי הבא אינו מתקיים:

אם LS,, אז יש ל-L תת-שפה סופית LL המקיימת LS

אז LSRE.

הנחיה: הראה שאם התנאי אינו מתקיים, אך LSRE, אז אפשר לכל מ"ט M ומחרוזת x להכריע האם M מקבלת את x (כלומר, להכריע את בעיית העצירה).

נניח ש-ML היא מ"ט של L, בהתאמה. בנה את המכונה הבאה, Q. בהנתן קלט w, המכונה פועלת בשני שלבים. בשלב הראשון, המכונה Q מריצה את M על x במשך |w| שלבים. אם במהלך שלב זה M קיבלה את x, אז המכונה Q תחזיר תשובה שלילית. אחרת היא תמשיך לשלב השני.

בשלב השני, המכונה Q מריצה את ML על w, ומחזירה את תשובתה.

הכרחיות תנאי 3 למניה רקורסיבית של שפות בעלות תכונה

הראה את הכרחיות התנאי השלישי להיות החלטת תכונה ב-RE. דהיינו, הראה שאם התנאי הבא אינו מתקיים:

שפת כל השפות הסופיות ב-S היא ב-RE (כלומר, יש מ"ט המונה כל שפה סופית ב-S).

אז LSRE.

רמז: שים לב שמה שיש להוכיח הוא שאם LSRE, אז כל תת-שפה סופית של יש מ"ט המונה כל שפה סופית ב-S.

הרחבת משפט רייס לn-יות

תבנית:מבנה תבנית

  1. הוכח שLSR.
  2. הראה שבעיית ההחלטה האם שתי מ"ט מקבלות אותה שפה - איננה כריעה.