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

סגירות RE לאיחוד בר-מניה

עריכה

נניח קבוצה בת מניה של שפות  , שכ״א מהן ב־RE. נניח שברשותנו פונקציה בת־חישוב   אשר לכל מספר טבעי   מייצרת את  .

נסמן את איחודן כ:

 
  1. מדוע אי אפשר להראות באינדוקציה ש־ ?
  2. הוכח כי  .
  3. האם החיתוך של השפות,   ב־RE ?

רמז לסעיף 2: נסה "לסמלץ" בבת אחת את כ״א מהשפות המרכיבות את  .


הפתרון

נבנה מ״ט אשר בהנתן מילה   מבצעת לולאה חיצונית ופנימית.

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

אם אחת מהמ״ט קיבלה את  , אז היא מחזירה שהמילה התקבלה, והמכונה הכוללת מקבלת.


 
שיטה זו של "מיקבול וירטואלי" של חישובים שונים ע"י סדרה עולה של חישובים חלקיים נקראת dovetailing, והיא טכניקה שימושית בחישוביות.


שפה כריעה ניתנת למניה לקסיקוגרפית

עריכה

עבור שפה כלשהי L, נאמר שמ״ט M מונה את המילים ב־L אם על קלט ריק M רושמת על סרט הזיכרון את כל המילים ב־L (ורק אותן). אם L שפה אינסופית, אזי כל מילה ב־L בהכרח תופיע על הסרט לאחר זמן סופי (M לעולם לא עוצרת, וממשיכה לרשום את כל המילים..)

הוכח:   אם ורק אם קיימת מ״ט המונה את כל המילים ב־L לפי סדר לקסיקוגרפי