אוטומטים - תרגול 13: רדוקציות, משפט רייס וחזרה למבחן E תכונה תכונה הינה אוסף השפות מעל.(property המקיימות תנאים מסוימים (תכונה במובן של Σ תכונה לא טריביאלית: תכונה היא תכונה לא טריוויאלית אם היא מקיימת:. E.1.. { : ( ) } < M M משפט :ce לכל תכונה לא טריוויאלית, השפה יתרה מכך מתקיים: אם אזי E אינה כריעה-טיורינג. { : Halts on every nput} A H < M M שאלונת: האם ניתן להוכיח באמצעות משפט רייס כי השפה איננה ב- E. תשובה: A H היא תכונה של מכונת הטיורינג לא ניתן להשתמש במשפט,ce כיוון שהתכונה של כל המילים ב- המקודדת (עוצרת תמיד\לא עוצרת תמיד), ולא תכונה של שפת המכונה המקודדת. { < M : M ) s context -free} con. שאלה 1: נתונה השפה הבאה:? con E האם E : s context -free תשובה: נגדיר את התכונה הבאה:. נשים לב כי עבור התכונה הנ"ל מתקיים: { } con התכונה לא טריוויאלית שכן מקיימת:. E { a n : n 0} E \ n : { לא חסרת הקשר 0} n : { וגם 0} E. { a} a n a n.1. לפי משפט ce מתקיים E יתרה מכך, ולכן לפי המשפט: מסקנה: con E 1
תירגול 13 { < M : M s not regular} not reg ) { }. E : s not regular?? שאלה : נתונה השפה הבאה: E א. ב. האם האם תשובה לסעיף א: נגדיר את התכונה הבאה:.E תת קבוצה של שפות ב- שכן E נשים לב כי עבור התכונה הנ"ל מתקיים:. E { a} E \ התכונה לא טריביאלית שכן מקיימת: a} { וגם a} { רגולרית E.1. { a b : n 0}. E לפי משפט ce מתקיים מאחר ו-, לא מתקבל מהמשפט ש- מסקנה: תשובה לסעיף ב: נראה כי E f המקיימת:.(" אזי רעיון ההוכחה: תחילה נראה כי f ניתנת לחישוב.. x f ( x) ע"י כך שנראה שקיימת רדוקציה בין השפות, כלומר קיימת E (לפי המשפט: " אם וגם E E E.1.. מאחר ו-, E \ נובע כי מאחר ו- E וגם נובע כי כנדרש. {, : ( )} w, < M < w ו- M הוכחה: תזכורת: היא אוסף המילים שאינן ב- { a b : 0} תהי f הפונקציה הבאה: M1, x M, w f ( x) < < < < M, x < M, < w ) M (שפה זו היא חסרת הקשר ולכן 1) כאשר היא מ"ט שהשפה שלה היא n M היא מכונה הפועלת באופן הבא: קיימת מ"ט המקבלת אותה, וקיים קידוד של מ"ט כזו), ו- M 1
א. תירגול 13 M תיאור פעולת M על קלט y: ya עבור 0 n אזי א. אם n b n ב. אחרת, מתעלמת מ- y, מריצה את מקבלת. M על w, ועונה כמוה. M נתאר את השפה של M כתלות ב- <M ו <w: נשים לב כי כל קלט בשפה n 0 a b : מתקבל ע"י } { (מתקבל כבר בשלב א). קלטים שאינם בשפה 0} n { a b : מתקבלים אם"ם M מקבלת את w (בשלב ב מתקבל כל קלט אם M מקבלת את w, ואם M לא מקבלת את w לא מתקבל אף קלט). אם כן, מתקיים: a b, w M ) M ) Σ, w M ) not reg ל- טענה: f רדוקציה מ-. < M < M 1 not reg הוכחה: כדי להוכיח ש f רדוקציה מ- f ניתנת לחישוב. x א. ל- יש להוכיח את הטענות הבאות:. f ( x. f ( x ) ) x 1: בדיקת החוקיות ויצירת הפלט הן פעולות הניתנות לחישוב. הפונקציה f בודקת אם הקלט הוא מהצורה <w < M, < ובהתאם מייצרת את הפלט M 1 היא מכונה קבועה וניתן ליצור קידוד של מכונה כזאת. את הקידוד המכונה הנתון M < ו- w <. ב. או M ניתן להגדיר מהקלט.1. ( M 1 ) { a b : n x שני מקרים אפשריים: x) f ( ו- 0} < M1 x < M, < w ) 1 M לא רגולרית.. M < 1. f ( x).w ומקבלת את לא ו- M < M, < w ( M ) { a b : n ו-{ 0 f ( x) < M ) M לא רגולרית..< M. f ( x) x מהצורה א. ב. : 3
ב. תירגול 13.w מקבלת ו- M x< M, < w x x : רגולרית. M ) Σ ו- f ( x) < M M ) (. f ( x), כלומר not reg אם כן, הוכחנו ש- f רדוקציה מ- מאחר ו- ל- E לפי משפט הרדוקציה מתקיים, E לקט שאלות קצרות ממבחנים: 10) נקודות) אם E \ אזי גם E \ { w: הגדרה: } w בסעיף זה - אם אתם משתמשים ברדוקציה די להראות את פונקצית הרדוקציה ואין צורך להוכיח את נכונותה. א. לא יודעים לא נכון נכון נכון הסבר קצר או דוגמה נגדית: : E נראה שאם E \ אזי גם וגם בכדי לראות ש E די להראות רדוקציה. f ( x) פונקצית הרדוקציה: x בכדי לראות ש די להראות רדוקציה. f ( x) גם כאן פונקצית הרדוקציה: x 4
תירגול 13 Σ ב. קיימת שפה לא רגולרית Σ כך ש- נכון נכון דוגמה לשפה כזו או הסבר מדוע אין כזו: לא נכון לא יודעים { a b : n 0} ( a b) a) b( תהי a b)) a + b אינה רגולרית כיוון שהחיתוך שלה עם השפה הרגולרית ) + { הוא 0} n. a b : אולם Σ כיוון ש a b : n 0) ( a b) a) b( a b)) ( a b) a) b( a b)) Σ double( ) { w1w : w1 w w1, w נגדיר { (כלומר, קבוצת כל השרשורים האפשריים של שתי מילים באותו אורך מ- ),a { רגולרית, אזי גם double() רגולרית. טענה: אם {b ג. נכון לא נכון לא יודעים דוגמה נגדית (והסבר) או הסבר קצר מדוע הטענה נכונה: תהי a b שפה רגולרית. אבחנה: מכל אורך גדול מ- 0 יש ב- מילה אחת בדיוק. double( ) { a ba b : n 0} n n נקבל לא רגולרית. a +1 a ד. תהי שאינה שפה חסרת הקשר ו-..., a, a 1 אינם חסומים נכון או לא נכון? סדרת ארכי המילים ב- אז מתקיים שההפרשים. b p שראינו שאינה ח"ה, ונגדיר לא נכון. למשל- ניקח את השפה pre} { a p s. לכל 1 a 1 a אינה ח"ה אבל עבורה מתקיים 1 + 5
ט תירגול 13. אך ייתכן ש- E למשל: למדנו ה. אם E \ ו- אז E \ לא נכון. אמנם ממשפט הרדוקציה נובע שמכיוון ש- Σ E אולם acc Σ acc ו- ש- E \ גם { < M : { < M : < M < M במספר צעדים אי-זוגי או שאינה מקבלת את < M במספר צעדים זוגי } M אינה מקבלת את - 008 מועד א נתונה השפה הבאה: } M מקבלת את או בצורה שקולה : ( M ) 10) נקודות) נתונה מ"ט M המקבלת שפה בנו מ"ט M, כך ש- M ), w המכונה M מקבלת את w במספר זוגי של צעדי חישוב. א. וגם לכל רעיון הבניה: M תשתמש בפונקצית המעברים של M ועל כל מעבר ב- M נאלץ את M מעברים עי מעבר למצב ביניים שלא משפיע על החישוב של M. ובאופן פורמלי: לבצע שני M { Q, Σ, Γ, δ, s, q acc, q ( δ ו- q, a) ( δ ו- q, a) ( δ ו- q, a) ( q, a, ( q, a, ( q, a, re } : M : M : M בהינתן מ באופן הבא: q לכל מצב Q Q, M { המקבלת Σ, Γ, δ, s, q acc, qre}, נבנה מ ט. Q { q, q q Q} כלומר q נוסיף מצב : a,b Γ a) δ ( q, ניצור שני מעברים ב- ( q, b, ).δ ( q, a) a) δ ( q, ניצור שני מעברים ב- ( q, b, ).δ ( q, a) a) δ ( q, ניצור שני מעברים ב- ( q, b,.δ ( q, a) לכל q, q Q ו- אם קיים מעבר ( q, b, ) אם קיים מעבר ( q, b, ) אם קיים מעבר ( q, b, נכונות הבניה: אם w אזי ) M w ולכן קיימת סדרת קונפיגורציות ב- M שמגיעה למצב מקבל ולפי הבניה שלנו w עוברת אותה סדרה כאשר כל מעבר בין קונפיגורציות עוקבות ב- M מוחלף בשני מעברים ב- M ולכן אם w התקבלה ב- M תוך t צעדים, w תתקבל ב- M תוך t צעדים. אם w אזי w לא מתקבלת ב- M ולפי הבניה שלנו w לא תתקבל ב- M. 6
ע( ט תירגול 13 ב. (0 נקודות) הוכיחו ש E רמז: הניחו בשלילה כי קיימת (לשאלה זו מקום נוסף בעמוד הבא) המקבלת את וחישבו מה יקרה אם נפעיל עליה את סעיף א. פתרון 1: "י לכסון) ותהי נניח בשלילה כי E מט המקבלת אותה. לפי סעיף א קיימת מ מקבלת את כך ש- M < במספר צעדים זוגי., <, < M : < ( M ) וכמו כן, לכל M ) כעת נתבונן בהתנהגות של אם על הקלט מקבלת את במספר צעדים זוגי. מהגדרת ( ) ( M ) ולכן לא קיימת M ) < M ולכן, וזו סתירה לכך ש-. < M אזי ) < M ולכן < M אזי מהגדרת אם ) ) בשני המקרים ראינו כי מט המקבלת את כלומר E ) 7
תירגול 13 1 1 וגם 1 ( אם הן -שקולות ) 1 ו- (10 נקודות) שפות כמה מחלקות שקילות יש ליחס? סמן את כל התשובות הנכונות ונמק. ℵ 0 לא יודעים ℵ 0 { : } 4 3 הסבר/ים: טענה :לכל היא בת מניה. הקבוצה היא בת מנייה, כלומר כל שרשרת יורדת ביחס x ϕ ( x) ב וגם שאינו ( ) x ϕ ( x) הוכחה : קל לראות שאם מתקיים עבור N כלשהו אז, כי אחרת, בלי הגבלת הכלליות, קיים איבר x ו ( ) x) ϕ ( שזו סתירה. אבל מראה כי ϕ כלומר אם לא יתכן כי פונקציה מסויימת { : { פונציות חשיבות, לכן הקבוצה ℵ 0 קיימות היא בת מנייה. ) כל שפה קטנה מכל האחרות, לכן מהטענה נובע כי כל מחלקת שקילות היא בת מניה. במחלקת שקילות ) ℵ 0 ℵ 0 קיימות שפות, לכן קיימות מחלקות שקילות.,3,4 מחלקות). (כמובן שיש גם ℵ 0 8