חוברת עזר, ע"י חיים אברבוך - אתר מדעי המחשב של הילה קדמן
Transcription
חוברת עזר, ע"י חיים אברבוך - אתר מדעי המחשב של הילה קדמן
מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר )שפת ראי לא מסומנת( אוטומט מחסנית דטרמיניסטי שפות חופשיות הקשר )שפת ראי מסומנת( סגירות:איחוד,שרשור,היפוך, חיתוך עם שפה רגולרית אוטומט סופי דטרמיניסטי שפות רגולריות סגירות:חיתוך,איחוד,שרשור,משלים,היפוך © כל הזכויות שמורות 1 © זכויות יוצרים עלות השימוש בספר זה החל משנת 2012-2013הינה 10שקלים. את עלות השימוש יש להעביר ל: אברבוך חיים מרדכי 11רמת השרון מיקוד 47441 בספר הושקעו זמן ומחשבה מרובים על מנת לעשותו קריא ומובן לכל .אשמח לקבל תגובות הערות תוספות ותיקונים. [email protected]או [email protected] תודה מראש לכל מי שהכללתי שאלות ופתרונות שלו. כל מי שרואה עצמו נפגע מכך נא לשלוח לי מייל. © כל הזכויות שמורות. © כל הזכויות שמורות. בהצלחה © כל הזכויות שמורות 2 הערה :לעיתים בתוכן הענינים האותיות האנגליות יצאו גדולות כאשר בספר עצמו הן קטנות8 ...................... ................................ . הקדמה 8 ............. ................................ ................................ ................................ ................................ ................................ כיצד ללמוד 8 ...................................... ................................ ................................ ................................ ................................ 9 .... מהו אוטומט סופי דטרמיניסטי-אס"ד 9 ................................... ................................ ................................ ................................ מילה/שפה 13 ...................................... ................................ ................................ ................................ ................................ דף תרגילים מספר -1השלם פונקצית מעברים 16 ...................... ................................ ................................ ................................ דף תרגילים מספר -2השלם את החיצים 17 ............................. ................................ ................................ ................................ דף תרגילים מספר -3רשום את השפה המתקבלת לכל אחד מהאוטומטים הבאים 19 .......... ................................ ................................ תפקיד המצבים 22 ............................... ................................ ................................ ................................ ................................ צמצום תנאי שפה 23 ............................ ................................ ................................ ................................ ................................ דגשים לבניית אוטומט סופי 24 .............. ................................ ................................ ................................ ................................ תנאים על אס"ד 25 ............................ ................................ ................................ ................................ ................................ אוסף תרגילים פתורים באס"ד 25 ......................................... ................................ ................................ ................................ דף תרגילים מספר -4בנה אס"ד מתאים לשפה נתונה 30 .............. ................................ ................................ ................................ דף תרגילים מספר -5בנה אס"ד מתאים לשפה נתונה 30 .............. ................................ ................................ ................................ דף תרגילים מספר -6ביצוע מעקב והגדרת שפה 30 ................... ................................ ................................ ................................ דף תרגילים מספר -7מה מייצג כל מצב 33 .............................. ................................ ................................ ................................ תאור אוטומט באמצעות טבלה 35 ........... ................................ ................................ ................................ ................................ שפות "מיוחדות" 37 ............................ ................................ ................................ ................................ ................................ השפה הריקה 37 ............................... ................................ ................................ ................................ ................................ השפה המכילה את המילה הריקה בלבד 37 .............................. ................................ ................................ ................................ שפה שמספר המילים בה סופי 37 .......... ................................ ................................ ................................ ................................ דף תרגילים מספר -8בנית אס"ד 38 ...................................... ................................ ................................ ................................ שפות שמתוארות על ידי חזקה 39 .......... ................................ ................................ ................................ ................................ דף תרגילים מספר 8א' -בנית אס"ד 40 .................................. ................................ ................................ ................................ אוטומט לא דטרמיניסטי/אוטומט לא שלם 40 ........................... ................................ ................................ ................................ דף תרגילים מספר -9תרגילים שונים 42 ................................. ................................ ................................ ................................ דף תרגילים מספר -10אוטומט סופי לא דטרמיניסטי 47 .............. ................................ ................................ ................................ אוטומט מכפלה 48 ............................... ................................ ................................ ................................ ................................ דף תרגילים מספר -11אוטומט מכפלה 55 ............................... ................................ ................................ ................................ מונחים (הדפס דפים אלה) 56 ................. ................................ ................................ ................................ ................................ סגירות שפות רגולריות תחת פעולות 58 ................................... ................................ ................................ ................................ © כל הזכויות שמורות 3 חיתוך -גם( L1∩L2פירושו כל המילים המתקבלות הן ב L1והן ב58 ................. ................................ ................................ .) L2 איחוד -או ( L1 L2פירושו כל המילים המתקבלות ב L1או ב 58 .................... ................................ ................................ .) L2 שרשור( L1· L2פירושו כל המילים אשר ניתן לחלק אותן לשני חלקים כך שהחלק השמאלי שייך ל L1והימני ל 58 ......................... )L2 ) R(Lפירושו היפוך Lמסומן גם כ 58 ............................. ................................ ................................ ................................ . LR משלים ) (Lמסומן L פירושו כל המילים שאינן מתקבלות ב 59 ........................... ................................ ................................ . L הכלה (השפות הרגולריות אינן סגורות תחת פעולה זו ) 59 .......... ................................ ................................ ................................ אוסף תרגילים פתורים בהוכחת רגולריות בעזרת חוקי סגירות 59 ................................. ................................ ................................ תבנית להוכחת רגולריות של שפה 61 ..................................... ................................ ................................ ................................ אוסף תרגילים פתורים בפעולות על שפות 65 ........................... ................................ ................................ ................................ דף תרגילים מספר -12סגירות שפות רגולריות ופעולות בין שפות 68 ........................... ................................ ................................ שאלות ופתרונות שניתנו בקורס מורים מובילים בהנחיית ד"ר מיכל ארמוני 72 ................ ................................ ................................ הכלת שפות 79 ................................. ................................ ................................ ................................ ................................ הוכחת אי רגולריות 81 .......................... ................................ ................................ ................................ ................................ תבנית הוכחה לשפה אי רגולרית 83 ....................................... ................................ ................................ ................................ טעויות שכיחות בהוכחת אי רגולריות 89 ................................. ................................ ................................ ................................ דף תרגילים מספר -13הוכחת אי רגולריות 95 .......................... ................................ ................................ ................................ 97 ............. הסבר על אוטומט מחסנית באמצעות תרגילים 98 ...................... ................................ ................................ ................................ 99 ........................... ................................ ................................ ................................ ................................ L=ANBN N≥0 100 ......................... ................................ ................................ ................................ ................................ L=ANBN N>0 מקרים בהם מספר ה Aגדול או קטן ממספר ה Bים בכפולה101 .................................. ................................ ................................ . 101 ......................... ................................ ................................ ................................ ................................ L=ANB3N N0 101 ......................... ................................ ................................ ................................ ................................ L=A3NBN N>0 102 ........................ ................................ ................................ ................................ ................................ L=A2NB3N N>0 103 ...................... ................................ ................................ ................................ ................................ L= A2NB3N N0 מקרים בהם מספר ה Aגדול או קטן ממספר ה Bים בקבוע103 .................................... ................................ ................................ . 104 ........................ ................................ ................................ ................................ ................................ L=ANBN+1 N0 104 ........................ ................................ ................................ ................................ ................................ L=AN+1BN N0 105 ...................... ................................ ................................ ................................ ................................ L=AN-1BN-2 N0 מקרים בהם יש שילוב של כפולה וקבוע 106 ........................... ................................ ................................ ................................ 106 ...................... ................................ ................................ ................................ ................................ L=AN+1B3N N0 106 .................... ................................ ................................ ................................ ................................ L=AN+1B3N-2 N0 106 .................... ................................ ................................ ................................ ................................ L=AN+1B3N-1 N0 107 ................... ................................ ................................ ................................ ................................ L=A2N+1B3N-1 N0 מקרים בהם נדרש להכניס יותר מאות אחת למחסנית 108 ........... ................................ ................................ ................................ 108 ............. ................................ ................................ ................................ ................................ L= ANBK CKDN K,N>0 108 ........... ................................ ................................ ................................ ................................ L= ANBK+1 CKDN K,N>0 מספר ה Aים שווה למספר ה Bים 110 ................................... ................................ ................................ ................................ © כל הזכויות שמורות 4 מקרים בהם יש לבצע הצבה עקב סימן מינוס בחזקה 110 ............ ................................ ................................ ................................ 111 .............. ................................ ................................ ................................ ................................ L= ANBN-KCK N≥K≥0 דף תרגילים מספר -14בנית אוטומט מחסנית 111 ..................... ................................ ................................ ................................ 112 ....................... ................................ ................................ ................................ ................................ L= ANBK+1 CKDN 112 ............................. ................................ ................................ ................................ ................................ L= A2N-1B3N שילוב של אוטומט רגיל ואוטומט מחסנית 113 ......................... ................................ ................................ ................................ מקרים בהם אין צורך בהכנסת 115 ..................................... ................................ ................................ ................................ S 117 ................. ................................ ................................ ................................ ................................ L= A2N+1BN+2 N0 תרגילים שונים (רובם פתורים) 118 ...................................... ................................ ................................ ................................ }124 ...................................... ................................ ................................ ................................ L={ANBKN, K≥0, K=N/2 מחרוזת פנינים 124 ........................... ................................ ................................ ................................ ................................ תרגיל (דורון זוהר) } 125 ...................... ................................ ................................ L={ (YX)NZK(XY)JN,K≥0 N<J K EVEN אוטומט מחסנית לא דטרמיניסטי 126 ...................................... ................................ ................................ ................................ מספר כללים לאוטומט מחסנית -חזקות 129 .............................. ................................ ................................ ................................ דף תרגילים מספר -15אוטומט מחסנית 130 ............................ ................................ ................................ ................................ דף תרגילים מספר -16אוטומט מחסנית 131 ............................ ................................ ................................ ................................ דף תרגילים מספר -17אסד ואוטומט מחסנית 131 ..................... ................................ ................................ ................................ סגירות שפות חופשיות הקשר 139 .......... ................................ ................................ ................................ ................................ שרשור ( L1· L2פירושו כל המילים אשר ניתן לחלק אותן לשני חלקים כך שהחלק השמאלי שייך ל L1והימני ל 140 ...................... )L2 איחוד ( L1L2פירושו כל המילים המתקבלות ב L1או ב 140 ......................... ................................ ................................ .)L2 היפוך 140 ................................... ................................ ................................ ................................ ................................ L ( L1∩L2פירושו כל המילים המתקבלות הן ב L1והן ב 141 ............................. ................................ ................................ .)L2 חיתוך שפה חופשית הקשר עם שפה רגולרית נותן שפה חופשית הקשר 141 .................... ................................ ................................ חיתוך שתי שפות חופשיות הקשר שחיתוכן אינו חופשי הקשר 141 ............................... ................................ ................................ 141 .................................. מהי מכונת טיורינג 142 ......................... ................................ ................................ ................................ ................................ מצב מקבל 143 ................................. ................................ ................................ ................................ ................................ הסבר על מכונת טיורינג באמצעות תרגילים 144 ....................... ................................ ................................ ................................ דוגמה א :מכונת טיורינג המחליפה Aל Bו Bל (Aבשפה מעל }144 .................... ................................ ................................ ) {A,B דוגמה ב :מכונת טיורינג המוסיפה Aבסוף המילה(בשפה מעל }144 .................... ................................ ................................ ) {A,B דוגמה ג :מכונת טיורינג המוסיפה 1למילה באורך איזוגי(בשפה מעל }144 .............. ................................ ................................ ) }1 דוגמה ד :מכונת טיורינג הבודקת שהאות האחרונה ( Aמעל } 145 ...................... ................................ ................................ ) } A,B דוגמה ה :מכונת טיורינג הבודקת שהאות הראשונה זהה לאחרונה (מעל } 145 ..................................... ................................ ) } A,B דף תרגילים 1במכונת טיורינג 146 ....................................... ................................ ................................ ................................ מכונת טיורינג לבדיקת שפות רגולריות (ניתן לבנות להן אוטומט סופי דטרמיניסטי) 147 ................................ ................................ מכונת טיורינג לשפות חופשיות הקשר ולא רגולריות 148 .......... ................................ ................................ ................................ © כל הזכויות שמורות 5 מקבלת מילים מעל } {A,Bשמתחילות ב Aומסתיימות ב Aואורך רצף ה Aבהתחלה ובסוף שווה 150 ................... ................................ מכונת טיורינג לשפות לא חופשיות הקשר 151 ......................... ................................ ................................ ................................ מקבלת את המילים מעל } {A,B,Cמהצורה 151 .................................... ................................ ................................ N≥0 ANBNCN מכונת טיורינג – תרגילים שונים 151 ...................................... ................................ ................................ ................................ מקבלת רצף של Aמוסיפה Aבסופו ותוחמת את רצף ה Aים בסימני דולר152 ............... ................................ ................................ . חיבור 152 ................... ................................ ................................ ................................ ................................ F(X,Y)=X+Y 153 ................................. ................................ ................................ ................................ ................................ F(X)=2X חיסור 153 ................................... ................................ ................................ ................................ X>0 X>Y F(X,Y)=X-Y למעשה ניתן בפיתרון להשתמש ב Xבלבד ואין צורך בשימוש בשתי אותיות גדולות שונות154 .................. ................................ . חיסור 154 .................. ................................ ................................ ................................ Y≥0 X >0 X+Y>Z F(X,Y)=X+Y-Z בנה מכונת טיורינג המבצעת חלוקה בשלוש עבור מספר אונרי 159 ............................... ................................ ................................ 162 ................. ................................ ................................ ................................ ................................ L= ANBNC2N N>=0 162 ................. ................................ ................................ ................................ ................................ L= ANBNCM M>=N 163 ................. ................................ ................................ ................................ ................................ L= ANBNCM N>=M מהי השפה המתקבלת על ידי מכונת טיורינג 164 ....................... ................................ ................................ ................................ כפל 166 ..................................... ................................ ................................ ................................ X>0 Y>0 F(X,Y)=X*Y תבניות במכונת טיורינג 170 ................... ................................ ................................ ................................ ................................ הערות למגן ולבגרות-דפי סיכום 171 ...................................... ................................ ................................ ................................ סוגי שאלות (לא מלא) 181 .................... ................................ ................................ ................................ ................................ בגרויות 181 ........................................ ................................ ................................ ................................ ................................ תשמ"ז 182 ..................................... ................................ ................................ ................................ ................................ תשמ"ח 182 .................................... ................................ ................................ ................................ ................................ תשמ"ח 183 .................................... ................................ ................................ ................................ ................................ תשמ"ט 184 .................................... ................................ ................................ ................................ ................................ תשן 184 ......................................... ................................ ................................ ................................ ................................ תשנב 185 ....................................... ................................ ................................ ................................ ................................ תשנג 185 ...................................... ................................ ................................ ................................ ................................ תש"ס 187 ...................................... ................................ ................................ ................................ ................................ תשס"א 188 .................................... ................................ ................................ ................................ ................................ תשס"ב 191 ................................ ................................ ................................ ................................ ................................ 13 תשס"ב 192 ................................ ................................ ................................ ................................ ................................ 14 תשס"ב 192 ................................ ................................ ................................ ................................ ................................ 15 תשס"ב 193 ................................ ................................ ................................ ................................ ................................ 16 פתרון 193 ...................................... ................................ ................................ ................................ ................................ תשס"ג 193 ................................ ................................ ................................ ................................ ................................ 11 תשס"ג 194 ................................ ................................ ................................ ................................ ................................ 12 תשס"ג 195 ................................ ................................ ................................ ................................ ................................ 13 תשס"ג 196 ................................ ................................ ................................ ................................ ................................ 14 תשס"ג 196 ................................ ................................ ................................ ................................ ................................ 15 תשס"ג 196 ................................ ................................ ................................ ................................ ................................ 16 © כל הזכויות שמורות 6 תשס"ד 197 ................................ ................................ ................................ ................................ ................................ 13 תשס"ד 198 ................................ ................................ ................................ ................................ ................................ 14 תשס"ד 198 ................................ ................................ ................................ ................................ ................................ 15 תשס"ד 198 ................................ ................................ ................................ ................................ ................................ 16 תשס"ה 200 ................................ ................................ ................................ ................................ ................................ 13 תשס"ה 201 ................................ ................................ ................................ ................................ ................................ 14 תשס"ה 201 ................................ ................................ ................................ ................................ ................................ 15 תשס"ה 201 ................................ ................................ ................................ ................................ ................................ 16 תשס"ו 203 ................................ ................................ ................................ ................................ ................................ 13 תשס"ו 204 ................................ ................................ ................................ ................................ ................................ 14 תשס"ו 204 ................................ ................................ ................................ ................................ ................................ 15 תשס"ו 205 ................................ ................................ ................................ ................................ ................................ 16 תשס"ז 206 ................................ ................................ ................................ ................................ ................................ 13 תשס"ז 206 ................................ ................................ ................................ ................................ ................................ 14 תשס"ז 207 ................................ ................................ ................................ ................................ ................................ 15 תשס"ז 207 ................................ ................................ ................................ ................................ ................................ 16 פתרון 208 ...................................... ................................ ................................ ................................ ................................ תשס"ח 209 ................................ ................................ ................................ ................................ ................................ 13 תשס"ח 210 ................................ ................................ ................................ ................................ ................................ 14 תשס"ח 211 ................................ ................................ ................................ ................................ ................................ 15 תשס"ח 212 ................................ ................................ ................................ ................................ ................................ 16 תשס"ט 212 ................................ ................................ ................................ ................................ ................................ 13 תשס"ט 213 ................................ ................................ ................................ ................................ ................................ 14 תשס"ט 214 ................................ ................................ ................................ ................................ ................................ 15 תשס"ט 214 ................................ ................................ ................................ ................................ ................................ 16 תש"ע 216 .................................. ................................ ................................ ................................ ................................ 13 תש"ע 216 .................................. ................................ ................................ ................................ ................................ 14 תש"ע 217 .................................. ................................ ................................ ................................ ................................ 15 תש"ע 219 .................................. ................................ ................................ ................................ ................................ 16 מבחן בגרות 231 ......................... ................................ ................................ ................................ ................................ 2011 מבחן בגרות 233 ......................... ................................ ................................ ................................ ................................ 2012 פתרון מבחן בגרות 236 ................ ................................ ................................ ................................ ................................ 2012 246 ............ ................................ © כל הזכויות שמורות 7 הערה :לעיתים בתוכן הענינים האותיות האנגליות יצאו גדולות כאשר בספר עצמו הן קטנות. הקדמה הנושא מודלים חישוביים הינו נושא הנלמד גם במסגרת לימודים על תיכוני .לימוד הנושא במוסד אקדמי כולל הרחבה של הנושא מעבר לתוכנית הלימודים בתיכון .הספר שלהלן מקיף את רוב תוכנית הלימודים לפי הנחיות משרד החינוך. הסבר המושגים בויקיפדיה נעשה באופן מדעי/אקדמי וכאמור מכיל הרחבה של תוכנית הלימודים למרות זאת מומלץ לעיין בו. כיצד ללמוד עליכם לקרוא את הספר . חובה לעין בכל דוגמא ובכל מה שמסומן בירוק עם רקע צהוב כמו כן לעיין היטב בתרגילים הפתורים. אין לעבור לפרק הבא לפני שפתרתם מספר תרגילים מכל פרק. לקרוא היטב את עמודי הסיכום. לגבי מבחני בגרות ןפתרונותיהם מומלץ לעיין באתר של הילה קדמן kadman.net © כל הזכויות שמורות 8 אוטומט_סופיhttp://he.wikipedia.org/wiki/ מהו אוטומט סופי דטרמיניסטי-אס"ד אוטומט הינו כלי/מכונה/ציור שמטרתו לתאר שינוי מצב כתוצאה מפעולה/קלט/אירוע כלשהו. (בהמשך נרחיב את הגדרת האוטומט) דוגמא :1אם אנו במצב "רעב" אזי לאחר שנאכל נעבור למצב "שבע". החץ מסמן את המצב שהינו נקודת ההתחלה/מוצא שלנו. בעיגולים נרשם מצב עכשווי וליד החיצים נרשמים האירועים. שבע אכלנו רעב דוגמא :2מנורה כבויה תדלק באם נרים את המתג ותכבה כאשר נוריד. מצב התחלתי-המנורה כבויה. דלוק הרמת מתג כבוי הורדת מתג מה קורה כאשר המתג מורם ואנו מנסים להרים אותו תשובה :המנורה תישאר דלוקה. או כשהוא מורד ואנו מנסים להוריד אותו? תשובה :המנורה תישאר כבויה. הרמת מתג דלוק הורדת מתג הרמת מתג כבוי הורדת מתג © כל הזכויות שמורות 9 אוטומט סופי דוגמא :3נתונה דלת שבה שני מנעולים .מספיק שאחד המנעולים יהיה במצב סגור על מנת שלא תפתח. במצב התחלתי הדלת פתוחה כלומר שני המנעולים פתוחים. שימו לב שרק עבור מצב אחד הדלת פתוחה ועבור שלושה מצבים נוספים הדלת סגורה. א סגור ב פתוח פתח א פתח ב סגור א סגור ב א פתוח ב פתוח א סגור ב סגור סגור ב סגור א פתח א פתח ב א פתוח ב סגור כמובן שניסיון לפתוח מנעול שהינו כבר פתוח או לסגור מנעול שהינו כבר סגור ישאיר אותנו באותו מצב. נשלים את האוטומט ונקבל פתח ב סגור א הדלת סגורה א סגור ב פתוח הדלת סגורה פתח ב פתח א פתח א סגור א סגור ב סגור א סגור ב הדלת פתוחה רה א פתוח ב פתוח א+ב סגורים פתח א סגור ב סגור א פתח ב הדלת ב סגור א פתוח סגורה פתח א סגור ב © כל הזכויות שמורות 10 אוטומט סופי פתח א פתח ב דוגמא :4 לעיתים אנו רוצים להבדיל בין המצבים. חלקם יהיו מצבים מקבלים )"מצב טוב"( ונסמנם בעיגול כפול וחלקם לא ונסמנם בעיגול רגיל. הדוגמא :מחרוזת)שרשרת( מורכבת מחרוזים בצבעים א )אדום( כ )כחול( וי )ירוק( .מחרוזת נחשבת לתקינה אך ורק אם אין שני חרוזים צמודים מאותו צבע ואורכה לפחות אחד )מכילה לפחות חרוז אחד(. בואו ונבנה את האוטומט המתאים: q1 י י כ כ q4 י אי א q2 י א q0 א כא כ כ q3 שימו לב :החץ מסמן את נקודת ההתחלה שמקובל לסמנה כ . q0האוטומט שנבנה סורק את המילה המייצגת את צבעי החרוזים מתחילתה)משמאל לימין( .עיגול כפול פירושו מצב מקבל ובמקרה שלנו מחרוזת חרוזים תקינה .באוטומט שלעיל שלושה מצבים מקבלים. בואו נבצע מעקב על המילה(מחרוזת) הבאה משמאל לימין :יאיכאיכ עובר למצב צבע חרוז נבדק נמצא במצב q3 יאיכאיכ q0 q1 יאיכאיכ q3 q2 יאיכאיכ q1 q3 יאיכאיכ q2 q1 יאיכאיכ q3 q2 יאיכאיכ q1 q1 יאיכאיכ q2 הגענו למצב q1שהינו מצב מקבל .כלומר המחרוזת תקינה. שימו לב שאם נתונה מחרוזת לא תקינה כגון :יי אנו מגיעים למצב q4ואיננו יכולים לצאת ממצב זה. מצב זה נקרא מלכודת של מצב לא מקבל . © כל הזכויות שמורות 11 אוטומט סופי בואו נבצע מעקב על המילה הבאה המייצגת את צבעי המחרוזת -משמאל לימין :יאייכאיכ עובר למצב צבע חרוז נבדק נמצא במצב q3 אייכאיכ q0 q1 אייכאיכ q3 q2 אייכאיכ q1 q3 אייכאיכ q2 q1 אייכאיכ q3 q4 אייכאיכ q1 q4 אייכאיכ q2 הגענו למצב לא מקבל כיוון שהופיע י פעמיים ברצף) .יי(. שימו לב שלא משנה מה מופיע אחרי ה יי אנו נישאר במצב q4כיוון שהופעת יי פוסלת את המחרוזת ולכן למעשה אין טעם לבדוק אחרי הופעת ה יי. אוטומט סופי © כל הזכויות שמורות 12 מילה/שפה שימו לב !! נפגשנו פה בפעם הראשונה עם המושג מילה .מילה הינה סדרת סימנים השייכת לשפה . כל סימן מעביר אותנו מצב) .כמובן שיתכן שנישאר באותו המצב או נעבור למצב חדש(. שפה הינה הגדרה של אילו מילים מתקבלות ואילו אינן מתקבלות .למשל לגבי המחרוזת עם הצבעים הגדרת השפה Lתהיה :שפת כל המילים מעל {י,א,כ} שאסור שיופיעו 2אותיות/תווים/סימנים זהים ברצף. )נובע כמובן שגם שלושה או ארבעה ברצף אסור שיופיעו(. דוגמא : 5נתונה שפה המורכבת מהאותיות & $,@ ,בלבד .כל המילים המתקבלות בשפה מתחילות ב & ואורך המילה לא מוגבל .צייר אוטומט שמקבל את המילים החוקיות בשפה ו"דוחה" את המילים שלא מתקבלות. q1 @$, q0 &$,@, & q2 &$,@, !!!! כל מצב (עיגול) הינו בעל משמעות .למשל באוטומט שבדוגמא " q1 4אומר" אסור שאחרי ההגעה אלי יהיה הצבע ירוק כי לפני היה ירוק .באופן דומה q2וצבע אדום ו q3וצבע כחול. באוטומט הנוכחי)דוגמא q2 (5פירושו שהמילה התחילה ב & ולכן כל המשך תקני ואילו q1פירושו שהמילה התחילה ב @ או $ולכן כל המשך אינו תקני. בכל אוטומט עלינו לציין מהן אותיות השפה .כלומר מהו ה א"ב של השפה .באוטומט הקודם {י,כ,א} המייצגים את הצבעים ירוק כחול אדום בהתאמה .באוטומט הנוכחי האותיות {&.}$,@, © כל הזכויות שמורות 13 אוטומט סופי דוגמא : 6ליעל תא בבית הספר בו היא מחזיקה את ספרי הלימוד ודברים נוספים .הקוד למנעול הינו באורך 3או 4ומורכב מהספרות 1,2בלבד .כמו כן אסור שהקוד יכיל רצף באורך שלוש של אותו המספר .צייר אוטומט שמקבל את הקודים החוקיים. 2 1 ` 2 1 2 ` 1 ` 2 ` 1 1 2 ` ` 2 1,2 1 `2 ` 1 1,2 ` האוטומט אינו שלם .כלומר כל המעברים שאינם יכולים להגיע למצב מקבל הושמטו. © כל הזכויות שמורות 14 אוטומט סופי האוטומט השלם 2 1,2 1 מלכודת למצב לא ` 2 מקבל 1 2 ` 1 ` 1 2 ` ` 2 1 2 1 2 ` ` ` 1 2 ` 1 1 2 1,2 1,2 ` 1,2 מלכודת למצב לא מקבל ` 1,2 © כל הזכויות שמורות 15 אוטומט סופי דף תרגילים מספר -1השלם פונקצית מעברים (כתוב בריבועים את אותיות השפה המתאימות לאור הגדרות השפה-תרגיל ראשון פתור) a,b בנה שפה מעל } {a,bהמקבלת את כל המילים בעלות אורך אי- זוגי אורך אי זוגי אורך זוגי a,b בנה שפה מעל } {a,bהמקבלת את כל המילים המתחילות ב a בנה שפה מעל } {a,b,cהמקבלת את כל המילים שמספר ה a ים +מספר ה bים אי-זוגי בנה שפה מעל } {a,bהמקבלת את כל המילים המתחילות ב a ומסתיימות ב b © כל הזכויות שמורות 16 אוטומט סופי דף תרגילים מספר -2השלם את החיצים )פונקצית מעברים-תרגיל ראשון פתור( בנה שפה מעל } - {a,bכל המילים a,b בעלות אורך זוגי שאורכן גדול מ 1 a,b a,b בנה שפה מעל } {a,b,cהמקבלת את כל המילים שמספר ה a ים +מספר ה bים אי-זוגי a,b c c 1 בנה שפה מעל {}0,1 המכילה 00או 11 0,1 1 0 © כל הזכויות שמורות 1 17 0 0 אוטומט סופי דוגמא : 7בנה אוטומט מעל } {a,bהמקבל מילים שמספר ה aבהם הינו לכל היותר .1 q2 a q1 a q0 b a,b b !!!! שימו לב שהמצב ההתחלתי הינו מצב מקבל .כלומר המילה הריקה שנסמנה εאו מתקבלת. ניתן לומר שאוטומט הינו מעין משחק שבו אנו מקבלים מילה סורקים אותה משמאל לימין ומטיילים על פני האוטומט לפי כל אות שנסרקת .אם בסוף סריקת המילה הגענו למצב מקבל המילה מתקבלת אחרת אינה מתקבלת. דוגמא : 8בנה אוטומט מעל } {a,bהמקבל מילים מהצורה n m . n,m > 0 a b כלומר המילה צריכה להתחיל בלפחות aאחד או יותר להמשיך ב bאחד או יותר) .אסור שתסתיים ב (a n 3 aפירושו nפעמים a .aשקול ל aaa q3 a,b a 0 aשקול לכלום )למילה הריקה(. q2 q1 b a q0 a b b במהשך נחזור לתרגילים מסוג זה אוטומט סופי © כל הזכויות שמורות 18 דף תרגילים מספר -3 רשום את השפה המתקבלת לכל אחד מהאוטומטים הבאים (תרגיל ראשון פתור-הנח שכל סימני השפה מופיעים) השפה הינה מעל } {a,bומקבלת כל a,b מילה בעלת אורך זוגי )כולל המילה הריקה( q0 q1 a,b אוטומט סופי a,b a,b 0 1 1 0 0 0 1 1 0,1 1 0 0,1 © כל הזכויות שמורות 19 אוטומט סופי 0 0,1 1 0,1 .0,1 0 0 1 .0,1 1 0 0 1 1 0 0 0 אוטומט סופי © כל הזכויות שמורות 20 בנית אוטומט עד כעת עסקנו באוטומטים נתונים .נראה כעת איך בונים אוטומט . .1בנה אוטומט מעל } {a,bשל כל המילים המכילות .aa נבנה תחילה את המילה הקצרה ביותר המובילה למצב מקבל. q2 a q1 a q0 כעת נתחיל להשלים ונוודא שמכל עיגול אנו יודעים להיכן נעבור עבור aועבור .b b נוסיף חוג עצמי ל q0של האות bכיוון ש b לא מקדם אותנו מבחינת הופעת .aa q2 a q2 a q1 a q1 a q0 b נוסיף קשת מ q1ל q0כיוון שהופעת b קוטעת את ספירת ה aים. q0 b a,b לבסוף הוספנו חוג עצמי ל q2כיוון שלאחר aaכל q2 המשך מתקבל דוגמאותaab : b a q1 a b מילים מתקבלות : aa , aabb מילים שלא מתקבלותabab , bbb , baba : © כל הזכויות שמורות 21 אוטומט סופי q0 .2בנה אוטומט מעל } {0,1של כל המילים המסתיימות ב . 1101 בנית השרשרת הקצרה ביותר למצב מקבל q4 1 q3 0 q2 1 q1 1 q0 1 השלמת השאר 0 1 q4 1 q3 0 q2 1 q1 1 q0 0 0 0 לכל מצב )עיגול( באוטומט יש משמעות .כל מצב מיצג משהו. תפקיד המצבים q1ישנו 1התו הראשון של 1101 q2ישנו 11שני התווים הראשונים של 1101 q3ישנו 110שלושת התווים הראשונים של 1101 q4ישנו 1101כל התווים הנדרשים להגעה למצב מקבל. מדוע מ q2באם מופיע 1אנו נשארים ב ?q2למשל 1111 תשובה :כיוון שסיפא )החלק הסופי של המילה עד עתה ( הינו 1111 .11 מדוע מ q4באם מופיע 1אנו חוזרים ל ?q2למשל ?11011 תשובה :כיוון שהמילה צריכה להסתיים ב 1101וכיון שסיפא המילה הינו 11011 11 © כל הזכויות שמורות 22 אוטומט סופי צמצום תנאי שפה א .בנה אוטומט מעל } {a,bשל כל המילים המתחילות ב abאו bbמכילות aaאו aaaומסתיימות ב bאו . bab ניתוח המקרה כל המילים המתחילות ב abאו bbפירושו שהאות השניה צריכה להיות .b כל המילים המכילות aaאו ) aaaכיוון שהתנאי מופיע aaמוכל בתנאי מופיע (aaaומילת התנאי הינה או ניתן לצמצם ולומר שחייב להופיע .aa כל המילים המסתיימות ב bאו ) babבאופן דומה ניתן לצמצם ולומר שחייב שיסתיימו ב .(b כלומר עלינו לבנות אוטומט מעל } {a,bשל כל המילים שהאות השניה bמכילות aaומסתיימות ב . b . b b a a,b q5 b q4 a q3 a a q2 b q0 q1 b ב .בנה אוטומט מעל } {a,bשל כל המילים המתחילות ב aוגם ב abומכילות aaוגם . aaa ניתוח המקרה כל המילים המתחילות ב aוגם מתחילות ב abפירושו שחיבות להתחיל ב .ab כל המילים המכילות aaוגם aaaפירושו למעשה שמכילות .aaa כלומר עלינו לבנות אוטומט מעל } {a,bשל כל המילים המתחילות ב abומכילות . aaa . b a,b a q4 a q3 a q3 a q2 b q1 2 b b © כל הזכויות שמורות 23 אוטומט סופי q0 דגשים לבניית אוטומט סופי .1עיין תחילה בדוגמאות הפתורות . .2בנה תחילה את המסלול למילה הקצרה ביותר המתקבלת בשפה. .3בדוק האם המילה הריקה מתקבלת בשפה. .4הבדל בין המקרים של מתחיל מכיל או מסתיים. .5ראה האם ניתן לצמצם תנאים. .6אס"ד הינם ראשי התיבות של אוטומט סופי דטרמיניסטי. .7באם הפתרון הינו אוטומט סופי דטרמיניסטי שלם ראה שכל מצב מטפל בכל קלט אפשרי פעם אחת בלבד. .8כאשר יש דרישה למשל שמספר ה aים במילה שארית חלוקה בשלוש תהיה ...אזי שים לב שאין מעגל של -aים שאינו כפולה של שלוש בפתרון. .9אם הפתרון מורכב מתנאים של "מקיים תנאי א' וגם תנאי ב' " או "מקיים תנאי א' או תנאי ב' " נלמד בהמשך איך ניתן לפרק את הבעיה ולבנות את הפתרון באמצעות אוטומט מכפלה. .10בתחילה ,פתרון תרגיל דורש זמן ומחשבה אך בהמשך לאחר פתרון תרגילים מסוגים שונים דרכך תהיה קלה יותר. .11שימו לב שיכול להיות יותר ממצב מקבל אחד. הסבר לגבי 14 13ינתן בהמשך .12אם אין דרישה לאוטומט דטרמיניסטי אזי לעיתים פתרון לא דטרמיניסטי הינו פשוט יותר. )אוטומט לא דטרמיניסטי יוסבר בהמשך(. .13לכל אוטומט לא דטרמיניסטי ניתן לבנות אוטומט דטרמיניסטי. © כל הזכויות שמורות 24 אוטומט סופי תנאים על אס"ד כפי שניתן להבחין התנאי על האוטומט מגוון. להלן דוגמאות מייצגות :מתחיל ב ,aaמכיל ,aaמסתיים ב .aa אינו מתחיל ב ,aaאינו מכיל , aaאינו מסתיים ב ,aa אורך מילה זוגי ,אורך מילה אי זוגי, שארית חלוקה ב 3שווה ,1אות לפני אחרונה .a כמובן שניתן גם לשלב תנאים ,לדוגמא :אורך זוגי ותו לפני אחרון .a אוסף תרגילים פתורים באס"ד תרגיל 1 תאר באמצעות גרף אוטומט סופי דטרמיניסטי שיקבל את כל המחרוזות מעל לא"ב { }0,1המקיימת את שני התנאים : מופיעה בהן 000כתת מחרוזת בדיוק פעם אחת. אין בהן כלל מופעים של 00פרט לאלה שבמופע של .000 דגמה :המחרוזות 0110100011101ו 000111101תתקבלנה המחרוזות פתרון 0101011 ו 100011001לא תתקבלנה 1 1 1 1 1 0 0 1 0 0 0 0 1 0,1 תרגיל ( 2קשה) נתון האוטומט הבא מעל הא"ב {: }0,1 0 q2 1 q1 0 1 q0 1 0 0,1 א .הגדר אילו מילים מתקבלות( q3 ב .הגדר תפקיד כל מצב. © כל הזכויות שמורות 25 אוטומט סופי פתרון 0 #0 (w)#1 (w) 2 א .חייב להתקיים שעבור כל נקודה בקלט)רישא של המילה( ובמילים פשוטות מספר האפסים במילה פחות מספר ה 1במילה צריך להיות בין 0ל ) 2כולל( לכל רישא של המילה. ב. q0 0 #0 (w)#1 (w) 0 q1 0 #0 (w)#1 (w) 1 q2 0 #0 (w)#1 (w) 2 תרגיל 3 נתונה השפה הבאה n=m % 2 m n L= a Wb Wהיא מילה מעל { }a,cהמתחילה ב ,c-מסתיימת ב a-ולא מכילה את הרצף .aac א .תן 2דוגמאות שונות למילים בשפה. ב .בנה אוטומט סופי לשפה. פתרון נבנה תחילה את Wכלומר מילה מעל { }a,cהמתחילה ב ,c-מסתיימת ב a-ולא מכילה את הרצף .aac פתרון ל Wדטרמיניסטי אך לא מלא c c a a c a פתרון ל Wדטרמיניסטי ומלא a c c a c a a c c a © כל הזכויות שמורות 26 אוטומט סופי עתה ניגש לפתרון הכולל. מספר ה aים בהתחלה יכול להיות 0או 1בלבד .ולכן פשוט נחלק לשני מקרים. האחד בו מתחילה Wמיד והשנייה בה יש aבודד .ובשניהם נוסיף bים תוך שמירה על הזוגיות. c c a b a b c a a c c a a b c c a a c a a c c a תרגיל 4 עבור כל מצב שבאוטומט לו היה מצב מקבל מהי השפה המתקבלת. q1 פתרון q0מספר אפסים זוגי מספר אחדים זוגי. q2מספר אפסים זוגי מספר אחדים אי זוגי. q3מספר אפסים אי זוגי מספר אחדים אי זוגי. q1מספר אפסים אי זוגי מספר אחדים זוגי. © כל הזכויות שמורות 0 0 27 1 1 q3 q0 1 0 0 אוטומט סופי q2 1 תרגיל * 5 מה השפה המתקבלת על ידי האוטומט )הלא מלא( הבא? c a b a b a פיתרון n ) ( aWcכאשר Wהינה מילה מעל } {a,bשמספר ה aים פחות מספר ה bים שווה 2ובכל רגע נתון בסריקתו מימין לשמאל מתקיים שמספר ה aים פחות מספר ה bים גדול שווה 0וקטן שווה ל .2 תרגיל 6 לפניך אוטומט סופי דטרמיניסטי המקבל את השפה Lמעל הא"ב }{a,b b b q1 a q0 b a b a a a a,b a q2 b a b b b a q3 .1כתוב מילה באורך מינימלי המתקבלת על ידי האוטומט. .2כתוב מילה המתחילה ב aשאורכה גדול מ 3ומתקבלת על ידי האוטומט. .3כתוב מילה המתחילה ב bשאורכה גדול מ 3ומתקבלת על ידי האוטומט. .4מהי השפה Lהמתקבלת על ידי האוטומט? התייחס למילים המתחילות ב aומילים המתחילות ב .b © כל הזכויות שמורות 28 אוטומט סופי פיתרון ab .1או bb abbb .2 bbbb .3 .4אם מתחיל ב aאזי אורך מילה זוגי)גדול מאפס כמובן כי מתחיל ב .(a אם מתחיל ב bאזי n bnזוגי )גדול מאפס כמובן כי מתחיל ב .(b תרגיל 7 לפניך אוטומט סופי דטרמיניסטי לא שלם ההמקבל את השפה Lמעל הא"ב }{a,b,c b b a b a b a a a c b b b b b .1כתוב מילה באורך מינימלי המתקבלת על ידי האוטומט. .2כתוב מילה המתחילה ב aשאורכה גדול מ 3ומתקבלת על ידי האוטומט. .3כתוב מילה המתחילה ב bשאורכה גדול מ 3ומתקבלת על ידי האוטומט. .4מהי השפה Lהמתקבלת על ידי האוטומט? התייחס למילים המתחילות ב aומילים המתחילות ב .b פיתרון b .1 abac .2 bbbbb .3 .4אם מתחיל ב aאזי *)a(bWc * גדול שווה לאפס. Wמכילה מספר איזוגי של aומספר זוגי של ).bללא (c אם מתחיל ב bאזי bnשארית חלוקת nבשלוש שווה .2 © כל הזכויות שמורות 29 אוטומט סופי דף תרגילים מספר -4בנה אס"ד מתאים לשפה נתונה בנה אוטומטים לשפות הבאות מעל { }0,1כאשר התנאי על מילה בשפה הינו: א. מתחיל ב 1 ב. מסתיים ב 1 ג. מכיל 1 ד. מתחיל ב 11 ה. מסתיים ב 11 ו. מכיל 11 ז. אינו מכיל 11 ח. מתחיל 1011 ט. מכיל 1011 י. מסתיים ב 1011 דף תרגילים מספר -5בנה אס"ד מתאים לשפה נתונה מימין לקו האנכי ישנם התנאים על מילה בשפה. א. { wהיא מילה מעל הא"ב } {0,1המסתיימת ב 11011 | L={ w ב. { wהיא מילה מעל הא"ב } {0,1המתחילה ב 1ומסתיימת ב 1 | L={ w ג. { vהיא מילה מעל הא"ב } {0,1המכילה 00או 11 ד. { wהיא מילה מעל הא"ב } {0,1שאורך התו האחרון אי זוגי ה. { w1,w2הינן מילים מעל הא"ב } {0,1כולל המילה הריקה | | L={ v L={ w | w1cw2 דוגמאות למילים המתקבלות בשפה10c1100 , c : © כל הזכויות שמורות 30 אוטומט סופי {=L דף תרגילים מספר -6ביצוע מעקב והגדרת שפה לכל מעקב רשום את המסלול והאם המילה מתקבלת או שאינה מתקבלת. .1א .בצע מעקב עבור המילה @@& והאוטומט הנתון . ב .בצע מעקב עבור המילה @@ $והאוטומט הנתון. ג .מהי השפה שהאוטומט מקבל. @$, q1 q0 &$,@, & &$,@, q2 .2נתון האוטומט הבא מהי השפה המתקבלת? a q1 q0 a b b b q2 b q3 q .3א .בצע מעקב עבור המילה babaוהאוטומט הנתון. ב .בצע מעקב עבור המילה baabוהאוטומט הנתון. ג .מהי השפה שהאוטומט מקבל. b q2 q a b a q1 b b a q3 q © כל הזכויות שמורות 31 אוטומט סופי q0 a סיכום ראינו שאוטומט הינו "מכונה""/מכשיר" המתארת מה קורה עבור קלט )מילה( נתון תוך כדי סריקתו משמאל לימין. ישנם אוטומטים בהם כל מצב הינו מצב תקין .למשל כיבוי או הדלקת נורה ,אך אנו טיפלנו ונטפל בעיקר באוטומטים שלא כל קלט)מילה( חוקי ולכן באוטומט יהיו מצבים מקבלים ומצבים לא מקבלים כמו המחרוזת המורכבת מחרוזים .לכל אוטומט יש נקודות התחלה והקשתות)חיצים( והמידע שרשום עליהם אומרים לנו להיכן לעבור בכל שלב .מידע זה נקרא פונקצית המעברים .כמו כן לכל אוטומט יש את ה א"ב שלו דהיינו מה ניתן לרשום ליד הקשתות. מהדוגמאות שראינו עד עתה ניתן לראות כי אוטומט מורכב ממספר אבני יסוד. תיאור מתמטי פורמאלי של אוטומט הוא באמצעות החמישייה הבאה: }A {Q, , , Q0 , F כאשר: היא קבוצת מצבי האוטומט. )העיגולים( הוא א"ב הקלט. )נכתב ליד הקשתות( היא פונקצית המעברים. )הקשתות המכוונות והרשום לידן(. הוא המצב ההתחלתי. )מסומן גם על ידי חץ( היא קבוצת המצבים המקבלים שהינה חלק מקבוצת כל המצבים. )העיגולים כפולים( שפה שניתן לבנות לה אס"ד נקראת שפה רגולרית © כל הזכויות שמורות 32 אוטומט סופי דף תרגילים מספר -7מה מייצג כל מצב להלן נתונים אוטומטים ומה הם מבצעים .עיין בפתרונות ורשום מה מייצג כל מצב. למשל בדוגמה הבאה מייצג q0את המילים בעלות אורך זגי ומצב q1מייצג את המילים בעלות אורך אי-זוגי. האוטומט מקבל את כל המילים בעלות אורך אי זוגי. 0,1 q2 q0 0,1 נתון אוטומט מעל { }1,1המקבל מילה המכילה 11 פתרון 0 0,1 q0מצפה להופעת ה 1הראשון q1לאחר הופעת ה 1הראשון 1 q2 q2לאחר הופעת – 11כעת כל המשך מתקבל 1 q1 q0 0 נתון אוטומט מעל { }1,1בו כל מילה מסתיימת ב 11 q0 0 1 q1 q2 q2 q1 1 1 0 0 אוטומט סופי © כל הזכויות שמורות 33 q0 נתון אוטומט מעל { }1,1בו כל מילה מסתיימת ב 11או 11 1 q3 q0 1 q1 q1 0 q2 1 q3 q0 0 q4 1 0 1 q2 0 q4 0 נתון אוטומט מעל { }1,1בו כל מילה מכילה 11או 11 q0 q1 q1 q2 1 0,1 1 0 q3 q0 1 q3 0 0 q2 © כל הזכויות שמורות 34 אוטומט סופי אוטומט מעל } {0,…,9המייצג מספר דצימלי המתחלק בשלוש לללא שארית 0,3,6,9 בצע מעקב אחר המילה 172437 q1 1,4,7 q0שארית חלוקה ב 3שווה 0 2,5,8 q1 q2 2,5,8 1,4,7 q0 2,5,8 1,4,7 q2 0,3,6,9 © כל הזכויות שמורות 35 אוטומט סופי 0,3,6,9 תאור אוטומט באמצעות טבלה ניתן לתאר אוטומט באמצעות טבלה. אות נבדקת נמצא ב עובר ל להלן מספר דוגמאות. כל האוטומטים מעל } {0,1מצב מובלט עם קו מתחת הינו מצב מקבל. אורך מילה אי זוגי 1 0 q1 q1 q0 q0 q0 q1 0,1 0,1 q1 q0 אורך מילה זוגי (כולל מילה ריקה) 1 0 q1 q1 q0 q0 q0 q1 q1 0,1 0,1 q0 אורך מילה זוגי (לא כולל מילה ריקה) 1 0 q1 q1 q0 q2 q2 q1 q1 q1 q2 1 0 q1 q2 q0 q1 q1 q1 q2 q2 q2 ` 0,1 0,1 q1 0,1 0,1 q0 מתחיל ב 1ומכיל את המילה הריקה q1 1 q0 0,1 0 q2 © כל הזכויות שמורות 36 אוטומט סופי 0,1 שפות "מיוחדות" השפה הריקה a,b מעל } - {a,bאף מילה לא מתקבלת )זוהי השפה הריקה ומקובל לסמנה( q0 השפה המכילה את המילה הריקה בלבד a,b מעל } - {a,bרק המילה הריקה מתקבלת a,b q1 q0 השפה המכילה את כל המילים מלבד המילה הריקה a,b מעל } – {a,bכל המילים לא כולל q1 המילה הריקה a,b q0 שפה שמספר המילים בה סופי שים לב שמספר המילים בשפות שטיפלנו בהם עד עכשיו הינו אינסופי. בנה אוטומט)לא שלם( מעל } {a,b,cכך ש }) L={e,ab,ac,abcשים לב שמספר המילים בשפה הינו (4 eהינה המילה הריקה c q3 b q2 q4 a q1 q0 c שים לב שהאוטומט אינו שלם למשל מהמצב q0אין יודעים מה לעשות כאשר יש לנו bאו cכלומר מילים שמתחילות ב bאו cאינן מתקבלות. לכל שפה שמספר המילים בה סופי ניתן לבנות אוטומט סופי דטרמיניסטי. © כל הזכויות שמורות 37 אוטומט סופי דף תרגילים מספר -8בנית אס"ד .1בנה אוטומטים לשפות הבאות מעל { }0,1כאשר התנאי על מילה בשפה הינו: א .מסתיים ב 11011 ב .מתחיל ב 1ומסתיים ב 1 ג .מכיל 00או 11 ד .מכיל 10או 01 ה .מספר 0זוגי וגם מספר 1זוגי ו .מספר + 0מספר 1זוגי כולל מילה ריקה ז .אורך אי זוגי. ח .אורך זוגי כולל המילה הריקה. ט .אורך התו האחרון זוגי. י .אורך התו האחרון אי זוגי. יא .אורך זוגי לא כולל המילה הריקה. יב .אורך זוגי ומסתיים ב .0 יג .מכיל 00וגם 11 יד .אינו מכיל .11 טו .כל המילים שבהן אורך הרצף האחרון זוגי) גדול מ ( 0ואסור שיתחילו ב 0 טז .רצף כלשהו באורך 2או באורך 1שחוזר על עצמו .דוגמה 111 1010 010101 : .2בנה אוטומטים לשפות הבאות מעל {:}0,1,2 א 2211 .אינו מופיע כתת מחרוזת ו 1100מופיע כתת מחרוזת אחרונה במילה 1100212 .מתקבל ו 0110012או 11002211לא מתקבל. ב .המקבל מילים המסתיימות ב 10או 01ו 2יכול להופיע רק ברצף בהתחלה. ג .המקבל מילים המסתיימות ב 00או 11ואין בהן רצף של .22 ד .אורך זוגי מסתיים ב ) 0גם המילה הריקה מתקבלת(. ה .אורך אי זוגי מסתיים ב .1 מסתיים ב .1 ו .אורך זוגי ז .אורך אי זוגי מסתיים ב .0 ח .מכיל 012או 011או 02 ט .מתחיל ב 11או 22ואינו מסתיים ב .2 י .המקבל את כל המחרוזות המסתיימות ב 10או 01ו 2יכול להופיע רק ברצף בהתחלה. יא .כל המילים המסתיימות ב 00או 11ואין בהן רצף של .22 .3 בנה אס"ד לכל אחת מהשפות הבאות מעל {:}a,b,c יב .מתחיל ב aומסתיים ב b יג .מספר ה bזוגי ומספר ה aאי זוגי יד .אות לפני אחרונה a טו .אסור רצף באורך שניים. טז .אסור רצף באורך שלוש. יז .כל המילים שאחרי כל מופע של aאם יש מופיע מיד רצף של שלש אותיות b יח .אורכן זוגי ושאין בהן תת מילה aa יט .שארית חלוקת מספר ה aבשלוש שווה 1 כ .תת המחרוזת abaמופיעה בדיוק פעמיים © כל הזכויות שמורות 38 אוטומט סופי שפות שמתוארות על ידי חזקה לעיתים תיאור השפה נעשה באופן הבא: n k בנה אוטומט סופי דטרמיסיטי לשפה n≥1 , k≥1 a b תאור פורמלי זה אומר שהשפה חייבת להתחיל ב aים )לפחות (1ולאחרי זה bים )לפחות .(1 אסור שאחרי שמופיע bיופיע a מילים מתקבלות ab , aaabbb , abbb : מילים שאינן מתקבלות a , b , abba , babb : a b q2 b q1 a q0 b a q3 הסבר 0 aהינה המילה הריקה. 1 aהינה המילה .a 2 aהינה המילה .aaוכו n n n ≥ 1 a bהינם כל המילים שבהם מספר aים במילה שווה למספר ה bיםכאשר ה aים בתחילת המילה וה bים בסוף המילה)לאחר ה aים( .המילה הקצרה ביותר .ab © כל הזכויות שמורות 39 אוטומט סופי דף תרגילים מספר 8א' -בנית אס"ד .1בנה אס"ד לכל אחת מהשפות הבאות מעל {:}a,b n≥0 m≥0 an b m . a n≥0 m≥1 an b m . b n≥1 m≥0 an b m . c n≥1 m≥1 an b m . d .2בנה אס"ד לכל אחת מהשפות הבאות מעל {:}a,b,c n m k k,m,n ≥ 0 a b c .a n m k k,m,n ≥ 1 a b c .b n m k k ≥ 0 m,n ≥ 1 a b c .c n m k m ≥ 0 n,k ≥ 1 a b c .d .3בנה אס"ד לכל אחת מהשפות הבאות מעל {:}a,b L={bab,ba,a,e} .a ) שקול לומר (|b| = |a| % 3 m=n%3 an b m . b ) שקול לומר (|b % 3| = |a| % 3 m%3=n%3 an b m . c .dאורך זוגי ואין רצף aa .4 מיוחדים .aמס' בינאריים המתחלקים ב 5ללא שארית .bמספר שלם המתחלק ב 3ללא שארית © כל הזכויות שמורות 40 }{0,1 }{0,1,2,3,4,5,6,7,8,9 אוטומט סופי אוטומט לא דטרמיניסטי/אוטומט לא שלם 0,1 האוטומט שמשמאל אינו דטרמיניסטי כיוון שמ q0 עבור הקלט 1ניתן או לעבור ל q0או ל .q1 1 אף מיל ה לא מת q1 כמו כן האוטומט אינו שלם כיוון שמ q1אין אנו יודעים להיכן ללכת עבור קלט 0או .1 האוטומט מקבל את כל המילים מעל } {0,1המסתיימות ב .1 קבל הכלל הינו שאם קיים מסלול עבור מילה שמוביל למצב מקבל המילה מתקבלת אחרת אינה ת מתקבלת. מעל {a, לכל אוטומט לא דטרמיניסטי ניתן לבנות אוטומט דטרמיניסטי השקול לו. )כלומר שמקבל את אותם המילים ואותם בלבד( . }b הש פה דוגמה נוספת 0,1,2 הרי קה q2 0,1,2 - 1 q0 q1 מס מני ם האוטומט מקבל את כל המילים מעל } {0,1,2שהאות לפני האחרונה הינה .1 Ø לעומת זאת שימו לב שאין זה נכון לומר על האוטומט הבא שהוא מקבל מילים שאינן מסתיימות ב . 11 0,1,2 q2 1 1 q0 q1 אם במבחן לא נאמר לבנות אוטומט דטרמיניסטי הרי שניתן לבנות לא דטרמיניסטי או דטרמיניסטי כרצונכם. © כל הזכויות שמורות 41 אוטומט סופי דף תרגילים מספר -9תרגילים שונים תרגיל נתון האוטומט הבא מעל הא"ב {: }0,1 0 1 q3 0 q2 0 q1 1 q0 1 1 0 0,1 א .הגדר את השפה המתקבלת. q4 ב .הגדר תפקיד כל מצב. תרגיל בנה אוטומט סופי לא דטרמיניסטי עבור השפות הבאות מעל }{0,1,2 א( האות האחרונה שווה לראשונה. ב( האות האחרונה לא הופיע קודם במילה. ג( האות לפני האחרונה שווה לאות הראשונה. תרגיל בנה אוטומט סופי דטרמיניסטי אשר מקבל את השפה הבאה מעל הא"ב{}0,1 אוסף המילים המתחילות ב , 1מכילות מספר זוגי של אפסים ומסתיימות ב .11 )הערה :המילה 11מתקבלת בשפה זו( תרגיל נתונה השפה הבאה j=n%3 anbmcj n % 3=0 0=m % 3 בנה אוטומט לשפה. תרגיל בנה אס"ד ,המקבל את כל המילים מעל הא"ב { , }a,bהמכילות לפחות 2אותיות aומספר אותיות ה – bבהן מתחלק ב – .2 © כל הזכויות שמורות 42 אוטומט סופי תרגיל נתונים שני האוטומטים )סופיים דטרמיניסטים( הבאים מעל } { a,b b b a,b a b a a a,b b a,b א. start a,b a start בדוק עבור שני האוטומטים האם המילים הבאות מתקבלות : )abaaa (1 )abbaba (2 )aaaaba (3 ב. הסבר במילים מהי השפה המתקבלת עבור האוטומט הראשון . ג. עבור שתי הטענות הבאות ,אם הטענה נכונה -הסבר מדוע ,ואם אינה נכונה -הבא דוגמא נגדית )דוגמא שסותרת את הטענה(. כל מילה המתקבלת באוטומט השני מתקבלת גם באוטומט הראשון. )(1 כל מילה המתקבלת באוטומט הראשון מתקבלת גם באוטומט השני. )(2 © כל הזכויות שמורות 43 אוטומט סופי תרגיל )השאלה הבאה מנוסחת בסגנון מבחני הבגרות( לפניך השפה Lמעל הא"ב }{a,b { m+n+kזוגי L= {ambnak |n,m >0 k≥0 לפניך סרטוט חלקי של אוטומט סופי דטרמיניסטי המקבל את .L בסרטוט חסרים סימני קלט. c הסרטוט מכיל את כל המצבים של האוטומט ואת כל המצבים המקבלים. העתק למחברתך את הסרטוט והשלם אותו כך שיקבל את השפה . L עליך להשלים את סימני הקלט החסרים. שים לב :אין להוסיף מצבים לאוטומט ,ואין להוריד ממנו מצבים. תרגיל )השאלה הבאה מנוסחת בסגנון מבחני הבגרות( השפה Lמעל הא"ב } {a,bמקיימת את התנאי שהאות לפני האחרונה .b לפניך סרטוט חלקי של אוטומט סופי דטרמיניסטי המקבל את .L b בסרטוט חסרים סימני קלט ומעברים. q2 q a q3 q הסרטוט מכיל את כל המצבים של האוטומט ואת כל המצבים המקבלים. העתק למחברתך את הסרטוט והשלם אותו כך שיקבל את השפה . L עליך להשלים את סימני הקלט החסרים ואת המעברים החסרים. שים לב :אין להוסיף מצבים לאוטומט ,ואין להוריד ממנו מצבים. © כל הזכויות שמורות 44 אוטומט סופי q1 b q0 a תרגיל מה השפה המתוארת באוטומט הבא? a a a a b b b b c c c c c תרגיל הגדר לכל אוטמט את השפה המתקבלת ? q5 q2 b b q1 b q1 b a a a a b q0 b q0 q4 a q2 b q3 b b q3 © כל הזכויות שמורות 45 אוטומט סופי b q4 תרגיל להלן שרטוט של השפה Lמעל הא"ב } .{a,b,cהגדר את השפה המתקבלת . a a a b b b b c c c c b b c תרגיל הגדר מהי השפה שמתקבלת מעל }{0,1 1 0 1 0 1 1 0 1 0 0 0 1 תרגיל הגדר את השפה המתקבלת b b a b a b a c a a b b b b b © כל הזכויות שמורות 46 אוטומט סופי דף תרגילים מספר -11אוטומט סופי לא דטרמיניסטי תרגיל הגדר לכל אחד מהאוטומטים הבאים מה השפה המתקבלת? 0,1,2 1 0,1,2 q2 q0 q1 0,1,2 0 q2 1 q1 q0 0,1,2 0,1,2 q3 1 q2 1 1 q1 q0 תרגיל .1הסבר מדוע לא נכונים המשפטים הבאים בהתייחס לאוטומטים שלידם? .2הגדר מה השפות שהאוטומטים מקבלים. 0,1,2 האוטומט מקבל מילים המכילות 11פעם אחת בלבד. 1 q2 1 q0 q1 האוטומט אינו מקבל מילים המכילות . 11 0,1 0,2 1 q2 © כל הזכויות שמורות 47 q1 1 q0 אוטומט סופי אוטומט מכפלה לעיתים עלינו לבנות אוטומט אשר תיאורו מכיל תנאים שביניהם היחס וגם)חיתוך( או היחס או )איחוד(. כמובן שתמיד ניתן לבנות את האוטומט המבוקש ישירות אך קיימת גם דרך טכנית לבנות אוטומט עבור כל תנאי ואז לשלב את האוטומטים. נראה מספר דוגמאות .נתחיל מדוגמה פשוטה )שברור שניתן לבנות לה ישירות אס"ד( תחילה נראה דוגמאות כאשר היחס בין התנאים הינו ו"גם" ולאחר מכן כאשר היחס הינו "או". © כל הזכויות שמורות 48 אוטומט סופי אוטומט מכפלה (חתולים וכלבים) בתהלוכה שבה משתתפים חתולים וכלבים מתקיימים החוקים הבאים: .1התהלוכה מתחילה בכלב. .2התהלוכה מסתיימת בחתול. חייב להתחיל בכלב חייב להסתיים בחתול חתול כלב חתול q4 חתול כלב q3 q1 כלב q0 חתול כלב q2 כלב חתול עד עתה בנינו אוטומט עבור כל תנאי .כעת נבנה טבלה .נתחיל מהמצב ההתחלתי של שני האוטומטים שהינו q0q3ונרשום לאיזה מצב מוביל אותנו כלב .אנו רואים שבאוטומט השמאלי כלב מוביל ל q1 ובאוטומט הימני כלב מוביל ל q3מכאן שכלב מוביל ל q1q3 כנ"ל נבצע לחתול ונבחין שהוא מוביל ל q2q4 מכאן קיבלנו את השורה הראשונה בטבלה .כעת כל מצב שמופיע בעמודות חתול וכלב ירשם בעמודת מצב וחוזרים על התהליך. בנית אוטמט המכפלה חתול כלב מצב q2q4 q1 q4 q2 q4 q1 q4 q2 q4 q1 q3 q1 q3 q2 q3 q1 q3 q2 q3 q0 q3 q1 q3 q2 q4 q1 q4 q2 q3 q1הינו מצב מקבל באוטומט השמאלי ו q4הינו מצב מקבל באוטומט הימני לכן q1q4הינו המצב המקבל באוטומט הסופי האוטומט לפי הטבלה חתול חתול 1,4 כלב חתול 1,3 1,4 כלב 2,3 כלב האוטומט לאחר צמצום מצבים כלב חתול כלב 1,3 כלב 0,3 כלב חתול חתול 2,4 2,4 חתול חתול כלב חתול כלב © כל הזכויות שמורות 49 אוטומט סופי 0,3 אוטומט מכפלה (חתולים וכלבים) בתהלוכה שבה משתתפים חתולים וכלבים מתקיימים החוקים הבאים. .3התהלוכה מתחילה בכלב. .4אסור חתול שמשמאלו וימינו יהיו כלבים. חייבת להתחיל בכלב אסור חתול בין שני כלבים חתול כלב חתול כלב כלב חתול q1 q6 כלב q5 חתול q4 כלב q3 כלב q0 חתול q2 חתול כלב חתול בנית אוטמט המכפלה חתול כלב מצב q2 q3 q1 q5 q1 q3 q1 q3 q1 q4 q1 q4 q1 q6 q1 q4 q0 q3 q1 q4 q1 q5 q1 q3 המצבים המסומנים בירוק הינם מצבים מקבלים) .כל שילוב של מצב מקבל באוטומט אחד עם מצב מקבל באוטומט השני הינו מצב מקבל( שימו לב ש q2הינה מלכודת של מצב לא מקבל ולכן לא רשמנו אותה בעמודה "מצב" כלב 1,4 כלב כלב חתול 1,3 חתול 1,5 0,3 חתול כלב 2,3 1,6 חתול כלב חתול ראה מצגת הסבר © כל הזכויות שמורות 50 אוטומט מכפלה אוטומט מכפלה (חתולים כלבים ועכברים) תרגיל דומה לקודם רק שהפעם נוספו עכברים. בתהלוכה שבה משתתפים עכברים חתולים וכלבים מתקיימים החוקים הבאים. .1התהלוכה מתחילה בכלב. .2אסור חתול שמשמאלו וימינו יהיו כלבים. חייבת להתחיל בכלב אסור חתול בין שני כלבים עכבר חתול כלב q6 חתול עכבר כלב q5 עכבר חתול כלב כלב חתול כלב q4 q3 q1 כלב q0 עכבר חתול עכבר חתול עכבר q2 בנית הטבלה עכבר q2 q3 q1 q3 q1 q3 q1 q3 חתול כלב q2 q3 q1 q5 q1 q3 q1 q3 q1 q4 q1 q4 q1 q6 q1 q4 q0 q3 q1 q4 q1 q5 q1 q3 האוטמט כלב 14 כלב עכבר כלב חתול 13 חתול עכבר 15 חתול עכבר © כל הזכויות שמורות 03 חתול עכבר כלב 2,3 1,6 עכבר חתול כלב 51 אוטומט מכפלה עכבר חתול כלב אוטומט מכפלה(חתולים כלבים ועכברים תנאי מורכב יותר) בתהלוכה שבה משתתפים עכברים חתולים וכלבים מתקיימים החוקים הבאים. .1התהלוכה מתחילה בכלב. .2אסור שהתהלוכה תסתיים בעכבר. .3אסור חתול שמשמאלו וימינו יהיו כלבים. אסור חתול בין שני כלבים עכבר חתול כלב q7 חתול עכבר כלב q6 חתול מתחילה בכלב ואסור שתסתיים בעכבר חתול כלב עכבר כלב כלב q5 עכבר q2 q4 q1 חתול כלב עכבר חתול עכבר עכבר חתול כלב q3 q4 q2 q4 q2 q4 q2 q4 q2 q4 q3 q4 q1 q6 q1 q4 q1 q4 q1 q4 q1 q5 q1 q5 q1 q7 q1 q5 q1 q5 עכבר כלב 24 כלב עכבר חתול עכבר 15 חתול 16 14 חתול חתול © כל הזכויות שמורות כלב עכבר חתול q0 q4 q1 q5 q1 q6 q2 q4 q1 q4 04 חתול עכבר כלב עכבר חתול כלב 52 חתול עכבר q3 כלב עכבר כלב q0 אוטומט מכפלה אוטומט מכפלה (מכיל "בת בת" אינו מכיל "בן בן" ) ילדים הושבו בשורה אך נקבעו כללים משונים: .1חייב שבשורה לפחות פעם אחת ישבו 2בנות יחד כלומר אחת ליד השנייה )מכיל .(aaשימו לב שמותר גם שלוש בנות ביחד ואם שלוש בנות יושבות יחד אזי התנאי שני בנות יחד מתקיים. .2אסור ששני בנים ישבו יחדיו) .אינו מכיל (bb מכיל aa אינו מכיל bb b b a q5 a b b q4 a q2 q3 q1 a b q a q0 b a b a q0 q4 q0 q4 q0 q5 q2 q4 q0 q5 q2 q5 q0 q5 q2 q5 q1 q3 q2 q3 q1 q3 q2 q3 q1 q5 q2 q3 q2 q5 q2 q5 a q0 q3 q1 q3 q0 q4 q2 q3 q0 q5 q2 q4 q1 q5 q2 q5 23 a a 13 03 a b b a b 24 b 25 15 a a b 05 04 b a b b a את מצבים 05 15 25ניתן לאחד למלכודת אחת 23 a 13 a 03 a b a a b 24 b b 04 25 b © כל הזכויות שמורות b 53 אוטומט מכפלה אוטומט מכפלה (חתולים וכלבים) (תנאי או) בתהלוכה שבה משתתפים חתולים וכלבים מתקיימים החוקים הבאים: התהלוכה מתחילה בכל או מסתיימת בחתול. חייבת להתחיל בכלב חייבת להסתיים בחתול חתול כלב חתול q4 חתול כלב q3 q1 כלב q0 חתול כלב q2 כלב חתול עד עתה בנינו אוטומט עבור כל תנאי .כעת נבנה טבלה .נתחיל מהמצב ההתחלתי של שני האוטומטים שהינו q0q3ונרשום לאיזה מצב מוביל אותנו כלב .אנו רואים שבאוטומט השמאלי כלב מוביל ל q1 ובאוטומט הימני כלב מוביל ל q3מכאן שכלב מוביל ל q1q3 כנ"ל נבצע לחתול ונבחין שהוא מוביל ל q2q4 מכאן קיבלנו את השורה הראשונה בטבלה .כעת כל מצב שמופיע בעמודות חתול וכלב ירשם בעמודת מצב וחוזרים על התהליך. בנית אוטמט המכפלה חתול כלב מצב q2q4 q1 q4 q2 q4 q1 q4 q2 q4 q1 q3 q1 q3 q2 q3 q1 q3 q2 q3 q0 q3 q1 q3 q2 q4 q1 q4 q2 q3 q1הינו מצב מקבל באוטומט השמאלי ולכן בכל מקום שמופיע q1באוטומט המכפלה יהיה מצב מקבל. q4הינו מצב מקבל באוטומט הימני ולכן בכל מקום שמופיע q4באוטומט המכפלה יהיה מצב מקבל. האוטומט לפי הטבלה חתול חתול 1,4 כלב 1,3 כלב 2,3 האוטומט לאחר צמצום מצבים חתול כלב כלב 1,3 כלב כלב 0,3 חתול 2,4 2,3 חתול כלב חתול כלב © כל הזכויות שמורות כלב חתול 2,4 חתול 54 חתול אוטומט מכפלה 0,3 דף תרגילים מספר -11אוטומט מכפלה .1בנה אוטומט מכפלה מעל } {a,bשאסור שיופיע aaואות לפני אחרונה )bנתון פתרון חלקי-השלם אותו(. אות לפני אחרונה b אינו מכיל aa b b a q6 a a q5 b q4 q2 3 q a b b a q1 b b a q0 a q3 q .2נתונים שני האוטומטים הדטרמיניסטיים הבאים : b a a,b a,b b a,b a a,b a,b א. רשום במילים את השפה המתקבלת ע"י כל אחד מהאוטומטים. ב. הגדר את השפות המתקבלות מ : (1חיתוך האוטומטים . (2איחוד האוטומטים. ג. בנה לכל סעיף ב ב' אוטומט מתאים בעזרת אוטומט מכפלה. .3ילדים הושבו בשורה לפי הכללים הבאים: .iחייב שבשורה לפחות פעם אחת ישבו 2בנות יחד כלומר אחת ליד השניה ) .שימו לב שמותר גם שלוש בנות ביחד ואם שלוש בנות יושבות יחד אזי התנאי שני בנות יחד מתקיים(. .iiמספר הבנות זוגי. © כל הזכויות שמורות 55 אוטומט מכפלה מונחים (הדפס דפים אלה) שימו לב!! עד עתה בבחינת הבגרות כאשר נעשה שימוש באחד מהסימונים הבאים הרי שהוא לווה בהסבר. דוגמה :בנה אוטומט מעל }{a,b,c המקיים את התנאי <= 2 )#a ( w )מספר אותיות aבמילה קטן שווה (2 המונחים סימון משמעות האות היוונית מייצגת את המילה הריקה .מספר האותיות במילה הריקה הינו אפס. שפה שמכילה מילה ריקה היא לא שפה ריקה ,שכן יש בה מילה אחת שהיא המילה הריקה השפה הריקה .מספר המילים בשפה הריקה הינו אפס) .אינה מכילה את המילה הריקה(. w בדרך כלל האות wמציינת מילה בשפה .מילה הינה סדרה סופית של אותיות מתוך אורך של מילה wמציין את מספר האותיות במילה w )#a ( w L L w L w L מספר המופעים של אות הא"ב aבמילה . wדוגמה#a (baabbab) 3 : בדרך כלל האות Lמציינת שפה של מילים מספר המילים בשפה L המילה wשייכת לשפה , Lהמילה נמצאת בשפה המילה wלא שייכת לשפה , Lהמילה לא נמצאת בשפה * שפת כל המילים שניתן להרכיב מאותיות קבוצת הא"ב כולל המילה הריקה Є שייך ל... מספר אונרי קבוצת אותיות א"ב של השפה .דוגמאות ={a,b,c} : }={0,1,a מספר האחדים מביע את ערך המספר דוגמה 111 :שווה 3 { )# b (w) # a (w | *) L = { w Є (a,bפירושו ש Lהינה שפה מעל ) (a,bכך שמספר ה aים במילה שווה למספר ה bים במילה .הסימן | פירושו "כך ש" . © כל הזכויות שמורות 56 מונחים סימון w1 w2 wi R(w), wR L1 L2 L1 L2 L1 L2 Li R( L), LR L1 L2 L1 L2 L1 L2 L L1 L2 משמעות שרשור בין 2מילים יוצר מילה חדשה המתקבלת מהצמדת המילה השנייה w2מימין למילה הראשונה w1 מילה חדשה המתקבלת משרשור המילה wלעצמה iפעמים .חזקת 0שווה המילה הריקה. היפוך המילה wיוצר מילה חדשה המתקבלת מרישום אותיות המילה בסדר הפוך מימין לשמאל איחוד שתי שפות L1, L2יוצר את שפת כל המילים משתי השפות יחד -שקול לקשר לוגי של או חיתוך שתי שפות L1, L2יוצר את שפת כל המילים המשותפות לשתי השפות -שקול לקשר לוגי של וגם שרשור שתי שפות L1, L2יוצר את שפת כל המילים המתקבלות משרשור מימין של כל מילה מהשפה L2לכל מילה מהשפה L1 חזקה של שפה מציינת שרשור השפה Lלעצמה iפעמים היפוך השפה Lיוצר את שפת כל המילים ההפוכות למילים בשפה L הכלה /חלקיות [מוכל או שווה] -השפה L1מוכלת בשפה L2או שווה לה ,כל המילים בשפה L1 נמצאות בשפה L2 הכלה /חלקיות [מוכל ממש ולא שווה] -השפה L1מוכלת ממש בשפה L2ולא שווה לה -השפה L1חלקית לשפה , L2כל המילים בשפה L1נמצאות בשפה L2 השפה L1לא מוכלת בשפה L2 משלים יוצר את שפת כל המילים שאינן נמצאות בשפה L הפרש יוצר את שפת כל המילים שנמצאות בשפה , L1ולא נמצאות בשפה , L2הפרש שקול לביטוי L1 L2 מלכודת של מצב מקבל הינו מצב שאומר שכל המשך שהוא המילה תתקבל. ומלכודת של מצב שאינו מקבל הינו מצב שאומר שכל המשך שהוא המילה לא תתקבל. דוגמה :כל המילים מעל } {a,b,cהמתחילות ב .a a,b,c a b,c a,b,c הגדרת המונחים בויקיפדיה © כל הזכויות שמורות 57 מונחים סגירות שפות רגולריות תחת פעולות שפה רגולרית הינה שפה שניתן לבנות לה אוטומט אס"ד ולהיפך לשפה שניתן לבנות לה אס"ד קוראים שפה רגולרית. השפות הרגולריות סגורות תחת הפעולות הבאות :חיתוך ,איחוד ,שרשור ,היפוך ,משלים. חיתוך -גם( L1∩L2פירושו כל המילים המתקבלות הן ב L1והן ב.) L2 תהי L1שפת כל המילים מעל } {a,bהמתחילות ב .a תהי L2שפת כל המילים מעל } {a,bהמסתיימות ב .b L3 = L1∩L2הינם המילים המתחילות ב aומסתיימות ב . b אם ידוע ש L1רגולרית ו L2רגולרית אזי L1∩L2גם כן רגולרית. איחוד -או ( L1 L2פירושו כל המילים המתקבלות ב L1או ב .) L2 תהי L1שפת כל המילים מעל } {a,bהמתחילות ב .a תהי L2שפת כל המילים מעל } {a,bהמסתיימות ב .b L3 = L1L2הינם המילים המתחילות ב aאו מסתיימות ב . b אם ידוע ש L1רגולרית ו L2רגולרית אזי L1L2גם כן רגולרית. שרשור( L1· L2פירושו כל המילים אשר ניתן לחלק אותן לשני חלקים כך שהחלק השמאלי שייך ל L1והימני ל )L2 שים לב שגם מילה ריקהיכולה להיות חלק שמאלי אם L1כוללת אותה או חלק ימני אם L2כוללת אותה). תהי L1שפת כל המילים מעל } {a,bהמתחילות ב .a תהי L2שפת כל המילים מעל } {a,bהמסתיימות ב .b L3 = L1·L2הינם המילים המתחילות ב aומסתיימות ב . bקיבלנו כמו החיתוך ,אך לא תמיד נקבל כך. אם ידוע ש L1רגולרית ו L2רגולרית אזי L1·L2גם כן רגולרית. שרשור של השפה הריקה עם כל שפה נותנת שפה ריקה. שפה המכילה את המילה הריקה אינה שפה ריקה. )האם נכון לומר ש .( L2·L1 = L1·L2 ) R(Lפירושו היפוך Lמסומן גם כ . LR כלומר עבור כל מילה ב Lאנו הופכים אותה. תהי Lשפת כל המילים מעל } {a,bהמסתיימות ב .a ) R(Lהינה שפת כל המילים המסתיימות ב .a © כל הזכויות שמורות 58 סגירות שפות רגולריות משלים ) (Lמסומן Lפירושו כל המילים שאינן מתקבלות ב . L תהי Lשפת כל המילים מעל } {a,bהמתחילות ב .a Lהינה שפת כל המילים שאינן מתחילות ב ) .aכולל המילה הריקה(. )האם נכון לומר שאחת משתי השפות L או L מכילה את המילה הריקה(. הכלה (השפות הרגולריות אינן סגורות תחת פעולה זו ) תהי Lשפת כל המילים מעל }.{a,b n n תהי תהי ' Lשפת כל המילים מעל } {a,bמהצורה .a b Lרגולרית בעוד ' Lאינה רגולרית. הרחבה בנושא בעמוד .72 © כל הזכויות שמורות 59 סגירות שפות רגולריות אוסף תרגילים פתורים בהוכחת רגולריות בעזרת חוקי סגירות תרגיל 1 הוכח שהשפה Lמעל } {a,b,cשבה כל מילה מתחילה ב aמסתיימת ב cומכילה את הרצף bbרגולרית. פתרון ניתן לפרק את השפה לשלוש שפות. ולבנות אוטומט לכל שפה. a,b,c a L1כל המילים המתחילות ב a b,c a,b,c L2כל המילים המסתיימות ב c c c a,b L3כל המילים המכילות bb b a,b b a,c a,b,c a,c L=L1∩L2∩L3המבוקשת מסגירות משפחת השפות הרגולריות לפעולת החיתוך נובע ש Lרגולרית. )האם נכון לומר ש ( ?? L=L1·L2·L3 )האם נכון לומר ש ( ?? L=L1·L3·L2 תרגיל 2 הוכח שהשפה Lמעל } {a,b,cשבה כל מילה )מתחילה ב aאו מסתיימת ב ( cואינה מכילה את הרצף bb רגולרית. פתרון הפתרון דומה לפתרון התרגיל הקודם .ניתן לפרק את השפה לשלוש שפות. ולבנות אוטומט לכל שפה. L1כל המילים המתחילות ב a L2כל המילים המסתיימות ב c L3כל המילים המכילות bb L ( L1 L2) L3 מסגירות משפחת השפות הרגולריות לפעולת החיתוך,איחוד,משלים נובע ש Lרגולרית. © כל הזכויות שמורות 60 סגירות שפות רגולריות תבנית להוכחת רגולריות של שפה נתונה השפה Lמעל הא"ב { } המקיימת את התנאים הבאים" :התנאים" הוכח שהשפה רגולרית. הוכחה ננגדיר את השפות הבאות ונבנה אוטומט לכל שפה = L1הינה שפה מעל }{ המקיימת את תנאי א = L2הינה שפה מעל }{ המקיימת את תנאי ב = L3הינה שפה מעל }{ המקיימת את תנאי ג * * L3……. פעולה L2פעולה L=L1 )במילה פעולה אנו מתכוונים לחיתוך או איחוד או משלים או שרשור או היפוך( אנו רואים כי ניתן לבטא את Lבעזרת השפות שבנינו. מסגירות משפחת השפות הרגולריות לפעולות החיתוך ,איחוד ,שרשור ,משלים והיפוך נובע ש Lרגולרית. © כל הזכויות שמורות 61 סגירות שפות רגולריות תרגיל 3 תהי Lשפת כל המילים מעל הא"ב } {a,bשבהן השארית של מספר האותיות aמחולק ב 2-שווה לשארית של מספר האותיות bמחולק ב .2-האם Lרגולרית? הוכח את תשובתך. a,b פתרון q1 הדרך הפשוטה ביותר להוכחה הינה בנית האוטומט : q0 a,b תרגיל 4 תהי Lשפת כל המילים מעל הא"ב } {0,1,2המסתיימות ב) 000או ב ( 0האות לפני האחרונה 0אורך המילה מתחלק ב 15עם שארית גדולה מאפס וחייב שכל אות תופיע לפחות פעם אחת .האם Lרגולרית? פתרון נגדיר את השפות הבאות ונבנה אוטומט לכל שפה. את התנאי )מסתיים ב 000או ב (0והאות לפני האחרונה 0ניתן ל צמצם למסתיים ב .00 1,2 השפה שמסתיימת ב L1 00 0 0 1,2 0 השפה שמכילה את האות 0לפחות פעם אחת L2 1,2 0 באופן דומה L3עבור 1ו L4עבור .2 1,2 0,1,2 0,1,2 השפה שאורך המילה מתחלק בשלוש ללא שארית L5 0,1,2 0,1,2 0,1,2 0,1,2 השפה שאורך המילה מתחלק בחמש ללא שארית L6 0,1,2 Lהשפה המבוקשת 0,1,2 L ( L1 L2 L3 L4) L5 L6ומסגירות 0,1,2 השפות הרגולריות לפעולות החיתוך ומשלים נובע ש Lרגולרית © כל הזכויות שמורות 62 סגירות שפות רגולריות תרגיל 5 בתרגיל זו שני סעיפים א ו ב שאין קשר ביניהם .ענה על שניהם. א. לפניך השפה Lמעל הא"ב }:}a,b אוסף כל המילים המתחילות ב , aaaaמספר ה aים במילה מתחלק ב 2ללא שארית , הרצף abaמופיע במילה והרצף bbbאינו מופיע במילה. הוכח שהשפה רגולרית. ב. לפניך שתי שפות : } L1= { (ab)n (ab)n | n>0 } L2= { (ba)n (ab)n | n>0 רשום לגבי כל שפה האם היא רגולרית או לא .אם כן ,בנה את האוטומט ,אם לא נסה לנמק מדוע. פתרון א נגדיר את השפות הבאות ונבנה אוטומט לכל שפה. q4 a q3 a q2 q1 a a L1הינה שפה מעל } {a,bשל q0 המילים המתחילות ב aaaa q a,b L2הינה שפה מעל } {a,bשל a q1 המילים שמספר ה aבמילה q0 a מתחלק ב 2ללא שארית 4q b b L3הינה שפה מעל } {a,bשל q3 a q2 q1 b a המילים שהרצף abaמופיע q0 במילה q a,b a,b L4הינה שפה מעל } {a,bשל q3 b q2 q1 b b q0 המילים שהרצף bbbמופיע q במילה a,b a,b ) L= L1∩ L2∩ L3∩( L 4המבוקשת ומסגירות השפות הרגולריות לפעולות החיתוך ומשלים נובע ש Lרגולרית © כל הזכויות שמורות 63 סגירות שפות רגולריות פתרון ב L1רגולרית וניתן לבנות לה אוטומט) .שים לב שעל הקשת יש (abשזה חוקי בתורת המודלים אך אין מלמדים לבנות כך לפי תכנית הלימודים. ab q1 q2 4q ab q0 a ab L2אינה רגולרית כי ניתן להסתכל על השפה כ xn ynוקיימת תלות בין מספר ה xים למספר ה yים והתלות אינה חסומה. תרגיל 6 נתון כי L1 L2רגולרים. הוכח כי L1-L2רגולרית. פתרון L1-L2 = L1∩ L 2ומחוקי הסגירות נובע שהיא רגולרית. תרגיל 7 הוכח כי השפה Lמעל } {0,1,2שאורך המילה זוגי מכילה את הרצף 012ולאחריו במקום כלשהו את הרצף 111רגולרית. פתרון נגדיר את השפות הבאות ונבנה אוטומט לכל שפה. L1אורך מילה זוגי L2מכיל 012 L1מכיל 111 ) L= L1∩( L2* L3המבוקשת ומסגירות השפות הרגולריות לפעולות החיתוך ושרשור נובע ש Lרגולרית. © כל הזכויות שמורות 64 סגירות שפות רגולריות אוסף תרגילים פתורים בפעולות על שפות .1נתונות שתי שפות מעל }.{a,b L1הינה שפת כל המילים המכילות a L2הינה שפת כל המילים המסתיימות ב b מהי השפה L1·L2 פתרון זוהי שפת כל המילים המסתיימות ב bומכילות a למשל ) bbaab , abלא בשפה (aa bb מהי השפה L2·L1 פתרון זוהי שפת כל המילים המכילות bומימין ל bמופיע )aמכילות רצף (ba למשל ) bbaa , baלא בשפה (aa ab מהי השפה L1∩L2 פתרון זוהי שפת כל המילים המסתיימות ב bומכילות ) .aכמו שרשור (L1·L2 מהי השפה L1υL2 פתרון זוהי שפת כל המילים המסתיימות ב bאו מכילות .aשימו לב שזוהי שפת כל המילים מעל } {a,bלא כולל המילה הריקה. למשל a , b מהי שפת המשלים ל .L1 פתרון זוהי השפה המכילה bים בלבד כולל המילה הריקה(bn n≥0) . © כל הזכויות שמורות 65 פעולות על שפות .2נתונות שתי שפות מעל }.{a,b,c )דומה לתרגיל הקודם רק שהוספנו את ( c L1הינה שפת כל המילים המכילות a L2הינה שפת כל המילים המסתיימות ב b מהי השפה L1·L2 פתרון זוהי שפת כל המילים המסתיימות ב bומכילות a למשל bbaccab , ab )לא בשפה (aa bcbc מהי השפה L2·L1 פתרון זוהי שפת כל המילים המכילות bומימין ל bמופיע a למשל bbaa , ba מהי השפה L1∩L2 פתרון זוהי שפת כל המילים המסתיימות ב bומכילות ) .aכמו שרשור (L1·L2 מהי השפה L1υL2 פתרון זוהי שפת כל המילים המסתיימות ב bאו מכילות .aלמשל a , b מהי שפת המשלים של .L1 פתרון זוהי השפה המכילה bים או cים כולל המילה הריקה(bn n≥0) . .3נתונות שתי שפות רגולריות L1 L2כלשהן. האם נכון לומר ש R(L1·L2) == L2·L1 פתרון התשובה לא .דוגמהL1=anb n>0 : L2·L1מילים שמתחילות ב a L2=akb k>0 ) R(L1·L2מילים שמתחילות ב b .4תהי Lשפת כל המילים מעל } {a,bהמתחילות ב aומסתיימות ב .b מהי השפה )L ∩ R(L פתרון השפה הריקה. מהי השפה )L - R(L פתרון .L © כל הזכויות שמורות 66 פעולות על שפות .5נתון האוטומט הבא מעל הא"ב {) : }0,1קשה( 1 א. הגדר את השפה שהאוטומט מקבל. ב. בנה את האוטומט המשלים . ג. האם יכול להיות שהאוטומט ההפוך לשפה כלשהי תהיה זהה לשפה המקורית 0,1 )כלומר כל מילה המתקבלת בשפה המקורית תתקבל גם בשפה ההופכית ,ולהפך. כמו כן כל מילה שלא מתקבלת בשפה המקורית לא תתקבל בהופכית ולהפך(. פתרון א. המילים המתקבלות הם אלה שיש בהם לפחות פעם אחת 0במקום אי זוגי . ב. האוטומט המשלים )שיש בו רק 1במקום אי זוגי לא כולל המילה הריקה. ג. כן .מתחיל ב aומסתיים ב a .6נתונה השפה הבאה מעל הא"ב }{a,b Tהיא אוסף כל המילים המתחילות ומסתיימות באותה אות לא כולל המילה הריקה. טענה T·Tשווה T הוכח או הפרך פתרון הטענה שגויה כי המילה הקצרה ביותר ב Tהיא aaאו bb וב T·Tהמילה הקצרה ביותר מכילה 4אותיות. דוגמה נוספת ) aabbכלומר (aa·bbב TTואינה ב T © כל הזכויות שמורות 67 פעולות על שפות 0 0,1 .7לפניך השפות הבאות: {אוסף כל המילים מעל { }a,bשבהן מספר ה aב wזוגי| L1=}w {אוסף כל המילים מעל { }a,bשבהן מספר ה bב wזוגי| L2=}w הא"ב הוא {}a,b }L3= { anbm | n,m ≥ 0 הא"ב הוא {}a,b }L4= { bnam | n,m ≥ 0 הא"ב הוא { }a,b,c { L5 = { bncnax | n=x%3 ,x >= 0 { שפת כל המילים מעל { } a,b,cשהרצף acמופיע בהן בדיוק פעם אחת } = L6 לפניך מספר טענות .קבע לכל אחת אם היא נכונה או לא ונמק את קביעתך. פתרון )aba Є (L1 ∩ L2 1. לא כי מספר ה bבמילה איזוגי ולפי התנאים חייב להיות זוגי. כן } mזוגי n ,זוגי | n,m ≥ 0 , n m (L1 ∩ L3) ∩ L2 = { a 2. (השפה הריקה( L3 ∩ L4 = Ø 3. b לא כי aמתקבל בשניהם } { bncnax bncnax | n=x%3 , x>=0 = L5·L5 4. לא כי bnלא חייב להיות זהה L5∩ L6 = Ø 5. כן כי acאסור שיופיע ב L5 } L5∩R(L6) = { bbccaa , bca 6. לא כי bcaaaaגם כן מתקבל .8נתונות שתי שפות מעל }.{a,b | n>0 n | n>0 n מהי השפה L1·L2 פתרון an bk n,k>0 כיוון ש nמופיע בשתי השפות רצוי לשנות את nבאחת מהן לאות אחרת .פתרון שגוי n>0 an bn © כל הזכויות שמורות 68 פעולות על שפות L1 = a L2 = b דף תרגילים מספר -12סגירות שפות רגולריות ופעולות בין שפות .1השפות הבאות הינן מעל }{a,b,c L1 שפת כל המילים המתחילות ב .a L2 שפת כל המילים המתחילות ב .c L3 שפת כל המילים המתחילות ב .aa מהן השפות הבאות? תן דוגמה למילה הקצרה ביותר המתקבלת בשפה ולמילה שאינה מתקבלת בשפה. א. L1 · eכלומר שרשור כל מילה ב L1למילה הריקה. ב. L1 · Ø ג. )L1· R(L1 ד. )L1-R(L1 ה. L1 L2 ו. L1 · L2 ז. L1 L2 ח. )L1 · R(L2 ט. L1 L2 ·L1·L2 י. )L1 L2 ·L1· R(L2 יא. )R( L1) R( L2) ( L1 L2 יב. L1 L2 e יג. L1 L3 יד. L1 ∩ L3 טו. L1 · L2· L3 טזL3-L1 . יז. L1 - L3 .2האם הכללים הבאים נכונים לכל שתי שפות רגולריות? A B A B A B A B פעולות על שפות © כל הזכויות שמורות 69 .3נתונות השפות הבאות מעל }{a,b,c }L1 = {anbmn>m>0 }L2 ={bna2mm>n>0 מהן השפות הבאות? תן דוגמה למילה הקצרה ביותר המתקבלת בשפה .תן דוגמה למילה שאינה מתקבלת בשפה. א. L1 L2 ב. L1 · L2 ג. L1 L2 ד. )L1 · R(L2 ה. L1 L2 ·L1·L2 ו. )L1 L2 ·L1· R(L2 ז. )R( L1) R( L2) ( L1 L2 * .4נגדיר ∑ כאוסף כל המילים מעל א"ב נתון ,כולל המילה הריקה. בעבור שפה Lכלשהי נגדיר : * } ∑ Init(L) = {u | uv Є L u,v Є * } ∑ Fin(L) = {v | uv Є L u,v Є = )Min(L wЄL ובעבור כל w1 w2המקיימות w=w1.w2ו w2אינה ריקה w1אינה שייכת ל L לפניך 5שפות מעל ה א"ב }{0,1 }|n≥1 k≥0 L1={ 0 1 0 1 }|n≥0 k≥0 L2={ 0n 1k }|i≥0 L3={ 0i 1i }| k≥i≥0 L4={ 0i 1k }| i≥k≥0 L5={ 0i 1k מהי השפה ? L1 ∩ L2 מהי השפה )? Init (L3 מהי השפה )? Fin(L3 האם )?0011 Є Min(L4 האם )?0011 Є Min(L5 © כל הזכויות שמורות L4 ∩ L5רגולרית ? האם 70 k k n n פעולות על שפות ( .5לצטר) לפניך חמש השפות L1-L5מעל הא"ב }. {a , b , c } אוסף כל המילים שבהן מספר האותיות ב w -אי זוגי L1 = { w / } L2 = { w / |w| % 3 = 2 } L3 = { anb3n / n 0 } אוסף כל המילים שבהן מספר האותיות ב w -זוגי L4 = { w / } L5= {an bn+1 cm | n>=0, m=n%3 מהן השפות הבאות? L6= L5 L1 L7 = L3 L2 L8 = L3 L4 L9 = L1 L2 L10= L3 L1 )L11 = L32 . R(L5 .6מה השוני בתשובה הקודמת לו } אוסף כל המילים שאורכן אי זוגי ומכילות את האותיות a,bבלבד L1 = { w / .7נתונות השפות הבאות מעל הא"ב }{a,b { L1={ an bm n,m ≥ 0 { L2={ bn am n,m ≥ 0 מהי השפה L1. L2 האם ) R(L1שווה ? L2הוכח את תשובתך. האם ) (L2) . (L2שווה ? R(L1) .L2הוכח את תשובתך. © כל הזכויות שמורות 71 פעולות על שפות שאלות ופתרונות שניתנו בקורס מורים מובילים בהנחיית ד"ר מיכל ארמוני )חוקי סגירות של שפות רגולריות( שאלה ( 1איריס ברגורי) תהיינה L1ו L2-שפות מעל הא"ב } .{0,1תהי L2L1שפת כל המילים השייכות ל L2-אך אינן שייכות ל.L1- הוכח או הפרך )על ידי דוגמה נגדית( את הטענה הבאה :אם L1ו L2L1-רגולריות ,אז L2רגולרית. פתרון הטענה אינה נכונה. }= }w | |w| > 3 דוגמה נגדית: }= {anbn n>0 .L1 . L2 * L1היא רגולרית )להוכחה מלאה יש כמובן להראות אוטומט סופי שמקבל את .(L1 * }L2 – L1 ={a b n>0, 2n<3}={a b n=1 n n n n כלומר L2L1 ,היא שפה סופית )שמכילה בדיוק מילה אחת( ולכן רגולרית. אבל ידוע כי L2אינה רגולרית .ומכאן ההוכחה. שאלה ( 3ויקטוריה צורי) תהי Lשפת כל המילים מעל הא"ב } ,{0,1,2שמתחילות במספר כלשהו )גדול ממש מ (0-של אפסים ואין בהן שתי אותיות 1צמודות .האם Lרגולרית? הוכח את תשובתך. פתרון קל יותר לפתור שאלה זו בעזרת פירוק לשפות פשוטות יותר ושימוש בתכונות סגירות ,אך גם פתרון ישיר ,על ידי בניית אוטומט הוא אפשרי .בפתרון ישיר לעיתים קרובות שוכחים לטפל באות .2 ניתן לפרק את Lכך L1 , L L1 L 2 :ו L2-מעל הא"ב }:{0,1,2 { wמתחילה ברצף לא ריק של אפסים L1={w { wמכילה רצף L2={w 11 L1רגולרית – הנה אוטומט שמקבל אותה )אוטומט דטרמיניסטי לא מלא( 0,1,2 q1 0 q0 L2רגולרית – הנה אוטומט שמקבל אותה )אוטומט לא דטרמיניסטי(: © כל הזכויות שמורות 72 סגירות שפות רגולריות 0,1,2 0,1,2 q2 1 1 q1 q0 מסגירות משפחת השפות הרגולריות לפעולת המשלים גם L 2רגולרית, ומסגירות משפחת השפות הרגולריות לפעולת החיתוך גם L L1 L 2רגולרית. הנה אוטומט מתאים עבור :L1 0,1,2 0 q1 q0 1 0,1,2 q2 והנה אוטומט מתאים עבור :L2 0,2 0,1,2 1 q2 1 q0 q1 0,2 סגירות שפות רגולריות © כל הזכויות שמורות 73 שאלה ( 4ויקטוריה צור) נתבונן בשפה מעל הא"ב } {a,b,cהמכילה את כל המילים שאורכן אי-זוגי והן מקיימות לפחות אחד משני התנאים הבאים: .1מתחילות ומסתיימות באותה אות. .2מכילות את הרצף .aa האם השפה רגולרית? הוכח את תשובתך. פתרון פתרון י שיר ללא שימוש בפירוק )ע"י בניית אוטומט סופי המקבל את השפה( אינו פשוט ,אך ניתן להגיע לפתרון בעל מורכבות טכנית נמוכה ע"י שימוש בפירוק הבא L = L1(L2 L3) :כאשר L2 ,L1ו L3-מעל }:{a,b,c { wבאורך אי-זוגי L1={w { wמתחילה ומסתיימת באותה אות L2={w { wמכילה את הרצף L3={w aa הנה אוטומט סופי שמקבל את :L1 a,b,c q0 q1 a,b,c הנה אוטומט סופי שמקבל את :L2 q1 a,b,c a,b,c c q0 a,b,c a b a,b,c q3 q4 c b q2 a q5 זהו אוטומט סופי לא דטרמיניסטי) .אוטומט דטרמיניסטי עבור שפה זו הוא מורכב למדי(. q1מטפל במקרה המיוחד שהמילה בת אות אחת – כלומר האות המתחילה היא גם האות המסיימת )כמובן, אפשר לאחד את q1ו.(q5- הנה אוטומט סופי שמקבל את :L3 © כל הזכויות שמורות סגירות שפות רגולריות 74 a,b,c a,b,c q2 a q1 a q0 לכן L2 ,L1ו L3-הן שפות רגולריות. מסגירות משפחת השפות הרגולריות לפעולת האיחוד גם L2L3רגולרית ומסגירות משפחת השפות הרגולריות לפעולת החיתוך גם ) L1(L2 L3היא רגולרית. סגירות שפות רגולריות © כל הזכויות שמורות 75 שאלה ( 5ויקטוריה צורי) נתבונן בשפה מעל הא"ב } ,{0,1,2המכילה את כל המילים שמתחילות ברצף 01או ברצף ,10ומסתיימות ברצף 10או ברצף .0111האם השפה היא רגולרית? הוכח את תשובתך. פתרון פתרון ישיר שאינו משתמש בפירוק אינו פשוט ,כי קל לשכוח מילים כמו 0111 ,10או 10111שהן בשפה ומקיימות תנאים בחפיפה .כמובן ,כאשר מפרקים את השפה לשפות פשוטות ,ההתמודדות היא עם כל תנאי בנפרד ואין צורך לחשוב על שילוב התנאים. ניתן להציג את השפה באופן הבא ,כאשר L2 ,L1ו L3-הן מעל הא"ב }.{0,1,2 )(L1L2)(R(L1)L3 { wמתחילה בL1={w | 01- { wמתחילה בL2={w | 10- { wמסתיימת בL3={w | 0111- L1היא רגולרית – הנה אוטומט סופי המקבל אותה: 0,1,2 1 q2 0 q1 q0 L2היא רגולרית – הנה אוטומט סופי המקבל אותה: 0,1,2 0 q2 1 q1 q0 L3היא רגולרית – הנה אוטומט סופי המקבל אותה: 0,1,2 q4 1 1 q3 1 q2 0 q1 q0 מסגירות משפחת השפות הרגולריות לפעולת ההיפוך גם ) R(L1רגולרית. מסגירות משפחת השפות הרגולריות לפעולת האיחוד גם L1L2ו R(L1)L3-רגולריות ,ומסגירות משפחת השפות הרגולריות לפעולת החיתוך גם ) (L1L2)(R(L1)L3רגולרית. סגירות שפות רגולריות © כל הזכויות שמורות 76 שאלה ( 6ריקה רם) תהי Lשפת כל המילים מעל הא"ב } {a,b,cשאורכן לפחות ,6ובין 3האותיות בהן מתחילה המילה אין שתי אותיות זהות ובין 3האותיות בהן מסתיימת המילה אין שתי אותיות זהות .האם שפה זו רגולרית? הוכיחו את תשובתכם. פתרון ניתן להגדיר את Lבעזרת שתי השפות הבאות: L1היא שפת כל המילים מעל הא"ב } {a,b,cשאורכן בדיוק 3ואין בהן שתי אותיות זהות. L2היא שפת כל המילים מעל הא"ב }.{a,b,c L1היא סופית ולכן רגולרית L2 .אף היא רגולרית )מוכח בספר לתלמיד(. .L=L1∙L2∙L1מסגירות משפחת השפות הרגולריות לשרשור גם L1∙L2רגולרית ולכן גם L=(L1∙L2)∙L1רגולרית. שאלה זו מדגימה יפה כי השימוש בפירוק יכול להפחית בצורה משמעותית את המורכבות הטכנית של הפתרון, ובמקרה זה אפילו אין צורך לבנות אוטומט ,בעוד שבניית אוטומט ישיר לשפה כלל אינה טריוויאלית. שאלה ( 8אסנת אנגלמן ,אסתי מאסטראסי ואורנה שטיין) הוכח כי שפת כל המילים מעל הא"ב } {a,b,cשאינן מכילות רצף של שתי אותיות זהות היא רגולרית. פתרון ניתן לייצג את השפה בעזרת שלוש השפות הבאות ,כולן מעל הא"ב}:{a,b,c L1היא שפת כל המילים שמכילות את הרצף .aa L2היא שפת כל המילים שמכילות את הרצף .bb L3היא שפת כל המילים שמכילות את הרצף .cc השפה הנדונה היא L1 L 2 L 3 )וניתן להציגה גם כ.( (L1 L 2 L 3 ) - L1היא רגולרית .הנה אוטומט סופי שמקבל אותה )לא דטרמיניסטי(. a,b,c q2 a,b,c a q1 a q0 אוטומטים דומים מקבלים את L2ו .L3-עבור L2נחליף את aבמעברים מ q0-ל q1-ומ q1-ל q2-ב ,b-ועבור L3 נחליף את aבמעברים האלו ב .c-לכן גם L2ו L3-רגולריות. בייצוג הרא שון מקבלים כי השפה הנדונה רגולרית ע"י שימוש שלוש פעמים בתכונת הסגירות של השפות הרגולריות לפעולת המשלים ,ופעמיים שימוש בתכונת הסגירות של השפות הרגולריות לפעולת החיתוך. בייצוג השני מקבלים כי השפה הנדונה רגולרית ע"י שימוש פעמיים בתכונת הסגירות של השפות הרגולריות לפעולת האיחוד ופעם אחת שימוש בתכונת הסגירות של השפות הרגולריות לפעולת המשלים. © כל הזכויות שמורות 77 סגירות שפות רגולריות שאלה ( 17רחלי צ'רניחוב) תהי Lשפת כל המילים מעל הא"ב } {a,b,cהמקיימות את כל התנאים הבאים: ניתן לחלק את המילה לשני חלקים כך שחלקה הראשון מכיל את הרצף bcaוחלקה השני מכיל את א. הרצף .acb ב. המילה מכילה את הרצף .bb ג. המילה אינה מכילה יותר משלוש אותיות aרצופות. האם Lרגולרית? הוכח את תשובתך. פתרון ניתן לייצג את Lבעזרת השפות הבאות ,כולן מעל הא"ב }:{a,b,c L1היא שפת כל המילים שמכילות את הרצף .bca L2היא שפת כל המילים שמכילות את הרצף .bb L3היא שפת כל המילים שמכילות את הרצף .aaaa L ((L1 R (L1 )) L 2 ) L 3 L2 ,L1ו L3-רגולריות: A1עבור :L1 a,b,c q3 a,b,c a c q2 b q1 q0 A2עבור :L2 a,b,c a,b,c b q2 b q1 q0 A3עבור :L3 a,b,c q4 a,b,c a q3 a q2 a q1 a q0 מסגירות משפחת השפות הרגולריות לפעולת ההיפוך גם ) R(L1רגולרית. מסגירות משפחת השפות הרגולריות לפעולת השרשור גם ) L1∙ R(L1רגולרית. מסגירות משפחת השפות הרגולריות לפעולת המשלים גם L 3רגולרית. מסגירות משפחת השפות הרגולריות לפעולת החיתוך גם (L1∙R(L1))L2וגם L ((L1 R (L1 )) L 2 ) L 3 רגולרית. סגירות שפות רגולריות © כל הזכויות שמורות 78 שאלה ( 19דגנית מורן) תהי Lשפת כל המילים מעל הא"ב } {a,b,cהמקיימות את כל התנאים הבאים: האות לפני האחרונה במילה היא ,aהמילה מכילה פעמיים את הרצף abcומספר האותיות bבמילה הוא זוגי. א. הבא דוגמה למילה השייכת לשפה ודוגמה למילה שאינה שייכת לשפה. ב. האם Lרגולרית? הוכח את תשובתך. פתרון א. המילה cabcccabcaaשייכת לשפה. המילה abcabcabcאינה שייכת לשפה. ב. נגדיר את שפות הבסיס הבאות מעל הא"ב }:{a,b,c – L1שפת כל המילים שמכילות את הרצף .abc – L2שפת כל המילים בהן מספר האותיות bזוגי. – L3שפת כל המילים בהן האות לפני האחרונה היא .a כעת L = (L1∙L1)L2L3 L1רגולרית – הנה אוטומט סופי שמקבל אותה: a,b,c q3 a,b,c c b q2 a q1 q0 L2רגולרית – הנה אוטומט סופי שמקבל אותה: a,c a,c b q1 q0 b L3רגולרית – הנה אוטומט סופי שמקבל אותה: a,b,c q2 a,b,c q1 a q0 מסגירות משפחת השפות הרגולריות לשרשור גם L1∙L1רגולרית .מסגירות משפחת השפות הרגולריות לחיתוך גם L2L3רגולרית וגם ).L = (L1∙L1)(L2L3 סגירות שפות רגולריות © כל הזכויות שמורות 79 הכלת שפות תרגיל 1 נתון ש Lרגולרית ו ' Lמוכלת בה .האם ' Lרגולרית ? פתרון יתכן שתהיה רגולרית ויתכן שלא. דוגמה שלא :תהיי Lשפת כל המילים מעל } {a,bהינה רגולרית. תהיי ' Lשפת כל המילים מעל } {a,bהמקיימים את התנאי }{a n b n | n 0 הראנו דוגמה ש ' Lאינה רגולרית. דוגמה שכן :תהיי Lשפת כל המילים מעל } {a,bהינה רגולרית. תהיי ' Lשפת כל המילים מעל } {a,bהמתחילים ב aהינה שפה רגולרית. דוגמה נוספת:נבחר מספר סופי של מילים וכמובן שאם שפה מכילה מספר סופי של מילים היא רגולרית. תרגיל 2 נתון Lוכן ש ' Lרגולרית ומוכלת בה .האם Lרגולרית ? פתרון יתכן שתהיה רגולרית ויתכן שלא. דוגמה שלא :תהיי ' Lהשפה המכילה את המילה abבלבד הינה רגולרית. תהיי Lשפת כל המילים מעל } {a,bהמקיימים את התנאי }L {a n b n | n 0 שידוע שאינה רגולרית. דוגמה שכן :תהיי ' Lהשפה המכילה את המילה abבלבד הינה רגולרית. תהיי Lשפת כל המילים מעל } {a,bהמתחילות באות . a Lרגולרית ומכילה את 'L © כל הזכויות שמורות 80 סגירות שפות רגולריות הוכחת אי רגולריות קימות שפות שאינן רגולריות כלומר לא ניתן לבנות להן אס"ד .הדוגמה הפשוטה ביותר הינה }n 0 | . L {a n b nשימו לב שמספר ה aים צריך להיות שווה למספר ה bים. לו היה תנאי נוסף והוא n<10למשל כן ניתן היה לבנות אס"ד אך כיוון ש nאינו מוגבל לא ניתן לבנות אס"ד. הרעיון הכללי בהוכחת אי רגולריות הינה בדרך השלילה. אנו מניחים שהשפה כן רגולרית ולכן ניתן לבנות לה אוטומט סופי .בחירה נבונה של קבוצה אינסופית של מילים בשפה וניסיון לבנות אוטומט תביא אותנו לסתירה כלומר שהאוטומט מקבל מילה שאסור שתתקבל ומכיוון שמספר המילים בשפה אינסופי נובע שהשפה אינה רגולרית. מבנה רעיון ההוכחה חוזר על עצמו/דומה בכל המקרים. פרק זה קשה להבנה ורק לאחר קריאה איטית ומעמיקה של הדוגמאות ומעבר על פני כל הדוגמאות ניתן להבין נושא זה. © כל הזכויות שמורות 81 הוכחת אי רגולריות דוגמא 1 }n 0 | L {a n b n הוכח שהשפה אינה רגולרית הוכחה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. בואו ונבחן את הקבוצה האינסופית הבאה: }W = {a , a2 , a3 , a4.....,am,... התחלות של מילים בשפה . L כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות J wj=a , wi=ai כך ש i ≠ J -מתוך הקבוצה Wהמגיעות לאותו מצב שאם לא ai כן אזי היה צורך באינסוף מצבים. נסמן את המצב המשותף של שתי המילים ב q1באוטומט. q0 q1 aJ שתי המילים מגיעות למצב משותף q1מכאן ai i i שהמילה a bשייכת לשפה לכן q2מצב מקבל. J i q2 יוצא ש a b -מתקבל בשפה עבור i ≠ J bi q0 q1 )המסלול מ q1ל q2משותף לשתי המילים(, J a וזה בניגוד לכללי/חוקי השפה. לכן ההנחה שהנחנו ששתי המילים מגיעות למצב משותף אינה נכונה ,אלא כל מילה מגיעה למצב אחר. ומאחר והקבוצה Wהיא אינסופית יוצא שכל מילה מגיעה למצב אחר .ומכאן שיש אינסוף מצבים בA - )באוטומט( ,בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה Lאינה נכונה ,והשפה אינה רגולרית. © כל הזכויות שמורות 82 הוכחת אי רגולריות תבנית הוכחה לשפה אי רגולרית } {=L הוכח שהשפה אינה רגולרית הוכחה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. )בחלק מהמקרים ניתן לבחור בשלב זה תת קבוצה( בואו ונבחן את הקבוצה האינסופית הבאה: } W = {w1 , w2 , w3 ,...התחלות של מילים בשפה .L כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות wj , wi wi כך ש ( =,≠,<,>) i ? J -מתוך הקבוצה Wהמגיעות לאותו מצב שאם לא כן אזי היה צורך באינסוף מצבים. q0 נסמן את המצב המשותף של שתי המילים ב q1באוטומט. q1 wj המילה wiשייכת לשפה לכן q2מצב מקבל והמילה wiw מתקבלת. יוצא שגם wj w - מתקבלת בשפה )המסלול מ q1ל q2משותף לשתי המילים( ,וזה בניגוד לכללי/חוקי השפה. wi q2 w q0 q1 w2 לכן ההנחה שהנחנו ששתי המילים מגיעות למצב משותף אינה נכונה ,אלא כל מילה מגיעה למצב אחר. ומאחר והקבוצה Wהיא אינסופית יוצא שכל מילה מגיע למצב אחר .ומכאן שיש אינסוף מצבים ב, A - בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה Lאינה נכונה ,והשפה אינה רגולרית. © כל הזכויות שמורות 83 הוכחת אי רגולריות דוגמא 2 }n 0, n k | L {a nb k הוכח שהשפה אינה רגולרית הוכחה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. בואו ונבחן את הקבוצה האינסופית הבאה: }W = {a , a2 , a3 , a4.....,am,... התחלות של מילים בשפה Lעבור mכלשהו. J כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות wj=a , wi=ai ai כך ש i ≠ J -מתוך הקבוצה Wהמגיעות לאותו מצב שאם לא כן אזי היה צורך באינסוף מצבים. q0 נסמן את המצב המשותף של שתי המילים ב q1באוטומט. q1 aJ i J המילה a bשייכת לשפה לכן q2מצב מקבל .יוצא שaJbJ - מתקבל בשפה 2 עבור ) i ≠ Jהמסלול מ q1ל q2משותף לשתי המילים( ,וזה בניגוד לכללי/חוקי השפה. q2 bJ ai q0 q1 aJ לכן ההנחה שהנחנו ששתי המילים מגיעות למצב משותף אינה נכונה ,אלא כל מילה מגיעה למצב אחר. ומאחר והקבוצה Wהיא אינסופית יוצא שכל מילה מגיע למצב אחר .ומכאן שיש אינסוף מצבים ב, A - בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה Lאינה נכונה ,והשפה אינה רגולרית. © כל הזכויות שמורות 84 הוכחת אי רגולריות דוגמה } 3מעל } {a,bכך שמספר ה aים קטן ממספר ה bים{=L הוכח שהשפה אינה רגולרית הוכחה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. בואו ונסתכל על תת-הקבוצה הבאה של מילים בשפה | n 0} L L' {a n b n1 ונבחן את הקבוצה האינסופית הבאהW = {a , a2 , a3 , a4.....,am,...} : התחלות של מילים בשפה ' Lעבור mכלשהו. J כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות wj=a , wi=ai ai כך ש i ≠ J -מתוך הקבוצה Wהמגיעות לאותו מצב שאם לא כן אזי היה צורך באינסוף מצבים .נניח כי J > i . q0 q1 נסמן את המצב המשותף של שתי המילים ב q1באוטומט. aJ 2 המילה i i+1 a bשייכת לשפה לכן q2מצב מקבל .יוצא גם שaJbi+1 - מתקבלת בשפה. )המסלול מ q1ל q2משותף לשתי המילים( .אך J > iומכאן נובע שמספר ה aים במילה J i+1 b aשווה או גדול ממספר ה bים במילה וזה בניגוד לכללי/חוקי השפה. q2 bi+1 ai q0 q1 aJ 2 לכן ההנחה שהנחנו ששתי המילים מגיעות למצב משותף אינה נכונה ,אלא כל מילה מגיעה למצב אחר. ומאחר והקבוצה Wהיא אינסופית יוצא שכל מילה מגיע למצב אחר .ומכאן שיש אינסוף מצבים ב, A - בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה Lאינה נכונה ,והשפה אינה רגולרית. © כל הזכויות שמורות 85 הוכחת אי רגולריות דוגמה 4 }i 0, j 0, k i j | L {a i b j c k הוכח שהשפה אינה רגולרית הוכחה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. נבחר את Jלהיות אפס .מכאן נובע ש Iצריך להיות שווה ל .kומכאן ראה דוגמה מספר .1 )כמובן שניתן לפתור גם על ידי קיבוע של .( i הוכחת אי רגולריות © כל הזכויות שמורות 86 דוגמה ( 5חלוקה ושארית בשלמים) א. נתונה השפה }| n 0 נתונה השפה : ב. {a10c n b n / 10האם השפה רגולרית? הוכח תשובתך באופן מפורט. }{a10c n b n % 10 | n 0 האם השפה רגולרית? נמק תשובתך היטב ,באופן מילולי )אין צורך להוכיח(. תשובה א .השפה }{a10c n b n / 10 | n 0 = Lאינה שפה רגולרית. ההוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמינסטי Aהבונה אותה. תהי הקבוצה האינסופית הבאה: }W {a10c10 , a10c 20 , a10c 30 ,........, a10c10i ,...... התחלות של מילים בשפה Lעבור mכלשהו. כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות 10 10i , wi=a c 10 10j wj= a cכך ש i≠j -מתוך הקבוצה .W i נניח כי שתי המילים מגיעות למצב משתף qtבאוטומט .Aמשם נשרשר כל מילה עם b שתי המילים מגיעות למצב משתף , qrמאחר ויש להם מסלול משותף. המילה a10c10ibiשייכת לשפה לכן qrמצב מקבל .יוצא גם ש a10c10j bi -גם בשפה עבור , i≠jוזה בניגוד לכללי השפה ( .)10j/10≠i לכן הנחתינו ששתי המילים מגיעות למצב משותף אינה נכונה ,אלא כל מילה מגיעה למצב אחר .ומאחר והקבוצה Wהיא אינסופית יוצא שכל מילה מגיע למצב אחר .ומכאן יש אינסוף מצבים ב , A -בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה Lאינה נכונה ,והשפה אינה רגולרית. ב. השפה{a10c n b n % 10 | n 0} : היא שפה רגולרית. ניתן לבנות אותה ע"י איחוד של 01שפות רגולריות. }n % 10 ={t | 0=< t =< 9 } {a10c n b n % 10 | n 0} {a10c n b 0 a10c n b1 a10c n b 2 ......... a10c n b 9 כל אחד מאברי האיחוד הוא שפה רגולרית )ניתן לבניה ע"י אוטומט סופי דטרמיניסטי או שרשור של 3שפות רגולריות( .מכאן עלפי תכונות הסגירות ,איחוד סופי של שפות רגולריות הוא רגולרי. © כל הזכויות שמורות 87 הוכחת אי רגולריות דוגמה 6 }n 0, n k | L {c 2 (ab) 2 n c k נתונה השפה שלעיל מעל הא"ב }{a,b,c א. האם השפה רגולרית ,הוכח תשובתך באופן מפורט. ב. האם השפה היא חופשית הקשר ,הוכח תשובתך באופן מלא. נוכיח כי השפה אינה רגולרית בדרך השלילה. נניח שהשפה היא רגולרית ,כלומר קיים אוטומט סופי Aשיש בו מספר סופי של מצבים המקבל אותה. נסתכל על הקבוצה האינסופית הבאה: }W={c2, c2 (ab)2, c2(ab)4, ................., c2(ab)2n...... כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות , c2 (ab)2j 2i 2 )ij , c (ab שמגיעות לאותו מצב qבאוטומט .A מכאן שהמילה c2 (ab)2j ciמגיעה למצב מקבל לפי הגדרת השפה .לכן גם המילה c2 (ab)2i ci מגיעה לאותו מצב מקבל כאשר ,ijוזה בסתירה להגדרת השפה. לכן כל אחת מן המילים בקבוצה Wמגיעה למצב אחר ,ומשום שהקבוצה היא אינסופית יש אינסוף מצבים באוטומט בסתירה להגדרת אוטומט סופי. לכן ההנחה שגויה והשפה אינה רגולרית. © כל הזכויות שמורות 88 הוכחת אי רגולריות דוגמה 7 }i, j 0 k i j | L {(ab) i a j c k נתונה השפה שלעיל מעל הא"ב }{a,b,c האם השפה הבאה היא רגולרית? הוכח תשובתך באופן מפורט. נוכיח כי השפה } L {(ab) i a j c k | k i j i, j 0אינה רגולרית בדרך השלילה. נניח שהשפה היא רגולרית ,כלומר קיים אוטומט סופי Aשיש בו מספר סופי של מצבים המקבל אותה. נסתכל על הקבוצה האינסופית הבאה: 3 m m 2 m }W={(ab)a , (ab) a , (ab) a , ................., (ab)nam...... כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות , c2 (ab)2j 2i 2 )ij , c (ab שמגיעות לאותו מצב qבאוטומט .A כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות i≠j (ab)jam , (ab)iamשמגיעות לאותו מצב qבאוטומט .A ממצב זה qנמשיך להפעיל את האוטומט על הרצף ,ci+ mנקבל כי המילים (ab)iamci+m ו (ab)jamci+mמגיעות לאותו מצב באוטומט (.(i≠j המילה (ab)jamci+mמגיעה למצב מקבל לפי הגדרת השפהj+m=i+1+m<i+m . לכן גם המילה )ab)iamci+mמגיעה לאותו מצב מקבל ,וזה בסתירה להגדרת השפה. לכן כל אחת מן המילים בקבוצה Wמגיעה למצב אחר ,ומשום שהקבוצה היא אינסופית יש אינסוף מצבים באוטומט בסתירה להגדרת אוטומט סופי. לכן ההנחה היא שגויה והשפה אינה רגולרית. © כל הזכויות שמורות 89 הוכחת אי רגולריות טעויות שכיחות בהוכחת אי רגולריות דוגמה 8הוכחה שגויה }| n k 2n , n 0 L (a n b k נתונה השפה שלעיל : א .אילו מהמילים הבאות בשפה a 5b 6 , a 3b 6 , a 2 b 3 ב .הוכח כי השפה Lהיא אי רגולרית. תשובה א .המילים a 5 b 6 , a 2 b 3הן בשפה ב .השפה Lהיא אי רגולרית ,נוכיח בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. תהי הקבוצה האינסופית הבאה: }W {a, a 2 , a 3 , ........., a n ,...... התחלות של מילים בשפה L נבחר שתי התחלות שונות wj= ai+1 , wi=aiעבור , i>1מתוך הקבוצה .W נניח כי שתי המילים מגיעות למצב משתף qtבאוטומט .Aמשם נשרשר כל מילה עם b2i (הטעות :לא ניתן להניח כי קיימות שתי התחלות wj= ai+1 , wi=aiשמגיעות למצב משותף). © כל הזכויות שמורות 90 הוכחת אי רגולריות הוכחה נכונה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. בואו ונבחן את הקבוצה האינסופית הבאה: }| n k 2n , n 0 L (a n b k }W {a, a 2 , a3 ,...... התחלות של מילים בשפה Lעבור mכלשהו. כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות wj=aj , wi=ai J a כך ש i≠j -מתוך הקבוצה Wהמגיעות לאותו מצב שאם לא כן אזי היה צורך באינסוף מצבים. q0 נניח כי שתי המילים מגיעות למצב משותף q1באוטומט Aונניח ש .i>j j j המילה a b +1שייכת לשפה לכן q2מצב מקבל .יוצא גם ש- q1 i j+1 a bגם בשפה i a )המסלול מ q1ל q2משותף לשתי המילים( אך iגדול מ jלפחות באחד כלומר הוא לפחות j+1אך החזקה של bצריכה להיות גדולה מהחזקה של a וזה בניגוד לכללי/חוקי השפה. bJ+1 q2 aJ q0 q1 ai לכן ההנחה שהנחנו ששתי המילים מגיעות למצב משתף אינה נכונה ,אלא כל מילה מגיעה למצב אחר .ומאחר והקבוצה Wהיא אינסופית יוצא שכל מילה מגיע למצב אחר .ומכאן שיש אינסוף מצבים ב , A -בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה Lאינה נכונה ,והשפה אינה רגולרית. (מותר להניח ש i>jשהרי חייב להיות שאחד גדול מהשני) © כל הזכויות שמורות 91 הוכחת אי רגולריות דוגמה 9הוכחה שגויה }| k , n 0 L (a n b k a n נתונה השפה שלעיל ) :להשלים( הוכח כי השפה Lהיא אי רגולרית. פתרון השפה Lהיא אי רגולרית ,נוכיח בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. נבחר את kלהיות אפס( .עדיין קבוצת המילים אינסופית). תהי הקבוצה האינסופית הבאה: }W { , a, a 2 , a 3 , ........., a n ,...... התחלות של מילים בשפה L נבחר שתי התחלות שונות aJ , wi= ai = wjעבור ,מתוך הקבוצה .W נניח כי שתי המילים מגיעות למצב משתף q1באוטומט ( .Aהטעות :אין לומר נניח כי שתי המילים מגיעות aJ למצב משותף( .ראה דוגמה קודמת) q0 q1 i משם נשרשר כל מילה עם .b i שתי המילים מגיעות למצב משתף , qrמאחר ויש להם מסלול משותף. המילה i i a aשייכת לשפה לכן qrמצב מקבל .יוצא גם ש- !!!!! מדוע J i a aJai a גם בשפה ,וזה בניגוד לכללי השפה. aאינו בשפה .אם אינו בשפה חייב להתקיים ש iזוגי ו jאי זוגי או להיפך .כלומר יש פה הנחה על שתי ההתחלות aj , wi= ai = wjשהזוגיות שלהן שונה ושמגיעות לאותו מצב ..אך ניתן לבנות אוטומט שבו זוגיות aמשתנה. © כל הזכויות שמורות 92 הוכחת אי רגולריות הוכחה נכונה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. בואו ונבחן את הקבוצה האינסופית הבאה )נבחר את kלהיות :(1 }W = {a , a2 , a3 , a4.....,am,... התחלות של מילים בשפה Lעבור mכלשהו. כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות wj=aJ , wi=ai J a כך ש i≠ J -מתוך הקבוצה Wהמגיעות לאותו מצב שאם לא כן אזי היה צורך באינסוף מצבים. q0 q1 נניח כי שתי המילים מגיעות למצב משותף q1באוטומט Aונניח ש.i>j המילה J kbJ j ai i aשייכת לשפה לכן q2מצב מקבל .יוצא גם ש a kb -גם בשפה אך Iשונה מ Jוזה בניגוד לכללי/חוקי השפה. kbJ q2 +1 aJ q0 q1 i a לכן ההנחה שהנחנו ששתי המילים מגיעות למצב משתף אינה נכונה ,אלא כל מילה מגיעה למצב אחר .ומאחר והקבוצה Wהיא אינסופית יוצא שכל מילה מגיע למצב אחר .ומכאן שיש אינסוף מצבים ב , A -בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה Lאינה נכונה ,והשפה אינה רגולרית. © כל הזכויות שמורות 93 הוכחת אי רגולריות דוגמה 11הוכחה שגויה {כל המילים מעל L = { a,b הוכח שהשפה אינה רגולרית הוכחה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. בואו ונסתכל על תת-הקבוצה הבאה של מילים בשפה L }| n 0 L' {a n b n ונבחן את הקבוצה האינסופית הבאהW = {a , a2 , a3 , a4.....,am,...} : התחלות של מילים בשפה ' Lעבור mכלשהו. כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות J wj=a , wi=ai כך ש i ≠ J -מתוך הקבוצה Wהמגיעות לאותו מצב שאם לא ai כן אזי היה צורך באינסוף מצבים. נסמן את המצב המשותף של שתי המילים ב q1באוטומט. q0 q1 aJ שתי המילים מגיעות למצב משתף q1מכאן ai i i שהמילה a bשייכת לשפה לכן q2מצב מקבל. יוצא ש- J i b q2 aמתקבל בשפה עבור , i ≠ J bi q1 וזה בניגוד לכללי/חוקי השפה '.L !!!!! המילה J i b J aכן מתקבלת בשפה . Lאין להסתכל בשלב זה על השפה ' Lאלא על .L © כל הזכויות שמורות q0 a 94 הוכחת אי רגולריות דף תרגילים מספר -13הוכחת אי רגולריות לכל שפה מהשפות הבאות בצע: א .רשום את המילה הקצרה ביותר. ב .רשום 4מילים נוספות בשפה. ג .אם השפה רגולרית בנה אוטומט ואם לא הוכח שאינה וציין מה גורם לה להיות אי רגולרית. .1נתונה השפה הבאה מעל הא"ב }{a,b,c }L {(ab) i a j c k | k i j i, j 0 .2נתונה השפה הבאה מעל הא"ב }{a,b }L {((abb) n (ba) 2n ) m | m 0, n 0 }L {a n c k b 2n1 | n 0, k 0 .3נתונה השפה הבאה מעל הא"ב }{a,b,c .4נתונה השפה הבאה מעל הא"ב }L {c k b 2n (aab) n c j | k , n, j 0, k j }{a,b,c .5נתונה השפה הבאה מעל הא"ב }{a,b,c }L {a nc mb c mn | m n 0 k ; i , j , k>=0{ .6היא השארית המתקבלת מחלוקת iב} aibjck | 3 - .7נתונה השפה Lמעל הא"ב } {a,b,cבה מספר ה aים ועוד מספר ה bים זוגי. .8השפה Lהיא אוסף כל המילים המכילות את הצירוף ,abbaמספר אותיות ה c -הוא זוגי ,ומספר אותיות ה a -גדול ממספר אותיות ה.b - .9שפת כל המילים מעל { }a,bשבהן מספר ה a-קטן ממספר ה ,b-אבל ההפרש הוא לכל היותר .3 .10שפת כל המילים מעל { }a,bשבהן מספר ה a-קטן ממספר ה ,b-וגם ההפרש הוא לכל היותר ,3וגם בכל רישא של המילה -ההפרש הוא לכל היותר .3 | m, n, k 0} .11 n m k L= {a b c .12שפת כל הביטויים החשבוניים החוקיים עם סוגריים ,למשל .(4+5)*2+3 הקבוצה Wמורכבת מביטוי חשבוני עם iפותחים ,לכל .i © כל הזכויות שמורות 95 הוכחת אי רגולריות .13שפת כל הביטויים החשבוניים החוקיים בלי סוגריים. .14 .15 }| i 0, j 0, k i j L {aib2 j c k נתונות השפות הבאות מעל הא"ב }{a,b { n,k ≥ 0 L1={ an bk { L2={ bk an n≠k k ≥ 0 , n ≥ 1 האם L1רגולרית? נמק את תשובתך. האם L2רגולרית? נמק את תשובתך. האם L1 * L2רגולרית? נמק את תשובתך. האם L1 ∩ L2רגולרית? נמק את תשובתך. .16נתונות השפות הבאות מעל הא"ב }{a,b { L1={ an bk n≠k n,k ≥ 0 { L2={ bk an n≠k n,k ≥ 0 האם L1רגולרית? נמק את תשובתך. האם L2רגולרית? נמק את תשובתך. האם L1 * L2רגולרית? נמק את תשובתך. © כל הזכויות שמורות 96 הוכחת אי רגולריות תיאור מתמטי פורמאלי של אוטומט מחסנית הוא באמצעות השביעייה הבאה( :הסבר ינתן בהמשך) }A {Q, , , , q0 , , F כאשר: היא קבוצת מצבי האוטומט. הוא א"ב הקלט. הוא א"ב המחסנית. היא פונקצית המעברים. הוא המצב ההתחלתי. ┤ או ┴ היא תחתית המחסנית. היא קבוצת המצבים המקבלים. למעשה את רוב המצבים אנו מכירים מפרק אוטומט סופי דטרמיניסטי .מלבד הוא א"ב המחסנית. ┤ או ┴ היא תחתית המחסנית. אוטומט מחסנית © כל הזכויות שמורות 97 ראינו בפרק הוכחת אי רגולריות שיש שפות שלא ניתן לבנות להן אוטומט סופי דטרמיניסטי. לדוגמה : L=anbn n0 הסיבה הינה שיש צורך בספירה )שאינה מוגבלת בחסם עליון( ולכן לא ניתן לעשות זאת באס"ד .לצורך כך אנו נשתמש במחסנית. הרעיון המרכזי :המחסנית משמשת ככלי ספירה .הספירה נעשית על ידי הכנסת תווים למחסנית והוצאתם. יש מקרים בהם אין צורך להכניס או להוציא ונסמנם לל"ש (ללא שינוי) דוגמה פשוטהn0 : anbn =L )מומלץ לעיין במצגת לאוטומט מחסנית זה(. הרעיון :על ה aהראשונה נכניס Sעל כל ל aנוספת נכניס Aלמחסנית והחל מה bהראשונה על כל b נוציא/נשלוף Aמהמחסנית ועל ה bהאחרון נשלוף .S דוגמאות לפעולות המותרות באוטומט מחסנית מה קורה במחסנית מצב ראש המחסנית פירוש הסימן הנבדק דחוף A ┴ לל"ש A a שלוף A A b כשבראש המחסנית Aוהתו נבדק bאז שלוף A AA A a כשבראש המחסנית Aוהתו הנבדק aאז דחוף Aלמחסנית a כשהמחסנית ריקה)┴) והתו הנבדק aאז דחוף Aלמחסנית ללא שינוי )אין מכניסים ואין מוציאים מהמחסנית( ) AAפירושו בעצם הוספת ( A (שקול לדחוף (A אותיות השפה הינן אותיות קטנות) (abלמחסנית מכניסים אותיות גדולות . שימו לב :אין להוציא ממחסנית יותר מאות אחת להכניס מותר יותר מאות אחת שפה שניתן לאמת אותה באמצעות אוטומט מחסנית נקראת חופשית הקשר. משפחת השפות חופשיות ההקשר כוללת גם את השפות הרגולריות. © כל הזכויות שמורות 98 אוטומט מחסנית הסבר על אוטומט מחסנית באמצעות תרגילים L=anbn n≥0 נתחיל מהמילה הקצרה ביותר שהיא המילה הריקה q0 כעת נצרף את המילה השניה הקצרה ביותר שהיא .ab דחוף a┴ | S Q1 q0 שלוף bS| S q3 כעת נצרף את המילה השלישית הקצרה ביותר שהיא .aabb דחוף aS | A דחוף a┴ | S שלוף bA| A Q1 q2 שלוף bS|S q0 שלוף bS| S q3 שים לב שכאשר אנו ב q1ומפיע bאנו עוברים ל q2כי אחרי הופעת ה bהראשון אסור שיופיעו aים. וכעת נציג את אוטומט המחסנית הטוב לכל מילה מהצורה anbn דחוף aA | A דחוף aS | A שלוף bA |A דחוף a┴ | S שלוף bA|A Q1 q2 שלוף bS|S q0 הרעיון :על ה aהראשון נדחוף S על כל aנוספת נדחוף A על כל bנשלוף A על ה bהאחרון נשלוף S שלוף bS| S q3 אוטומט מחסנית © כל הזכויות שמורות 99 מעבר המילה aaabbbבאוטומט (מעקב אחר המילה )aaabbb מצב עוברים מחסנית אחרי למצב ראש אות המחסנית נבדקת ┴S q1 דחוף S ┴ a q0 ┴SA q1 דחוף A S a q1 ┴SAA q1 דחוף A A a q1 ┴SA q2 שלוף A A b q1 ┴S q2 שלוף A A b q1 (q3מקבל) שלוף S A b q2 ┴ פעולה מצב כפי ששמתם לב בפתרונות הקודמים על האות הראשונה מוכנס Sלמחסנית .מטרת הכנסת ה Sהינה זיהוי בהוצאה מהמחסנית שמחסנית התרוקנה. דחוף aA | A דחוף aS | A דחוף a┴ | S שלוף bA |A n>0 q0 שלוף bS|S L=a b המילה הקצרה ביותר ab הרעיון :על ה aהראשון נדחוף S על כל aנוספת נדחוף Aועל כל bנשלוף Aעל ה b האחרון נשלוף S שלוף |bA q1 n n שלוף bS| S q2 אם נבדוק את המילה abאזי על ה aנדחוף Sעל ה bנשלוף ונעבור למצב מקבל. אם נבדוק את המילה abbאזי על ה aנדחוף Sעל ה bנשלוף ונעבור למצב מקבל ועל ה b הבאה אנו נתקעים )כלומר לא כתוב מה לעשות במקרה זה ב .q2 שימו לב ש .n>0 תפקיד מצב q0הינו לדחוף Aעל כל S ) aעל מחסנית ריקה( תפקיד מצב q1הינו לומר שהחל מפה יכול להופיע רק bואסור שיופיע aכמו כן תפקידו לשלוף Aעל כל . b תפקיד מצב q2הינו שהגענו למצב שבו מספר ה aשווה למספר ה . b שימו לב שעבור מצב שאינו חוקי האוטומט נתקע. )למשל אם המילה מתחילה ב ) bוהמחסנית ריקה( אזי האפשרות הזאת אינה קיימת ולכן אנו נתקעים(. © כל הזכויות שמורות 100 אוטומט מחסנית מקרים בהם מספר ה aגדול או קטן ממספר ה bים בכפולה. L=anb3n n0 פתרון א (פשוט יותר מפתרון ב) המילה הקצרה ביותר הרעיון :על כל aנדחוף AAA על כל bנשלוף A דחוף aA | AAA שלוף bA | A q3 שלוף bS|S q2 q1 שלוף bA| A דחוף a┴ | SAA q0 מעבר המילה abbbבאוטומט (טבלת מעקב) עוברים למצב פעולה ראש המחסנית אות נבדקת מצב מצב מחסנית אחרי ┴SAA q1 דחוף SAA ┴ a q0 ┴SA q1 שלוף A A b q1 ┴S q1 שלוף A A b q1 (q3מקבל) שלוף S S b q1 ┴ פתרון ב המילה הקצרה ביותר הרעיון :על כל aנדחוף A על כל שלושה bנשלוף A שלוף bS|S ללש |bA ללש |bS שלוף bA | A דחוף aA | A ללש |bA ללש |bS דחוף a┴ | S ללש |bA ללש |bS © כל הזכויות שמורות 101 אוטומט מחסנית q1 ללש |aA דחוף a┴ | S דחוף aS | A דחוף a A | A ללש |aA q2 L=a3nbn n>0 המילה הקצרה ביותר aaab הרעיון :על כל שלושה aנדחוף A על כל bנשלוף A q0 שלוף bA | A שלוף bA|A שלוף bS|S q3 שלוף bS|S q4 תאור אוטומט מחסנית(שלעיל) באמצעות טבלה עוברים למצב פעולה ראש המחסנית אות נבדקת מצב q1 דחוף S ┴ a q0 q1 דחוף A S a q0 q2 דחוף A A a q0 q2 שלוף A A b q0 q4 שלוף S S b q0 q2 ללש A a q1 q0 ללש A a q2 q3 שלוף A A b q3 (q4מקבל) שלוף S S b q3 © כל הזכויות שמורות 102 אוטומט מחסנית L=a2nb3n n>0 דחוף a┴ | SAA דחוףaA | AAA שלוף bA | A ללש |aA המילה הקצרה ביותר aabbb הרעיון :על כל a 2נדחוף AAA על כל bנשלוף A שלוף bA|A שלוף bS|S L= a2nb3n n0 שלוף bA | A דחוףaA | AAA q2 q3 q0 q1 שלוף bA|A דחוף a┴ | SAA ללש |aA המילה הקצרה ביותר הרעיון :כמו הקודם שלוף bS|S q4 מעבר המילה aaaabbbbbbבאוטומט (טבלת מעקב) מצב עוברים מחסנית אחרי למצב ראש אות המחסנית נבדקת ┴SAA q1 דחוף SAA ┴ a q0 ┴SAA q2 ללש A a q1 ┴SAAAAA q1 דחוף AAA A a q2 ┴SAAAAA q2 ללש A a q1 ┴SAAAA q3 שלוף A A b q2 ┴SAAA q2 שלוף A A b q3 ┴SAA q3 שלוף A A b q3 ┴SA q3 שלוף A A b q3 ┴S q3 שלוף A A b q3 (q4מקבל) שלוף S S b q3 ┴ © כל הזכויות שמורות פעולה 103 אוטומט מחסנית מצב מקרים בהם מספר ה aגדול או קטן ממספר ה bים בקבוע. L=anbn+1 n0 דחוף a┴ | SA דחוף aA | A פתרון א שלוף bA | A שלוף bA| A שלוף bS|S ללש | המילה הקצרה ביותר b הרעיון :על ה aהראשון נדחוף SA על כל aנדחוף A על כל bנשלוף A ┴b פתרון ב דחוף a┴ | S דחוף aS | A דחוף aA | A שלוף bA | A ללש |bS ללש |bA שלוף bS|S המילה הקצרה ביותר b הרעיון :על כל aנדחוף )Aראשון (S עבור ה bהראשון לא נבצע מאומה על כל bנשלוף A ללש |┴b פתרון ג שלוף bA | A דחוף a┴ | A דחוף aA | A שלוףbA| A ללש |┴b © כל הזכויות שמורות המילה הקצרה ביותר b אין צורך ב S הרעיון :על כל aנדחוף A על כל bנשלוף A עבור bומחסנית ריקה נעבור למקבל ללש |┴b 104 אוטומט מחסנית L=an+1bn n0 דחוף aS | A שלוף bA | A דחוף aA | A דחוף a┴|S ללש |┴a שלוף bA | A שלוף bS|S שלוף bS|S המילה הקצרה ביותר a הרעיון: על ה aהראשונה לא נבצע מאומה על כל aנוסף נדחוף A על כל bנשלוף A L=an-1bn-2 n0 למרות שרשום n≤0הרי רק עבור nשווה 2מתקבל משהו "הגיוני" .למעשה ה nהראשון המעשי הינו nשווה ל . 2הפתרון הינו למעשה כמו התרגיל הקודם. אוטומט מחסנית © כל הזכויות שמורות 105 מקרים בהם יש שילוב של כפולה וקבוע L=an+1b3n n0 דחוף aA | AAA ללש |┴a דחוף a┴ | SAA שלוף bA | A נציב את ה nהנמוך ביותר ונקבל את המילה aמכאן נובע המילה הקצרה ביותר a הרעיון: על ה aהראשונה לא נבצע מאומה על כל aנוסף נדחוף AAA על כל bנשלוף A שלוף bS|S שלוף bA | A L=an+1b3n-2 n0 עבור : n=0 נקבל b-2 אסור. עבור : n=1נקבל ) . aabשהיא גם המילה הקצרה ביותר( ה nהראשון המתקבל הוא "החריג" .עבורו אין מבצעים מאומה) .כלומר על ה aaהראשונים ועל ה bהאחרון אין לבצע מאומה. "פנים" האוטומט חייב לטפל ביחס החזקות שהוא 1ל ) 3מורידים את הקבועים +1ו -2ומקבלים (anb3n מה שמסומן באדום הינו הטיפול ב aab שלוף bA | A דחוף a┴ | AAA דחוף aA | AAA שלוף bA|A ללש |┴b ללש |┴a ללש |┴a ללש |┴b © כל הזכויות שמורות 106 אוטומט מחסנית L=an+1b3n-1 n0 נציב את ה nהנמוך ביותר שהוא 1כי עבור 0נקבל מספר שלילי. ונקבל את המילה aabbמכאן נובע המילה הקצרה ביותר aabb הרעיון: על 2ה aהראשונות לא נבצע מאומה על כל aנוסף נדחוף AAA על כל bנשלוף A על 2ה bהאחרונים )כשהמחסנית ריקה לא נבצע מאומה השלם את פונקצית המעברים של אוטמט המחסנית המבוקש )התיבות המקוקוות( דחוף a┴ | AAA דחוף aA | AAA שלוף bA|A ללש |┴b ללש |┴a ללש |┴b L=a2n+1b3n-1 n0 נציב את ה nהנמוך ביותר שהוא 1כי עבור 0נקבל מספר שלילי. ונקבל את המילה aaabbמכאן נובע המילה הקצרה ביותר aaabb הרעיון: על 3ה aהראשונות לא נבצע מאומה על כל a 2נוספים נדחוף AAA על כל bנשלוף A על 2ה bהאחרונים )כשהמחסנית ריקה לא נבצע מאומה שרטט את אוטמט המחסנית המבוקש © כל הזכויות שמורות 107 אוטומט מחסנית מקרים בהם נדרש להכניס יותר מאות אחת למחסנית תרגיל 1 בנה אוטומט מחסנית המקבל את השפה הבאה מעל הא"ב }:{a,b,c L= anbk ckdn k,n>0 דחוף aA | A דחוף bB |B שלוף cB |B שלוף dA |A דחוף bA |B דחוף bS |B דחוף a┴ | S שלוף cB |B שלוף dA |A שלוףdS| S שלוףdS| S הרעיון :על כל aנדחוף A על כל bנדחוף B על כל cנשלוף B על כל dנשלוף A ניתן לאחד את שני המצבים הראשונים כמו שנעשה באוטומט הבא כיצד נשנה את הפתרון לו השפה הינה L= anbk+1 ckdn k,n>0 שלוף dA |A שלוף cB |B שלוף dA |A שלוףdS| S דחוף bS |B דחוף bB |B דחוף a┴ | S דחוף aA | A שלוף cB |B ללש | bS ללש | bA שלוףdS| S כלומר השינוי הינו שעל ה bהראשון לא נבצע מאומה © כל הזכויות שמורות 108 אוטומט מחסנית תרגיל 2 בנה אוטומט מחסנית המקבל את השפה הבאה מעל הא"ב }:{a,b,c }L={(anbn) (azbz)…k time ckk>0 פתרון דחוף aA | A שלוף cC |C שלוף cS|S שלוף bA | A שלוף cC|C שלוף bA| A דחוף aC|CA דחוף aS|CA שלוף cS|S © כל הזכויות שמורות דחוף a┴ |SA 109 אוטומט מחסנית תרגיל 3 מספר ה aים שווה למספר ה bים בנה אוטומט מחסנית לשפה מעל } {a,bכך שמספר ה aים שווה למספר ה bים).כולל המילה הריקה( פתרון א פתרון זה הינו במספר קטן של מצבים אך עם שימוש באותיות שונות בהכנסה דחוף bK | B דחוף aS | A המילה הקצרה ביותר הרעיון :כל עוד מספר ה aים גדול ממספר ה bים נדחוף Aונשלוף B כל עוד מספר ה bים גדול ממספר ה aים נדחוף Bונשלוף A שלוף aB | B שלוף bA | A דחוף bB | B דחוף aA | A דחוף a┴ | S דחוף b┴ | K שלוף bS | S שלוףaK | K דחוף aS | A פתרון ב פתרון נוסף תוך שימוש רק ב Aו Sבהכנסה למחסנית. שלוף bA | A דחוף aA | A שלוף bS | S דחוף a┴ | S דחוף b┴ | S שלוף aS | S דחוף bA | A שלוף aA | A דחוף bS | A © כל הזכויות שמורות 110 אוטומט מחסנית מקרים בהם יש לבצע הצבה עקב סימן מינוס בחזקה n≥k≥0 רצוי להיפטר מסימן המינוס בחזקה .נציב j=n-kנעביר אגף ונקבל גם j+k=n נציב ונקבל aj+kbjck מכאן הפתרון ברור והוא על כל aנדחוף על כל bנשלוף ועל כל cנשלוף. © כל הזכויות שמורות 111 אוטומט מחסנית L= anbn-kck דף תרגילים מספר -14בנית אוטומט מחסנית תרגיל 1 בנה אוטומט מחסנית לשפות הבאות L= anbk+1 ckdn א .כאשר k,n≥0 ב .כאשר k>0,n≥0 ג .כאשר k≥0,n>0 תרגיל 2 בנה אוטומט מחסנית למילים מעל } {a,bכך שמספר ה aים גדול ב 1ממספר ה bים. תרגיל 3 בנה אוטומט מחסנית לשפה הבאה L= a2n-1b3n ** תרגילים נוספים באוטומט מחסנית בדף תרגילים מספר 15בעמוד 127לערך © כל הזכויות שמורות 112 אוטומט מחסנית שילוב של אוטומט רגיל ואוטומט מחסנית { L={ambnan |n,m >0 לפניך השפה Lמעל הא"ב }{a,b בנה אוטומט מחסנית שיקבל את השפה .L פתרון (מספר ה aבהתחלה לפחות אחד ואינו תלוי ולכן על כל aהמחסנית תשאר ללא שינוי) דחוף bA| A דחוף bS| A שלוף aA|A שלוף aA|A ללש |┴a דחוף b┴| S ללש |┴a שלוף aS|S שלוף aS|S { m+nזוגי L={ambnan |n,m >0 לפניך השפה Lמעל הא"ב }{a,b בנה אוטומט מחסנית שיקבל את השפה .L פתרון (מספר ה aבהתחלה לפחות אחד ואינו תלוי ולכן על כל aהמחסנית תשאר ללא שינוי אך כיוון שיש לשמור על זוגיות ה aבהתחלה תזוז בין שני מצבים) להלן האוטומט ללש |┴a ללש |┴a שלוף aA|A דחוף b┴| S שלוף aA|A שלוף aS|S © כל הזכויות שמורות דחוף b┴| S דחוף bA| A דחוף bS| A דחוף bA| A דחוף bS| A 113 אוטומט מחסנית לפניך השפה Lמעל הא"ב }{a,b }L={ck b2n (ab)n ck%2 | k>0, n>=0 בנה אוטומט מחסנית שיקבל את השפה .L שימו לב שבפתרון רשמתי abליד חלק מהקשתות ,לפי תוכנית הלימודים יש לפרק זאת. ללש |┴c ללש |┴c ללש |┴c דחוף b┴|S דחוף b┴|S ללש |bS דחוף bS|A ללש |bS דחוף bS|A ללש |bA דחוף bA|A ללש |bA דחוף bA|A שלוף ab,A|A שלוף ab,A|A שלוף ab,S|S שלוף ab,S|S שלוף ab,A|A שלוף ab,A|A ללש |┴c © כל הזכויות שמורות 114 אוטומט מחסנית מקרים בהם אין צורך בהכנסת S בתוכנית הלימודים מקובל להכניס Sעל האות הראשונה והסברנו זאת בתחילת הפרק שכאשר אנו מוציאים את Sאנו יודעים שהמחסנית התרוקנה .אך לעיתים אין צורך בהכנסת .Sלהלן מספר דוגמאות". k>n0 L= anbk דחוף aA | A שלוף bA | A דחוף a┴ | A שלוף bA| A המילה הקצרה ביותר b אין צורך ב S הרעיון :על כל aנדחוף A על כל bנשלוף A עבור ה bהראשונה כשה מחסנית ריקה עוברים למצב מקבל ללש |┴b ללש |┴b ללש |┴b n>k0 שלוף|bA שלוף bA| A ללש |┴ a המילה הקצרה ביותר a אין צורך ב S הרעיון :על ה aהראשונה ללש על כל aנדחוף A על כל bנשלוף A a ┴| ┴A a A| AA © כל הזכויות שמורות 115 אוטומט מחסנית L= anbk n0 L= a2nb3n+1 פתרון א דחוף a ┴| AAA שלוף bA|A דחוףa A| AAA שלוף |bA ללש |a A ללש |┴b המילה הקצרה ביותר b: אין צורך ב S הרעיון :על כל a 2נדחוף )AAAעל הראשון דוחפים ועל השני אין מבצעים דבר(. על כל bנשלוף A על ה bהאחרון לל"ש ללש |┴b פתרון ב המילה הקצרה ביותר b: אין צורך ב S הרעיון :על כל a 2נדחוף ) Aעל הראשון דוחפים ועל השני אין מבצעים דבר(. על כל שלושה bנשלוף A על ה bהאחרון לל"ש ┴a ┴| A שלוף bA| a ללש |┴b ללש |bA a A| AA ללש |bA ללש |┴ a ללש |a A ללש |bA ללש |┴b אוטומט מחסנית © כל הזכויות שמורות 116 L= a2n+1bn+2 n0 שלוף bA| a ללש |┴b שלוף bA| a aA| AA ┴a┴| A ללש |┴a ללש |aA ללש |┴b ללש |┴b © כל הזכויות שמורות ללש |┴ a 117 המילה הקצרה ביותר bb: אין צורך ב S הרעיון :על כל a 2נדחוף Aועל כל b נשלוף .על ה bהאחרון ללש. אוטומט מחסנית תרגילים שונים (רובם פתורים) שלוף bA | A *>0 *)L=( a2nbn שלוף bA | A שלוף bS|S ללש | aA שלוף bS|S דחוף a┴ | S דחוף aA | A דחוף a┴ | S כיצד יראה הפתרון לו * ≤1 המילה הקצרה ביותר ac: L=an+k ועלbn נדחוףckAn 0 k a> 0 כל b הרעיון :על כל נשלוף ועל כל cנשלוף. מקרה קיצון n :שווה לאפס שלוף cA | A דחוף aA | A דחוף aS | A שלוף cA | A שלוף bA | A שלוף cA | A שלוףcS| S © כל הזכויות שמורות דחוף a┴ | S שלוף bA | A שלוףcS| S 118 אוטומט מחסנית L=anbn+kck n0 k>0 anbn bkck ►►► anbn+kck הרעיון :על כל aנדחוף ,על כל bנשלוף עד שהמחסנית מתרוקנת .כעת על כל bנדחוף ועל כל cנשלוף. מקרה קיצון n :שווה לאפס כלומר אין aבמילה. דחוף b┴ |S דחוף aA | A שלוף cA | Aדחוף B┴ | S שלוף cA | A שלוףcS | S שלוף bA | A דחוף B┴ | S דחוף a┴ | A המילה הקצרה ביותר bc: הרעיון :על כל aנדחוף Aועל כל bנשלוף על bכשהמחסנית ריקה נדחוף ועל כל c נשלוף שלוף bA | A שלוףcS | S n,K0 L=a2n-kbncn-k+1 n+n-k n n-k+1 bc bncn-k+1 L=aומכאן נובע הרעיון לפיתרון המופיע בהמשך. n+n-k L=aנציב n-k=x ונקבל L=an+x bncx+1=ax+n bncxc הרעיון :על כל aנדחוף ,על כל bנשלוף ,על כל cנשלוף .לבסוף cנוספת. מקרה קיצון n :שווה לאפס כלומר אין bבמילה. שלוף cA | A שלוף bA | A שלוף cA|A ללש |┴c דחוף aA|A שלוף bA|A דחוף a┴|A שלוף cA|A ללש |┴c © כל הזכויות שמורות 119 אוטומט מחסנית n>m0 L= a2n+1bn-mam+1 א .מהי המילה הקצרה ביותר. ב .מהי המילה הקצרה ביותר לו התנאי היה n>=m>=0 פתרון תחילה נפטר מפעולת החיסור כיוון שמופיע n-mנבצע הצבה כמו כן mיכול להיות 0ומהתנאי n>mנובע ש nלפחות 1 k=n-m k+m=n נציב ונקבל = aa2k+2mbkam+1 = aa2ma2kbkama L=a2(k+m)+1bkam+1 מכאן על ה aהראשון נכניס Aבודד .כעת על כל a 2נכניס Aלמחסנית על כל bנוציא ועל כל aנוציא. )אין צורך בהכנסת אותיות שונות( שלוף bA | A שלוף aA | A דחוף aS | A ללש | aA שלוף aS |S שלוף aA | A שלוף bA | A דחוף aA | A דחוף a┴ |S שלוף aS |S ב .המילה הקצרה ביותר aaaba ג .המילה הקצרה ביותר aa © כל הזכויות שמורות 120 אוטומט מחסנית n>m0 L= an+1bn-ma2m+1 א .מהי המילה הקצרה ביותר. ב .מהי המילה הקצרה ביותר לו התנאי היה n>=m>=0 ג .בנה אוטומט מחסנית. פתרון א .המילה הקצרה ביותר aaaba ב .המילה הקצרה ביותר aa ג. תחילה נפטר מפעולת החיסור כיוון שמופיע n-mנבצע הצבה k=n-m k+m=n כמו כן mיכול להיות 0נובע ש nלפחות 1 נציב ונקבל k+m k 2m+1 m k k 2m+1 ba = aa a b a = aa k+m+1 k 2m+1 L=a ba m>=0 , k>0 דחוף aA | A דחוף aS | A דחוף a┴ | S שלוף bA | A שלוף aA | A שלוף aS | S ללש | aA שלוף aA|A שלוף bA | A א .המילה הקצרה ביותר aaaba ב .המילה הקצרה ביותר aa © כל הזכויות שמורות 121 אוטומט מחסנית n>m0 L= a2n+1bn-mam-1 תחילה נפטר מפעולת החיסור כיוון שמופיע n-mנבצע הצבה k=n-m k+m=n כמו כן mחייב להיות לפחות 1נובע שגם nלפחות 2 נציב ונקבל = aa2ma2kbkam-1 k>0 m0 = aa2k+2mbkam-1 L=a2(k+m)+1bkam-1 המילה הקצרה ביותר עבור m=1 n=2הינה aaaaab השלם את האוטומט L=(L1)K מקבלת את המילים מעל } {a,bזוגיn,k≥0 n L1=anbanb בנה אוטומט מחסנית שיקבל את השפה . L1 פתרון ללש |┴b ללש |bA שלוףaA| A דחוףaA|A דחוףa┴|A דחוףaA|A ללש |┴b תרגיל בנה אוטומט מחסנית לשפה L nזוגי © כל הזכויות שמורות n,k≥0 122 L=(L1)K L1=banban אוטומט מחסנית תרגיל בנה אוטומט מחסנית המקבל את השפה הבאה מעל הא"ב }:{a,b,c,d { L={anbn+m+kcmdkn,m,k≥0 anbn+m+kcmdk == anbn bm+kcmdk פתרון על כל aנדחוף ,על כל bנשלוף ,כאשר המחסנית מתרוקנת אזי על כל bנדחוף נדחוף על כל cנשלוף ועל כל d דחוף aS | A דחוף aA | A נשלוף שלוף bA | A דחוף a┴|S שלוף bA| A שלוף dS|S שלוף cS|Sשלוף cS|S שלוף dS|Sשלוף dS|S שלוף dA|A שלוף dA|A שלוף bS| S דחוף b┴|S שלוף cA|A שלוף cA|A שלוף bS| S דחוף bS | A דחוף bA | A }L={anbmckn,m,k>0,k≥n+m בנה אוטומט מחסנית המקבל את השפה מעל הא"ב }{a,b,cהרשומה לעיל. דחוף aA| A ללש|┴c דחוף bA| A שלוף cA|A שלוף cS|S דחוף A┴| S שלוף cA|A דחוף bA| A © כל הזכויות שמורות 123 אוטומט מחסנית }L={anbkn, k≥0, k=n/2 בנה אוטומט מחסנית המקבל את השפה Lמעל הא"ב }.{a,b הערה 5/2 :שווה 6/2 . 2שווה .3 שלוף bA|A פתרון הרעיון :על כל a 2נדחוף . A )על ה aהשניה( על כל bנשלוף A שלוף bS|S שלוף bA|A שלוף bA|A ללש|aS ללש|aA ללש|┴a דחוף a┴|S דחוף aS|A דחוף aA|A שלוף bS|S שלוף bS|S מחרוזת פנינים בבית חרושת מייצרים מחרוזות המורכבות מפנינים גדולות וקטנות ,ובכל מחרוזת מספר הפנינים הקטנות שווה למספר הפנינים הגדולות .המחרוזת צריכה להתחיל ברצף של פנינים קטנות ולהסתיים ברצף של פנינים קטנות ובמרכזה רצף של פנינים גדולות .מחרוזת שאינה עומדת בתנאים אלו אינה עוברת את בדיקת האיכות. א. הגדר שפה שמתאימה לכל המחרוזות העומדות בבדיקת האיכות. ב. בנה אוטומט מחסנית הקובע אם מחרוזת נתונה עוברת את בדיקת האיכות. פתרון א. השפה היא } {anbn+mamn, m>0מעל הא"ב }.{a,b דחוף aA|A דחוף bS|A דחוף bA|A ב. שלוף aA|A שלוף bA|A דחוף a┴|A שלוף aA|A דחוף b┴|S שלוף aS|S © כל הזכויות שמורות שלוף bA|A שלוף aS|S 124 אוטומט מחסנית תרגיל (דורון זוהר) } L={ (yx)nzk(xy)jn,k≥0 n<j k even בנה אוטומט מחסנית עבור השפה הבאה מעל הא"ב }:{x,y,z פתרון ללש | yA ללש | ┴y q5 שלוף xA|A q4 q1 דחוף yA | A דחוף y┴ | A שלוף xA|A ללש|┴x ללש | ┴x ללש | ┴y שלוף xA|A q6 q7 ללש|xA ללש|┴z ללש|zA q3 q2 ללש|┴z ללש|zA ללש|┴x q0 ללש | ללש|┴z ללש|zA ┴x אוטומט מחסנית © כל הזכויות שמורות 125 אוטומט מחסנית לא דטרמיניסטי המודל של אוטומט מחסנית הינו לא דטרמיניסטי .למעשה אוטומט מחסנית דטרמיניסטי הינו מקרה פרטי של אוטומט מחסנית. כוחו של אוטומט מחסנית לא דטרמיניסטי גדול יותר מכוחו של אוטומט מחסנית דטרמיניסטי. תרגיל 1 בנה אוטומט המקבל את השפה הבאה: } k=m n,k,m>0או L={anbkcm n=k פתרון הרעיון :נחלק לשני מקרים מקרה אחד כאשר מספר ה aים שווה למספר ה bים שאז על כל aנדחוף Aלמחסנית ועל כל bנשלוף. עבור ה cים לא בצע מאומה. מקרה שני כאשר מספר ה bים שווה למספר ה cים שאז על כל aלא נבצע דבר על כל bנדחוף Aלמחסנית ועל כל cנשלוף. האי דטרמיניזם מתבטא )בתו הראשון( שכאשר יש לנו aוהמחסנית ריקה ניתן לבחור בשתי אפשרויות : דחוף Aאו לל"ש. ללש |┴c שלוף bA |A ללש |┴c דחוף aA| A שלוף bA |A דחוף a┴| A שלוף cS|S שלוף cS|S שלוף cA|A שלוף cA|A © כל הזכויות שמורות ללש |┴a דחוף b┴|S דחוף bS | A דחוף bA | A 126 ללש |┴a אוטומט מחסנית לא דטרמיניסטי תרגיל 2 בנה אוטומט המקבל את השפה הבאה: מילה מעל }{a,b,cשאורכה זוגי והינה פלינדרום כולל המילה הריקה. פתרון * פירושו לא משנה מה יש בראש המחסנית .הפתרון אינו דטרמיניסטי. הרעיון :על כל אות דוחפים למחסנית את האות הגדולה המתאימה לה ללא תלות במה שיש ברשא המחסנית. מרגע מסוים מתחילים להוציא אך פה אם יש בקלט aאזי חייב להיות Aבראש המחסנית שפירושו שהיה a בהתאמה )בחלק השמאלי של המילה(. שלוף a X |X שלוף b Y |Y שלוף c Z |Z שלוף aA |A שלוף bB |B שלוףcC |C שלוף aA |A שלוף bB |B שלוףcC |C דחוף a* |A דחוף b* |B דחוףc* |C דחוף a ┴ |X דחוף b ┴ |Y דחוףc ┴ |Z שלוף a X |X שלוף b Y |Y שלוף c Z |Z בנה אוטומט המקבל את השפה הבאה: מילה מעל } {a,b,cשהינה פלינדרום כולל המילה הריקה. © כל הזכויות שמורות 127 אוטומט מחסנית לא דטרמיניסטי תרגיל 3 בנה אוטומט המקבל את השפה הבאה: }n,k >0 3n ≥k ≥ n L={anbk פתרון הרעיון :על כל aנדחוף Aאו AAאו AAAעל כל bנשליך .A שלוף bA | A דחוף aS |A דחוף aS | AA דחוף aS | AAA דחוף aA |A דחוף aA | AA דחוף aA | AAA דחוף a┴ |S דחוף a┴ | SA דחוף a┴| SAA שלוף bA | A שלוף bS | S שלוף bS | S © כל הזכויות שמורות 128 אוטומט מחסנית לא דטרמיניסטי מספר כללים לאוטומט מחסנית -חזקות am לפי חוקי החזקות מתקיים ולכן הרעיון הכללי הוא להגיע n am+n == am an == a am*n == (am) n== (an) m למצב שיש לנו חזקות שוות או כפולות של חזקות a0 ==ε חזקת אפס נותנת את מילה הריקה דוגמאות anb2n+1 = anb2n+1= an b2n b = (a)n (b)2n b על כל aנכניס למחסנית Aועל כל שני bנוציא )על ה bהשנייה( כשהמחסנית ריקה צריך b או על כל aנכניס למחסנית AA אם הפירוק הינו 2n ועל כל bנוציא כשהמחסנית ריקה צריך b n ) (a) b (bאזי על כל aנכניס למחסנית Aעל ה bהראשונה לא נעשה כלום )לל"ש( ועל כל שני bנוציא )על ה bהשנייה( או על כל aנכניס למחסנית AAעל ה bהראשונה לא נעשה כלום )לל"ש( ועל כל bנוציא כשהמחסנית ריקה צריך b anbn-1 = aan-1bn-1= a(a)n-1(b)n-1 הערה :נובע n>0גם אם נאמר .n>=0 על כל aנכניס למחסנית ועל כל bנוציא )הסוגריים הינם להדגשה בלבד( k=n+m anbkcm = anbn+mcm= anbnbmcm על כל aנכניס למחסנית ועל כל bנוציא כאשר המחסנית ריקה והאות בקלט bנתחיל שוב להכניס למחסנית ובהמשך על כל cלהוציא. anbn-mcm נציב = k=n-mנובע גם ש n=m+k נציב במקור ונקבל = am+kbkcm= amakbkcm על כל aנכניס למחסנית ועל כל bנוציא ועל כל cנוציא. © כל הזכויות שמורות 129 אוטומט מחסנית אוטומט מחסנית-15 דף תרגילים מספר 1. L=an bk n>k k0 2. L=an bk nk n,k0 3. L=anb2w 2w>n 4. L=anbw w > 2 בn שארית חלוקת 5. L=an n%3=1 6. L=anbw n % 3 = 1 , w % 2 = 0 (L=a3n+1b2w n , w 0 )שקול ל 7. L=anbw w = n%3 8. L=anbw w % 3 = n% 3 9. L=a2nb3n+1 n0 a ┴| A┴ a ┴| ללש a A| AA bA| ללש a A| ללש bA| ללש bA| ללש bA| ללש b┴| ללש b┴| ללש 10. L=a5n-1b3n+2 n>0 11. L= ( anbkcmak+n+1 | n,k,m 1 ) 12. L= anbmc2(m-n) | mn n>0 13. L= a3n-1b2mcm+2dn+1 n>0 m0 14. L=anbmakbl n,m,k,l0 n+k=m+l r s s t t w w a a b ba a b b ניתן לפרק את הביטוי ל r אוטומט מחסנית 130 © כל הזכויות שמורות 15. L=anbmck 16. aibj i>j0 n,m,k >0 , n+m == ak aj bj k>0 j0 אי זוגי, n+m > k a ┴| ללש aA aA| AA a ┴| ללש | חוף e┴| ללש bA| e אוטומט מחסנית-16 דף תרגילים מספר עבור כל תרגיל רשום את הרעיון בלבד 1. a3n+8bn+2 n0 2. a2n+3bn+1 n0 3. an-1b2n-1 n0 4. a3n-2bn+1 n>0 5. a2n-1b3m+1cm+3dn+1 n0 6. aibj ij j0 7. anb2n+1 n0 8. a3n+8bn+2 n0 9. a2n+3bn+1 n0 10. an-1b2n-1 n0 11. a3n-2bn+1 n>0 12. a2n-1b3m+1cm+3dn+1 n0 13. a2n+1bn+2 n0 aA| AA a ┴| ללש a┴| ללש a┴| A┴ bA| Δ aA| ללש b┴| ללש אוטומט מחסנית bA| Δ b┴| ללש b┴| ללש 131 © כל הזכויות שמורות דף תרגילים מספר -17אסד ואוטומט מחסנית .1 בנה אוטומט מחסנית שיקבל את השפה הבאה .2 נתונה השפה הבאה { :זוגי )} an ck b2n+k | n>0, k>=0 , (2n+k ambkcj m>=0 k>=2 m+k<j j % 2 = 0 בנה אוטומט מחסנית לשפה . .3 שרטט אוטומט סופי דטרמיניסטי המקבל את שפת כל המילים מעל האב' {} 0,1,2 המתחילות ב 0 -ומסתימות ב 2 -ולא מכילות את הרצף ,02וכן לא מתקיים שיש במילה שתי אותיות זהות רצופות. .4 בנה אוטומט מחסנית לכל אחת מהשפות הבאות נתונה השפה הבאה }a1+2n bk cn+k | n, k>=0{ : נתונה השפה הבאה { :זוגי )} an ck b2n+k | n>0, k>=0 , (2n+k לפניך השפה הבאהl={aibjck| i>=0, j>0 , j % 2=0, k= 1+ i % 2 } : .5 א. ב. ג. ד. ה. מהם הערכים האפשריים של הביטוי _________________ ? i % 2 __________________ מהם הערכים האפשריים של ?k מהי המילה הקצרה ביותר בשפה? ________________ תן 2דוגמאות שונות למילים בשפה___________________ ______________ : ו 2-דוגמאות למילים שאינן בשפה___________________ ______________ : בנה אוטומט סופי דטרמיניסטי מעל } ∑ ={a,b,cהמקבל את השפה הנ"ל. .5קוד סודי של כרטיס אשראי בנוי מ 4 -תווים באופן הבא: התו הראשון הוא אחת מהאותיות .a,b,c שני התווים הבאים הם שתיים מהספרות .0-9 התו האחרון הוא אחת מהאותיות ,a,b,cאך שונה מהתו הראשון. ו .מה הא"ב של השפה? _____________________________ ז .בנה אוטומט סופי דטרמיניסטי המקבל את כל המילים המהוות קוד כרטיס אשראי. תרגילים באסד ואוטומט מחסנית © כל הזכויות שמורות 132 תרגיל 1 נתונים שני האוטומטים )סופיים דטרמיניסטים( הבאים מעל } { a,b b b a,b a a a,b ג. a a,b start בדוק עבור שני האוטומטים האם המילים הבאות מתקבלות : )abaaa (1 ב. a start b a,b א. b )abbaba (2 )aaaaba (3 הסבר במילים מהי השפה המתקבלת עבור האוטומט הראשון . עבור שתי הטענות הבאות ,אם הטענה נכונה -הסבר מדוע, ואם אינה נכונה -הבא דוגמא נגדית )דוגמא שסותרת את הטענה(. כל מילה המתקבלת באוטומט השני מתקבלת גם באוטומט הראשון. )(1 כל מילה המתקבלת באוטומט הראשון מתקבלת גם באוטומט השני. )(2 תרגיל 2 במשחק "בן -בת " שני כללים : הילדים יושבים בשורה כך שאין אף בן שמשני צדדיו יושבות בנות ) בת מכל צד ( וכן אין בת בין שני בנים. כל רצף ילדים חייב להתחיל בבת ולהסתיים בבן. .1 מהו א"ב השפה ? .2 תן דוגמא לרצף שעומד בכללי המשחק ולרצף שאיננו עומד בכללים. .3 בנה אוטומט סופי דטרמיניסטי המקבל את הרצפים העומדים בכללי המשחק. © כל הזכויות שמורות 133 תרגילים באסד ואוטומט מחסנית תרגיל 3 נתונה השפה הבאה מעל א"ב { : } a,b { m<2w l = { a2n bn+m c2w | n,m >= 0 תרגיל 4 נתונה השפה הבאה : { L = } 0i 1j 2i+j+k 3k i,j,k >= 0 א .עבור כל מילה בדוק האם היא שייכת לשפה ,אם לא הסבר בקצרה מדוע לא. המילה 0123 .1 שייכת לשפה לא שייכת לשפה ,הסבר מדוע לא 0011222223 .2 2233 .3 1133 .4 תרגיל 5 נתון האוטומט הבא מעל הא"ב {: }0,1 0,1 10,1 1 1 0 0 1 1 1 0 0 א .הגדר אילו מילים מתקבלות . ב .בנה את האוטומט המתאים לשפה ההפוכה. פתרון א. ב. המילים המתקבלות הם המתחילות ב 1ואורכן זוגי או מתחילות ב 0ומספר ה 1מתחלק ב 3ללא שארית. פתור. © כל הזכויות שמורות 134 תרגילים באסד ואוטומט מחסנית תרגיל * 6 נתונים האוטומטים הבאים מעל הא"ב {: }a,b b b a a a,b a,b a,b לכל אוטומט רשום א .הגדר אילו מילים מתקבלות . ב .בנה את האוטומט המתאים לשפה ההפוכה. תרגיל 7 בנה אוטומט סופי דטרמיניסטי מעל } {0,1,2המקבל מילה המסתיימת ב 11או |w| % 3 = 1 תרגיל 8 מהי השפה המתקבלת על ידי האוטומט הבא: 0,1,2 2 0,1,2 0,1 0,1,2 © כל הזכויות שמורות 135 תרגילים באסד ואוטומט מחסנית תרגיל 9 מהי השפה המתקבלת על ידי האוטומט הבא: 0,1 0,1 2 2 2 2 0,1 0,1 0,1 תרגיל 11 בנה אוטומט מחסנית ל לשפה הבאה mn n>0 n-m n m c a bc פתרון חלקי נרשום מכאן נובע נציב ונקבל k=n-m n=k+m == ck+mambck == ck cmambck תרגיל 11 בנה אוטומט סופי דטרמיניסטי אשר מקבל את השפה הבאה מעל הא"ב{(a,b אוסף המילים המתחילות ברצף abaומסתיימות ברצף .ba האם שפה מעל הא"ב { }a,b,cהמכילה את המילים המתחילות ב c מספר ה aמתחלק ב 3ללא שארית ומסתיימות ברצף aabbרגולרית. הסבר תשובתך במספר משפטים. תרגיל 12 בנה אוטומט מחסנית המקבל את השפה { } (ab)n (ba)n | n>=0 }L={anbm | (n+m) % 2=0 ,n,m>0 בנה אוטומט סופי דטרמיניסטי לשפה הבאה: © כל הזכויות שמורות 136 תרגילים באסד ואוטומט מחסנית תרגיל 13 בנה אוטומט סופי דטרמיניסטי ,המקבל את כל המילים מעל הא"ב { , }a,bהמכילות לפחות 2אותיות aומספר אותיות ה – bבהן מתחלק ב – .2 תרגיל 14 נתונים שני האוטומטים הבאים )סופיים ודטרמיניסטיים ( מעל }: {a,b b a a a,b a b b a a,b b a b a b א .בדוק עבור שני האוטומטים האם המילים הבאות מתקבלות : abaaa .1 ב. ג. abbaba .2 aaaaba .3 הסבר במילים מהי השפה המתקבלת עבור האוטומט הראשון . עבור שתי הטענות הבאות ,אם הטענה נכונה הסבר ,אחרת תן דוגמה נגדית . .I .II כל מילה המתקבלת באוטומט העליון מתקבלת גם באוטומט התחתון . כל מילה המתקבלת באוטומט תחתון מתקבלת גם באוטומט העליון. תרגילים באסד ואוטומט מחסנית © כל הזכויות שמורות 137 תרגיל 15 בנה אוטומט סופי דטרמיניסטי המקבל את כל המילים מעל } { a,bהמכילות לפחות 2אותיות aומספר אותיות ה bבהן מתחלק ב .3 תרגיל 16 בנה אוטומט מחסנית שיקבל את השפה הבאה anbm m > 2n n,m0 תרגיל 17 בנה אוטומט מחסנית שיקבל את השפה הבאה anbmc2(m-n) m > n0 תרגיל 18 בנה אוטומט מחסנית שיקבל את השפה הבאה : m >n )anbm c2(m-n תרגיל 19 שרטט אוטומט סופי דטרמיניסטי המקבל את שפת כל המילים מעל האב' {} 0,1,2 המתחילות ב 0 -ומסתימות ב 2 -ולא מכילות את הרצף ,02וכן לא מתקיים שיש במילה שתי אותיות זהות רצופות. תרגיל 21 בנה אוטומט סופי דטרמיניסטי אשר מקבל את השפה הבאה מעל הא"ב{}0,1 אוסף המילים המתחילות ב , 1מכילות מספר זוגי של אפסים ומסתיימות ב 11) .11מתקבל( 1 1 0 1 1 0 0 0 0,1 0 1 © כל הזכויות שמורות 138 תרגילים באסד ואוטומט מחסנית סגירות שפות חופשיות הקשר כל שפה רגולרית הינה גם חופשית הקשר אך לא להיפך. לשפה שניתן לבנות לה אס"ד קוראים שפה רגולרית. שפה שניתן לבנות לה אוטומט מחסנית הינה חופשית הקשר. לכל שפה רגולרית ניתן לבנות אוטומט מחסנית ולכן כל שפה רגולרית הינה גם חופשית הקשר. משפחת השפות חופשיות ההקשר סגורה תחת מספר פעולות: איחוד L1 U L2 שירשור L1L2 היפוך }LR = {w | wR L חיתוך עם שפה רגולרית LR תרגיל 1 תהי L= anbnהאם ) L1=L·R(Lחופשית הקשר. n n פתרון א לשפה a bבנינו אוטומט מחסנית וכיוון ששפות חופשיות הקשר סגורות לתכונות היפוך ושרשור נובע ש L1חופשית הקשר. פתרון ב )שאינו רצוי( בניית אוטומט מחסנית לשפה. תרגיל 2חיתוך תהי L1= anbnck k n n . L2= a b c האם L=L1∩L2חופשית הקשר. פתרון n n n לא .כי חיתוך השפות נותן a b cולא ניתן לבנות אוטומט מחסנית. ברור שקיימים מקרים בהם החיתוך נותן שפה חופשית הקשר. © כל הזכויות שמורות 139 סגירות שפות חופשיות הקשר שרשור ( L1· L2פירושו כל המילים אשר ניתן לחלק אותן לשני חלקים כך שהחלק השמאלי שייך ל L1והימני ל )L2 דוגמה: תהי L1שפת כל המילים מעל } {a,bמהצורה n>0 a2nbn תהי L2שפת כל המילים מעל } {a,bמהצורה n>0 anbn L3 = L1·L2אם ידוע ש L1חופשית הקשר ו L2חופשית הקשר אזי L3=L1·L2גם כן חופשית הקשר. איחוד ( L1L2פירושו כל המילים המתקבלות ב L1או ב .)L2 דוגמה: תהי L1שפת כל המילים מעל } {a,bמהצורה n>0 a2nbn תהי L2שפת כל המילים מעל } {a,bמהצורה n>0 anbn L3 = L1L2אם ידוע ש L1חופשית הקשר ו L2חופשית הקשר אזי L3=L1L2גם כן חופשית הקשר. דוגמה: תהי L1שפת כל המילים מעל } {a,b,cמהצורה n>0 anbnck תהי L2שפת כל המילים מעל } {a,b,cמהצורה n>0 akbncn L3 = L1L2אם ידוע ש L1חופשית הקשר ו L2חופשית הקשר אזי L3=L1L2גם כן חופשית הקשר. היפוך L דוגמה: תהי Lשפת כל המילים מעל © כל הזכויות שמורות } {a,bמהצורה anbn n>0אזי היפוך שך Lהינו n>0 140 bnan סגירות שפות חופשיות הקשר ( L1∩L2פירושו כל המילים המתקבלות הן ב L1והן ב .)L2 חיתוך שפה חופשית הקשר עם שפה רגולרית נותן שפה חופשית הקשר תהי L1שפת כל המילים מעל } {a,b,cמהצורה n>0 anbnck תהי L2שפת כל המילים מעל } {a,b,cשבהן מספר ה aזוגי. L3 = L1∩L2מכילה המילים מהצורה n>0 2n 2n k .a b c חיתוך שתי שפות חופשיות הקשר שחיתוכן אינו חופשי הקשר תהי L1שפת כל המילים מעל } {a,b,cשבהן מספר ה aשווה למספר ה . b תהי L2שפת כל המילים מעל } {a,b,cשבהן מספר ה bשווה למספר ה . c L3 = L1∩L2מכילה מילים שבהם מספר ה aשווה למספר ה bשווה למספר ה . c © כל הזכויות שמורות 141 סגירות שפות חופשיות הקשר מהי מכונת טיורינג מכונת טיורינג הינה מודל מופשט המסוגל לבצע כל חישוב או אלגוריתם הניתן לביצוע במחשב. המכונה מקבלת סרט המכיל סימן ראש סרט תווים ולבסוף מכיל את הסמל "ריק" .ראש הקריאה כתיבה נמצא על תו כלשהו לרוב על התו הראשון מימין לראש הסרט├ . מסמן את ראש הסרט. ∆ מסמן את הסמל "ריק". (ניתן לדמות לצורך ההבנה בלבד את הסמל "ריק" לסימן רווח) ∆∆∆∆∆∆├aaaaaaaa המכונה עוברת על הסרט ומחליפה כל תו בתו אחר (כולל הוא עצמו שאז אין שינוי בסרט). המכונה יכולה לנוע שמאלה או ימינה כאשר אסור לה לנוע משמאל לסימן תחילת הסרט. דוגמה :לאחר הפעולה ימין a/b הסרט יראה ∆∆∆∆∆∆├baaaaaaa © כל הזכויות שמורות 142 מכונת טיורינג המכונה מורכבת מהחלקים הבאים: סרט המחולק לתאים והוא אינסופי ימינה. ראש שמסוגל לקרוא את תוכן התא ולכתוב לתוכו מיד לאחר הקריאה ולאחר מכן לזוז ימינה או שמאלה. מצב התחלתי. הוראות המורות לראש מה לכתוב בתא ,לאן לזוז (תא אחד ימינה או תא אחד שמאלה) ,כל זאת בהתאם למצב הנוכחי (כפי שהוא רשום באוגר המצב) ולסמל/אות/סימן שנקרא מהתא הנוכחי .אם אין בטבלה התייחסות לצירוף של המצב והסמל הנוכחיים ,המכונה עוצרת. כל מרכיביה של מכונת טיורינג הם סופיים ,מלבד הסרט שאינו מוגבל באורכו. מכונת טיורינג מתחילה את פעולתה במצב ההתחלתי ,כשעל הסרט כתוב מידע כלשהו -הקלט .הקלט הוא תמיד סופי, והאלפבית של האותיות שמרכיבות אותו הוא חלקי ממש לאלפבית של הסימנים שניתן לרשום על הסרט. הסימן ∆ מטרתו לציין את סיום הקלט .המכונה יכולה לשנות את מצבו של הסרט ולבסוף עשויה לעצור או שלא לעצור. באופן כללי המכונה נעה על הסרט ימינה ושמאלה בהתאם לנדרש ומחליפה כל אות (סימן) באות ,במטרה להגיע לתוצאה הרצויה. התוצאה הרצויה יכולה להיות החלטה אם מילה מתקבלת בשפה או שלא ,או תוצאה של פונקציה מסוימת למשל שארית חלוקה בשלוש ,או השלמת המספר למספר המתחלק בשלוש ללא שארית. מצב מקבל לפי תוכנית הלימודים קיימת מוסכמה שבכל מכונת טיורינג יש מצב מקבל: באם המכונה בודקת האם מילה שייכת לשפה הרי מצב מקבל == אכן המילה משתייכת לשפה. למשל האם המילה aabbccשייכת לשפה anbncn באם המכונה מבצעת משהו למשל אם אורך המילה איזוגי מוסיפה aבסוף המילה אחרת משאירה ללא שינוי אזי מצב מקבל == סיימנו את המשימה ובצענו אותה בהצלחה. נא עיינו בדוגמאות הבאות :תחילה נראה דוגמה למכונה המבצעת פונקציה לאחר מכן נראה מכונה הבודקת שפה רגולריות(כאלה שניתן לבנות להן אס"ד) ,לאחר מכן מכונה הבודקת שפה חופשית הקשר (כאלה שאוטומט מחסנית יכול לטפל בהן) לאחר מכן מכונה שבודקת שפה שאינה חופשיות הקשר ולבסוף נחזור ונראה מכונות המבצעות פונקציות. הגדרת מספר אונרי: כלום ערכו 0 1 ערכו 1 11ערכו 2 111ערכו 3 וכו © כל הזכויות שמורות 143 מכונת טיורינג הסבר על מכונת טיורינג באמצעות תרגילים דוגמה א :מכונת טיורינג המחליפה aל bו bל (aבשפה מעל }) {a,b בנה מכונת טיורינג המקבלת מילה מעל } {a,bכאשר ראש המכונה נמצא על התו הראושן)השמאלי( ומשנה aל bו bל . a ימין a / b הרעיון :ננוע רק ימינה ונחליף aב b ימין b / a bב a ימין / המצב המקבל פירושו שהצלחנו לסיים את המשימה ולבצע אותה בהצלחה. דוגמה ב :מכונת טיורינג המוסיפה aבסוף המילה(בשפה מעל }) {a,b בנה מכונת טיורינג המקבלת מילה מעל } {a,bכאשר ראש המכונה נמצא על התו הראשון)השמאלי( ומוסיפה aמימין למילה. ימין a / a ימין b / b הרעיון :ננוע רק ימינה ונחליף aב a bב b את הסמל "ריק" הראשון נחליף ב a ימין /a דוגמה ג :מכונת טיורינג המוסיפה 1למילה באורך איזוגי(בשפה מעל }) }1 הרעיון :ננוע רק ימינה ונחליף 1ב 1 ימין 1/1 ימין /1 ימין 1/1 כאשר המעבר בין שני המצבים הוא מונה זוגיות אי זוגיות. באם הגענו סמל "ריק" הראשון כשמספר האחדים אי זוגי נחליף אותו ב 1 © כל הזכויות שמורות 144 מכונת טיורינג דוגמה ד :מכונת טיורינג הבודקת שהאות האחרונה ( aמעל } ) } a,b ימין a/a ימין b/b הרעיון :ננוע ימינה וכשנגיע לסימן ריק נחזור שמאלה ונבדוק האם התו הינו a ימין a/a שמאל / דוגמה ה :מכונת טיורינג הבודקת שהאות הראשונה זהה לאחרונה (מעל } ) } a,b הרעיון :אחרי התו הראשון נתפצל לשני מסלולים ימין b/b ימין a/a שמאל / ימין a/a ימין a/a ימין b/b ימין b/b שמאל / ימין a/a ימין b/b © כל הזכויות שמורות 145 מכונת טיורינג דף תרגילים 1במכונת טיורינג עבור כל מכונה אמור מה היא מבצעת (בודקת) )מעל }( }1 ימין 1/1 ימין /1 ימין 1/1 ימין /1 ימין /1 )מעל }( }a,b ימין b/a ימין a/b ימין a/a b/b ימין / ימין ימין / ימין a / a ימין b / b ימין /a © כל הזכויות שמורות 146 מכונת טיורינג מכונת טיורינג לבדיקת שפות רגולריות (ניתן לבנות להן אוטומט סופי דטרמיניסטי) בנה מכונת טיורינג ה מקבלת את המילים המתחילות ב aמעל }{a,b,c הרעיון בניה על סמך אס"ד מתאים. מקרים שרצוי לבדוק : מילים מתקבלות. a : ימין a / a מילים שאינן מתקבלות. c , ba : ימין b / b ימין c / c ימין a/a ימין / בנינו מכונת טיורינג לשפה רגולרית. בנה מכונת טיורינג ה מקבלת את המילים מעל } {a,b,cכך ש |W|%3=1 הרעיון בניה על סמך אס"ד מתאים .מקרים שרצוי לבדוק. a aa aaa : ימין / ימין a / a ימין b / b ימין c / c ימין a / a ימין b / b ימין c / c ימין a / a ימין b / b ימין c / c בנינו מכונת טיורינג לשפה רגולרית. מכונת טיורינג © כל הזכויות שמורות 147 מכונת טיורינג לשפות חופשיות הקשר ולא רגולריות בנה מכונת טיורינג המקבלת את המילים מעל } {a,bמהצורה n≥0 anbn הרעיון :להפוך את aל Xלחפש bולהפוך ל . Yבסוף התהליך לסרוק שיש רק Yשפירושו שאין יותר bמ .a מקרים שרצוי לבדוק . bab abab aab abb ab : ימין X /X ימין Y/Y ימין a/a שמאל b/Y q2 q1 ימין a/X ימין ∆∆/ שמאל Y/Y שמאל a/a q5 q0 ימין Y/Y q4 ימין ∆∆/ בנינו מכונת טיורינג לשפה חופשית הקשר שאינה רגולרית. שים לב ימין Y/Y עבור מילה המתחילה ב bנתקע ב q0 עבור aabbbbbנתקע ב bהראשון המיותר ) (aabbbbbובמצב q4 ועבור aaaabbנתקע ב aמיותר ובמצב q1כאשר לא קיים עבורו .b מעקב אחר המילה aabb שינוי מצב חדש אות נבדקת מצב aX ללש q1 aabb Xabb Xabb q0 bY ללש © כל הזכויות שמורות q1 q2 q2 q1 q1 q2 148 מכונת טיורינג בנה מכונת טיורינג ה n n מקבלת את המילים מעל } {a,bמהצורה n≥0 a b באם המילה אינה מתקבלת יש למחוק אותה מהסרט באם מתקבלת יש לנוע סביב סימן הריק הראשון. הרעיון :כמו בתרגיל הקודם רק שיש להוסיף את המקרים המבוקשים. ימין X /X ימין Y/Y ימין a/a n>k anbk המילה מתחילה בb q2 שמאל b/Y שמאל Y/Y שמאל a/a מספר ה bגדול ממספר ה aבמילה או מהצורה …aba q1 ימין a/X שמאל ∆∆/ תבנית q0 ימין Y/Y ימין ∆∆/ שמאל b/b q6 q5 q4 ימין ∆∆/ מחיקה שמאל b/b שמאל a/a ימין Y/Y בנינו מכונת טיורינג לשפה חופשית הקשר שאינה רגולרית. שים לב עבור מילה מהצורה n>k anbkלדוגמה aaaabbנתקע ב aמיותר ובמצב q1כאשר לא קיים עבורו .b עבור מילה המתחילה ב bנתקע ב q0 עבור aabbbbbנתקע ב bהראשון המיותר ) (aabbbbbובמצב q4 עבור aababbנתקע ב aהשלישי ) (aababbובמצב q4 עבור aabbaנתקע ב aהשלישי ) (aababbובמצב q4 ליד q6 q5יש להוסיף ∆∆/ימין ∆∆/שמאל © כל הזכויות שמורות 149 מכונת טיורינג בנה מכונת טיורינג ה מקבלת מילים מעל } {a,bשמתחילות ב aומסתיימות ב aואורך רצף ה aבהתחלה ובסוף שווה הרעיון :להפוך aבתחילת המילה ל Xלחפש aבסוף ולהפוך ל Yוכך לחזור על התהליך. מקרים שכדאי לבדוק) aab baa aabababaaa aaababaa aaaa aabaa :רק שני הימניים מתקבלים(. ניתן לפתור באמצעות אטומט מחסנית לא דטרמיניסטי )דטרמיניסטי אם יש לפחות bאחת(. ימין a/X שמאל b/b שמאל a/a q4 ימין X/X q3 ימין b/b ימין a/a שמאל a/Y q2 שמאל ∆∆/ q1 ימין a/X שמאל Y/Y ימין b/b שמאל Y/Y ימין b/b ימין a/a q7 © כל הזכויות שמורות שמאל b/b q6 150 שמאל Y/Y q5 מכונת טיורינג q0 מכונת טיורינג לשפות לא חופשיות הקשר בנה מכונת טיורינג ה מקבלת את המילים מעל } {a,b,cמהצורה n≥0 a b c n n n הרעיון :להפוך את aל Xלחפש bולהפוך ל Yלחפש cולהפוך ל Zלחזור לאחור ולחזור על התהליך. מקרים שכדאי לבדוק n :שווה לאפס, abc , ab , a , aabc , abcc ימין X /X ימין Z/Z ימין b/b q3 שמאל c/Z q2 ימין Y/Y ימין a/a ימין b/Y q1 ימין a/X ימין / שמאל Z/Z שמאל b/b שמאל Y/Y שמאל a/a q5 q0 ימין Y/Y q4 ימין / ימין Y/Y ימין Z/Z © כל הזכויות שמורות 151 מכונת טיורינג מכונת טיורינג – תרגילים שונים בנה מכונת טיורינג ה מקבלת רצף של aמוסיפה aבסופו ותוחמת את רצף ה aים בסימני דולר. המטרה :לקבל תוצאה תחומה בין שני סימני דולר דוגמת סרט לפני├aaaaaaaa∆ : דוגמת סרט אחרי├$aaaaaaaaa$∆ : הרעיון :את ה aהראשון נהפוך לדולר ,שני רווחים בסוף נהפוך לשני aורווח נוסף יהפוך לדולר. מקרים שכדאי לבדוק :מספר ה aים שווה לאפס ,כלומר אין aים. ימין a / a ימין /$ ימין /a ימין a / $ ימין /a ימין /$ חיבור f(x,y)=x+y ∆├1111111#1111 הקלט הינו במבנה הבא ∆├$11111111111$ הפלט : הרעיון :את ה aהראשון נהפוך לדולר ,שני רווחים בסוף נהפוך לשני aורווח נוסף יהפוך לדולר. המטרה :לקבל תוצאה תחומה בין שני סימני דולר. מקרה שכדאי לבדוק x :שווה לאפס. ימין # / $ ימין 1/1 ימין ∆/$ © כל הזכויות שמורות ימין # / 1 152 ימין 1/1 ימין 1/$ מכונת טיורינג f(x)=2x ∆├111 הקלט הינו במבנה הבא הרעיון :תחילה לשים $לאחר ה ...111 לאחר מכן על כל אחד שנהפוך אותו ל Xנחליף 2רווחים ל 2אחדים לבסוף נוסיף $ המטרה :לקבל תוצאה תחומה בין שני סימני דולר $111111$ מקרים שכדאי לבדוק x :שווה לאפס. ימין X/X שמאל $/$ שמאל 1/1 שמאל ∆/1 הוספת $בסוף המילה ימין $/$ ימין 1/1 ימין ∆/1 שמאל 1/1 ימין 1/X ימין ├├/ שמאל ∆/$ ימין $/$ החלפת 2רווחים ל 2אחדים ימין ∆/$ ימין 1/1 הוספת $בסוף המילה © כל הזכויות שמורות 153 ימין 1/1 מכונת טיורינג חיסור x>0 x>y f(x,y)=x-y ∆├1111111#111 ├….$1111$.... הקלט הינו במבנה הבא המטרה :לקבל תוצאה תחומה בין שני סימני דולר yשווה .1 מקרים שכדאי לבדוק y :שווה אפס שמאל X/X שמאל Y/Y שמאל $/$ ימין X/X ימין Y/Y ימין $/$ ימין 1 / 1 שמאל 1 / Y פעולת החיסור ימין #/$ ימין 1 /X ימין 1 / 1 ימין X/$ שמאל ∆∆/ ימין $/$ ימין X/1 ימין 1/$ ימין ├├/ ימין $ /1 ימין ∆/$ חזרה להתחלה כאשר yשווה 0 שמאל X/X שמאל Y/Y שמאל $/$ שמאל 1/1 למעשה ניתן בפיתרון להשתמש ב Xבלבד ואין צורך בשימוש בשתי אותיות גדולות שונות. © כל הזכויות שמורות 154 מכונת טיורינג חיסור y≥0 x >0 x+y>z f(x,y)=x+y-z הקלט הינו במבנה הבא x=7 y=4 z=5 ∆├1111111#1111#11111 המטרה :לקבל תוצאה תחומה בין שני סימני דולר ├….$111111$.... ימין $/$ שמאל $/$ ימין 1 / 1 ימין 1 / 1 שמאל 1 / $ ימין #/$ ימין ימין #/1 1/$ פעולת החיסור ימין 1 /$ © כל הזכויות שמורות שמאל ∆∆/ 155 פעולת החיבור מכונת טיורינג שאלה נתונה מכונת טיורינג המקבלת על הסרט מילה באורך אי זוגי שאורכה לפחות .3 א .בצע מעקב עבור המילה ) . 01100הינך יכול לתאר את הקטע הסופי של המכונה במילים( ב .רשום מה מבצעת המכונה. ימין X/ Δימין X/ Δ ימין Y/ Δימין Y/ Δ ימין Δ / Δימין Δ / Δ q8 q11 ימין X/0 ימין Y/0 ימין X/1 ימין Y/1 q10 q7 ימין ├├ / שמאל X/X שמאל Y/Y ימין ├├ / q9 שמאל X/X שמאל Y/Y q6 שמאל Y/Yשמאל X/X q5 ימין 0/0 ימין 1/1 שמאל X/X q2 ימין 0/0 ימין 1/1 q1 ימין 0/X ימין 1/Y שמאל X/X שמאל Δ/Δ q3 שמאל 1/X שמאל 0/X שמאל 0/0 שמאל 1/1 © כל הזכויות שמורות ימין X/X ימין Y/Y q4 156 מכונת טיורינג q0 פתרון (כל מעקב שבו מובן מה עושים מתקבל) שינוי מצב חדש אות נבדקת מצב 0X ללש ללש q1 q2 q2 ללש q2 ללש q2 11100 X1100 X1100 X1110 X1101 q0 q1 q2 q2 ללש q3 X1100 Δ q2 0X ללש q4 q4 X1101 X111X q3 q4 ללש q4 X110X q4 ללש q4 X110X q4 ללש q0 1Y ללש ללש ללש 0X ללש ללש 1Y ללש ללש ללש ללש ללש q1 q2 q2 q3 q4 q4 q0 q1 q5 q9 q9 q9 q10 q11 X110X X110X XY10X XY1 1 X q4 X 1 q2 q0 q1 q2 q2 q3 q4 q4 q0 q1 q5 q9 q9 q9 q10 XY10X XY1 1 X XY1XX XY1XX XY1XX XYYXX XYYXX XYYXX XYYXX ├XYYXX XYYXX לאחר מכן המכונה רושמת מהמקום השני ואילך רווחים ונעה לאינסוף המכונה רושמת במקום הראשון במילה את התו האמצעי. © כל הזכויות שמורות 157 מכונת טיורינג שאלה נתונה מכונת טיורינג ,העובדת על הא"ב { }a,bומקבלת מילה .אם אורכה זוגי משאירה ואם אורכה אי זוגי מוחקת .בצע מעקב אחר המילה abbab זזים מצב תיאור ומיקום ראש ימינה q0 ∆├abbab ימינה q1 ∆├abbab ימינה q0 ∆├abbab ימינה q1 ∆├abbab ימינה q0 ∆├abbab שמאלה q1 ∆├abbab שמאלה q2 ∆├abbab שמאלה q2 ∆∆├abba שמאלה q2 ∆∆∆├abb שמאלה q2 ∆∆∆∆├ab שמאלה q2 ∆∆∆∆∆├a שמאלה q2 ∆∆∆∆∆∆├ ימינה q3 ∆∆∆∆∆∆├ שמאל b/ שמאל a/ ימין a/a ימין b/b q3 ימין ├├ / q2 שמאל / q0 q1 ימין a/a ימין b/b ימין / q4 © כל הזכויות שמורות 158 מכונת טיורינג בנה מכונת טיורינג המבצעת חלוקה בשלוש עבור מספר אונרי q4 שמאל c/Z Z/Z b שמאל / b ימין Y/Y ימין X /X ש מ א ל ימין Z/Z שמאל Y/Y ימין b/b q3 שמאל a/a q1 b/Y q ימי 2 ן q5 / י q0 מ מכונת a מ ימין a/a כ טיורינג / י ו X ן הרעיון :תחילה נשים $לאחר כל ה 1-ים .לאחר מכן נעבור ונחליף כל 1ל .xעל כל שלושה -1ים נשים אחד נ בסוף, ת י רעיון מסובך ומיותר :לבעור ולהחליף כל שלישי ל xואז על כל xלשים 1בסוף. מ ט י י ן ו ר י נ ג © כל הזכויות שמורות 159 מכונת טיורינג דף תרגילים מספר -2בנה מכונת טיורינג .1 בנה מכונת טיורינג לשפה הבאהL={anbncm|m>=n} : .2 בנה מכונת טיורינג לשפה הבאהL={ anbnc2n |n>=0} : .3 בנה מכונת טיורינג לשפה הבאהL={anbncm|n>=m} : .4 בנה מכונת טיורינג המקבלת מילה מעל הא"ב } {a,b,cובודקת האם היא שייכת לשפה .L { mהיא שארית החלוקה של nב – , 2 .5 n>=0 | L={ anb2ncm בנה מכונת טיורינג לשפה הבאה מעל {:}a,bמילה שייכת לשפה אם היא ריקה ,או שהיא מכילה לפחות bאחת וגם מתחילה ומסתיימת בדיוק באותו רצף של אותיות aלמשל: aabababbaa abbaba babbb .6 בנה מכונת טיורינג המקבלת מילה מעל הא"ב{ }a,bומחזירה אותה מילה הפוכה תחומה בסימני .$ .7 נתונה על הסרט מילה מעל הא"ב{ }a,bיש לכתוב באונרית את מספר ה a-המופעים במילה תחום בסימני $ .8 בנה מוכנת טיורינג המקבלת מילה מעל א"ב { }a,bומחזירה את ההפרש בין מספר aומספר ה b-בין תחום .$ .9 בנה מכונת טיורינג המקבלת מילה מעל א"ב { } a,bובודק אם המילה היא באורך זוגי ומסתיימת ב- ,aaאם כך המכונה מקבלת אותה,אחרת יש למחוק את המילה מהסרט. .10 נתונה על הסרט מספר Xבאונרית יש לכתוב על הסרט X+1תחום בין .$ .11 נתונה על הסרט מספרים X,Yבאונרית מופרדים ע"י ,#יש לכתוב על הסרט X+Y+1באונרית תחום בין סימני .$ .12 נתונה על הסרט מספרים X,Yבאונרית מופרדים ע"י ,#יש לכתוב על הסרט X-Yבאונרית תחום בין סימני (X>=Y)$ .13 נתונה על הסרט מספרים X,Yבאונרית מופרדים ע"י ,#יש לכתוב על הסרט X DIV Yבאונרית תחום בין סימני (Y≠0)$ .14 נתונה על הסרט מספרים X,Yבאונרית מופרדים ע"י ,#יש לכתוב על הסרט X % Yבאונרית תחום בין סימני (Y≠0)$ .15 נתונה על הסרט מילה מהשפה } L={ anbm |n>=mיש לכתוב על הסרט n-mבאונרית תחום בין סימני $ .16 בנה מכונת טיורינג המחשבת את הפונקציה f(x,y,z)=x+y-z:כאשר x,y,zמספרים חיוביים. התוצאה תהיה בין סימני $ .17 בנה מכונת טיורינג המחשבת את הפונקציהf(x)=3x : .18 בנה מכונת טיורינג המחשבת את הפונקציה ) f(x)=x / 2הערך השלם( .19 בנה מכונת טיורינג המחשבת את הפונקציה )f(x,y)=(x*y .20 בנה מכונת טיורינג המחשבת את הפונקציה f(x,y)=(x+y)2 © כל הזכויות שמורות 160 מכונת טיורינג 1פתרון ימין Y/Y ימין / ימין c/Z ימין c/Z ימין Y/Y q6 ימין Z/Z מכונת טיורינג © כל הזכויות שמורות 161 בנה מכונת טיורינג לשפה הבאה: n>=0 L= anbnc2n ימין X /X ימין Z/Z ימין b/b q4 שמאל c/Z q3 שמאל c/Z ימין Y/Y ימין a/a ימין b/Y q2 q1 q0 ימין a/X ימין Y/Y ימין / שמאל `Z/Z שמאל b/b שמאל Y/Y שמאל a/a q5 q4 ימין / ימין Y/Y ימין Z/Z בנה מכונת טיורינג לשפה הבאה: m>=n L= anbncm ימין X /X ימין Z/Z ימין b/b q3 שמאל c/Z q2 ימין Y/Y ימין a/a ימין b/Y q1 ימין a/X ימין / שמאל `Z/Z שמאל b/b שמאל Y/Y שמאל a/a © כל הזכויות שמורות q5 q0 ימין Y/Y q4 ימין / ימין Y/Y ימין Z/Z ימין c/Z 162 מכונת טיורינג בנה מכונת טיורינג לשפה הבאה: n>=m L= anbncm ימין X /X ימין Z/Z ימין b/b שמאל c/Z q3 שמאל / ימין Y/Y ימין a/a ימין b/Y q2 q1 q0 ימין a/X ימין Y/Y ימין / שמאל `Z/Z שמאל b/b שמאל Y/Y שמאל a/a q5 q4 ימין / ימין Y/Y ימין Z/Z בנה מכונת טיורינג המקבלת את כל המילים מעל א"ב { } a,bשיש בהן לפחות aאחד ולכל היותר b אחד. אם יש יותר מ bאחד ,המכונה לא תעצור. ימין b/b ימין a/a ימין q1 a/a q3 ימין b/b ימין / ימין / ימין b/b ימין a/a q4 q5 q0 ימין / ימין / ימין a/a q2 q4 ימין b/b ימין b/b ימין a/a ימין a/a © כל הזכויות שמורות 163 מכונת טיורינג דף תרגילים מספר -19נתונה מכונת טיורינג מהי השפה המתקבלת על ידי מכונת טיורינג ימין b/b , תרגיל 1 נתונה מכונת טיורינג ,מעל הא"ב {:}a,b,c ימין a/a , q2 ימין a/a , q1 q0 ימיןc/c, ימין a/a , q5 שמאל /, q4 ימין b/b , q3 ימיןa/a , ימיןa/a , ימיןb/b , q6 ימיןc/c , ימיןc/c , ימיןb/b , ימין/, שמאל /, q10 ימין a/a , q9 ימיןc/c, q8 שמאלa/a, q7 הצג את תהליך חישוב של המכונה על כל אחת מהמילים הבאותabac , cabc , bca, ba : .1.1תאר את קבוצת המילים מעל הא"ב { }a,b,cעבורן המכונה לא עוצרת. .1.2מהי השפה המתקבלת על-ידי מכונה זו? תרגיל 2 ימין a /a ימין b/b ימין c/c נתונה מכונת טיורינג ,מעל הא"ב {:}a,b,c מה מבצעת המכונה? q7 ימין a /a ימין b/a ימין c/a q4 שמאל /, q5 q8 שמאל /, שמאל /, q1 ימין a /a ימין b/b ימין c/c ימין a /b ימין b/b ימין c/b שמאל /, ימין a /c ימין b/c ימין c/c שמאל /, q5 ימין a/a q2 ימין b/b ימין c/c שמאל /, q9 © כל הזכויות שמורות q6 164 q3 ימין a /a ימין b/b ימין c/c מכונת טיורינג q0 תרגיל 3 מה מבצעת מכונת טיורינג הבאה? ימין 1/1 ימין 1/1 ימין /$ ימין 1/1 ימין /$ ימין /1 ימין /$ ימין /1 ימין /$ תרגיל 4 מה מבצעת מכונת טיורינג הבאה מעל }?{a,b שמאלa/a, שמאלb/b, ימיןX/X, ימין$/$, ימיןa/a, ימיןb/b, שמאל∆/a, q2 q4 ימין a/X, ימיןa/a, ימיןb/b, שמאלX/X, שמאל $/$, q1 שמאל∆/$, q0 שמאל $/$, q4 שמאלa/a, שמאלb/b, שמאל∆/b, q3 ימין b/X, ימיןX/X, ימין$/$, ימיןa/a, ימיןb/b, ימין ├/├, q6 מכונת טיורינג © כל הזכויות שמורות 165 כפל x>0 y>0 f(x,y)=x*y ∆∆∆├1111111#111$ xו yאונריים ומופרדים ב #ובסוף סימן $ ימין Y/Y שמאל 1/1 שמאל $/$ ימין 1/1 ימין $/$ שמאל ∆/1 ימין 1/1 ימין 1/Y ימין 1/X ימין #/# שמאל $/$ ימין #/# ימין X/X שמאל ∆/$ ימין 1/1 שמאל Y/1 שמאל 1/1 שמאל #/# פתרון ל 9 בנה מכונת טיורינג המקבלת מילה מעל א"ב { } a,bובודקת אם המילה היא: באורך זוגי ומסתיימת בaa - אם כך המכונה מקבלת אותה,אחרת יש למחוק את המילה מהסרט. הרעיון :בדיקת זוגיות תחילה ולאחר מכן בדיקה ששני האחרונים .a באם לא זוגי או אין שני aים הולכים לסוף וחזורים תוך מחיקה. a/ שמאל b/ שמאל q3 ימין ├├/ q2 שמאל / ימין a/a ימין a/a ימין b/b q1 ימין a/a ימין b/b ימין b/b q0 שמאל / q5 ימין b/b q5 q4 שמאל a/a שמאל a/a q6 © כל הזכויות שמורות 166 מכונת טיורינג פתרון שגוי ראשון a/ שמאל b/ שמאל q3 ימין ├├/ q2 שמאל / ימין a/a ימין b/b q1 ימין a/a ימין b/b שמאל a/a q0 שמאל / שמאל a/a q4 q5 פתרון שגוי שני a/ שמאל b/ שמאל q3 ימין ├├/ q2 שמאל / ימין a/a ימין b/b q1 ימין a/a ימין b/b q0 שמאל / b/ שמאל b/ שמאל q6 שמאל a/a © כל הזכויות שמורות 167 q4 q5 שמאל a/a מכונת טיורינג בנה מכונה השמה בסוף הסרט aים כמספר ה aים במילה ולאחריהם bים כמספר ה bים במילה תחומים בסימן דולר שמאלa/a, שמאלb/b, ימיןa/a, ימיןb/b, שמאל $/$, ימין $/$, ימיןb/b, שמאל∆/a, q3 q4 ימין a/X q2 שמאל $/$, ימיןX/X, ימיןb/b, q5 ימין a/a ימין $/$, q8 ימין b/Y q6 ימיןX/X, ימין $/$, ימין Y/Y q9 ימין∆/$, © כל הזכויות שמורות שמאל X/X, שמאל b/b, ימין ├/├, שמאל∆/b, q7 ימין ├/├, q1 שמאל∆/$, q0 שמאל $/$, ימין X/X שמאל X/X שמאלa/a, שמאלb/b, שמאלa/a, שמאלb/b, ימיןa/a, ימיןb/b, 168 ימיןa/a, ימיןb/b, מכונת טיורינג בנה מכונה השמה בסוף הסרט bים כמספר ה aים במילה ולאחריהם aים כמספר ה bים במילה תחומים בסימן דולר)דומה למכונה שמעליה( שמאלa/a, שמאלb/b, ימיןa/a, ימיןb/b, שמאל $/$, ימין $/$, ימיןb/b, q3 q2 שמאל∆/b, q4 ימין a/X שמאל $/$, ימיןX/X, ימיןb/b, q5 ימין a/a ימין $/$, q8 ימין b/Y q6 ימיןX/X, ימין $/$, ימין Y/Y ימין∆/$, © כל הזכויות שמורות שמאל X/X, שמאל b/b, ימין ├/├, שמאל∆/a, q7 ימין ├/├, q1 שמאל∆/$, שמאל $/$, ימין X/X שמאל X/X שמאלa/a, שמאלb/b, שמאלa/a, שמאלb/b, ימיןa/a, ימיןb/b, 169 q9 ימיןa/a, ימיןb/b, מכונת טיורינג q0 תבניות במכונת טיורינג הוספת דולר בסוף מילה מחיקה מילה ימין a/ ימין b/ שמאל b/b שמאל b/b שמאל a/a שמאל a/a ימין / ימין a/a ימין b/b /$ ימין ├├/ ימין ├├/ שמאל שמאל / )כמובן שאם נמצאים על תחילת המילה אזי אין צורך בהליכה שמאלה ( "הליכה לא עוצרת" )נעה סביב רווח ראשון( "הליכה לא עוצרת" )הליכה לאינסוף( ימין a/a ימין b/b ימין a/a ימין b/b ימין / ימין / שמאל / על כל 1עד הסימן $הפיכה ל Yוהוספת 1בסוף ימין Y/Y שמאל 1/1 שמאל $/$ ימין 1/1 ימין $/$ שמאל ∆/1 © כל הזכויות שמורות ימין 1/Y 170 מכונת טיורינג הערות למגן ולבגרות-דפי סיכום אס"ד=שפה רגולרית .1בדוק מהי המילה הקצרה ביותר המתקבלת בשפה והתחל ממנה את בנית האוטומט. .2בדוק האם מילים שאמורות להתקבל מתקבלות אך בדוק גם האם מילים שלא אמורות להתקבל לא מתקבלות. .3שפה שניתן לבנות לה אוטומט סופי הינה שפה רגולרית. .4ראה כי הינך מבין מהו :משלים היפוך חיתוך איחוד שרשור הכלה וחיסור שפות. .5אם יש תנאי או/גם והינך מתקשה לבנות את האוטומט העזר בטכניקה של אוטומט מכפלה. סגירות שפות רגולריות השפות הרגולריות סגורות ל משלים היפוך חיתוך איחוד שרשור. .6שרשור שפה ריקה לכל שפה שהיא יוצר שפה ריקה. .7שרשור מילה ריקה לכל שפה Lנותנת . L .8נא להבדיל בין שרשור שפה לשפה לשרשור מילה בשפה לאותה מילה בשפה. .9כשנאמר תאר מה השפה הנוצרת יש לרשום זאת באופן הפשוט והברור ביותר. .10ב Lאו ב ) Lמשלים של ( Lחייבת להופיע המילה הריקה. L U L .11הינו אוסף כל המילים האפשריות. תבנית להוכחת רגולריות של שפה הבנויה מתנאים מורכבים נתונה השפה Lמעל הא"ב { } המקיימת את התנאים הבאים" :התנאים" הוכח שהשפה רגולרית. הוכחה ננגדיר את השפות הבאות ונבנה אוטומט לכל שפה = L1הינה שפה מעל }{ המקיימת את תנאי א = L2הינה שפה מעל }{ המקיימת את תנאי ב = L3הינה שפה מעל }{ המקיימת את תנאי ג ******** L3……. פעולה L2פעולה L=L1 )במילה פעולה אנו מתכוונים לחיתוך או איחוד או משלים או שרשור או היפוך( אנו רואים כי ניתן לבטא את Lבעזרת השפות שבנינו. מסגירות משפחת השפות הרגולריות לפעולות החיתוך ,איחוד ,שרשור ,משלים והיפוך נובע ש Lרגולרית. © כל הזכויות שמורות 171 דפי סיכום תבנית הוכחה לשפה אי רגולרית } {=L הוכח שהשפה אינה רגולרית הוכחה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי Aהבונה אותה. )בחלק מהמקרים ניתן לבחור בשלב זה תת קבוצה( בואו ונבחן את הקבוצה האינסופית הבאה: } W = {w1 , w2 , w3 ,...התחלות של מילים בשפה .L כיוון ש Wאינסופית חייבים להיות בה לפחות שתי מילים שונות wj , wi wi כך ש ( =,≠,<,>) i ? J -מתוך הקבוצה Wהמגיעות לאותו מצב שאם לא כן אזי היה צורך באינסוף מצבים. q0 נסמן את המצב המשותף של שתי המילים ב q1באוטומט. q1 wj המילה wiשייכת לשפה לכן q2מצב מקבל והמילה wiw מתקבלת. יוצא שגם wj w - מתקבלת בשפה )המסלול מ q1ל q2משותף לשתי המילים( ,וזה בניגוד לכללי/חוקי השפה. wi q2 w q0 q1 w2 לכן ההנחה שהנחנו ששתי המילים מגיעות למצב משותף אינה נכונה ,אלא כל מילה מגיעה למצב אחר. ומאחר והקבוצה Wהיא אינסופית יוצא שכל מילה מגיע למצב אחר .ומכאן שיש אינסוף מצבים ב, A - בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה Lאינה נכונה ,והשפה אינה רגולרית. © כל הזכויות שמורות 172 דפי סיכום אוטומט מחסנית=שפה חופשית הקשר .12שפה שניתן לבנות לה אוטומט מחסנית הינה חופשית הקשר. .13ניתן להכניס למחסנית יותר מתו אחד להוציא מותר רק אחד. .14כל שפה רגולרית הינה גם חופשית הקשר. .15המחסנית לא חייבת להיות ריקה כאשר המילה מתקבלת. .16כוחו של אוטומט מחסנית לא דטרמיניסטי רב יותר מכוחו של אוטומט מחסנית דטרמיניסטי. .17 a nb m n,m0 אין פירושו ש nצריך להיות שונה מ m .18משפחת השפות חופשיות ההקשר סגורה תחת הפעולות איחוד ,שירשור ,היפוך ,חיתוך עם שפה רגולרית. .19כאשר בחזקה יש סימן מינוס יש לבצע הצבה .דוגמה anbn-mcm :נציב k=n-mמכאן נובע n=k+mונקבל ak+mbkcmואת זה פותרים כרגיל. תבנית להוכחת שפה חופשית הקשר הבנויה מתנאים מורכבים נתונה השפה Lמעל הא"ב { } המקיימת את התנאים הבאים" :התנאים" הוכח שהשפה חופשית הקשר. הוכחה ננגדיר את השפות הבאות ונבנה אוטומט מחסנית לכל שפה = L1הינה שפה מעל }{ המקיימת את תנאי א = L2הינה שפה מעל }{ המקיימת את תנאי ב = L3הינה שפה מעל }{ המקיימת את תנאי ג * * L3……. פעולה L2פעולה L=L1 )במילה פעולה אנו מתכוונים לאיחוד או שרשור או היפוך או חיתוך עם שפה רגולרית( אנו רואים כי ניתן לבטא את Lבעזרת השפות שבנינו. מסגירות משפחת השפות חופשיות ההקשר לפעולות האיחוד ,שרשור והיפוך נובע ש Lחופשית הקשר © כל הזכויות שמורות 173 דפי סיכום מכונת טיורינג .20ראה כי הינך מבין מהי מכונת טיורינג שאינה נעצרת. .21לכל שפה רגולרית או שפה חופשית הקשר ניתן לבנות מכונת טיורינג. .22לא ניתן לשנות את סימן ראש הסרט )הפעולה היחידה המותרת על ראש הסרט הינה ימינה ├ )├ / .23מצב מקבל לפי תוכנית הלימודים קיימת מוסכמה שבכל מכונת טיורינג יש מצב מקבל: באם המכונה בודקת האם מילה שייכת לשפה הרי מצב מקבל == אכן המילה משתייכת לשפה. למשל האם המילה aabbccשייכת לשפה anbncn באם המכונה מבצעת משהו למשל אם אורך המילה איזוגי מוסיפה aבסוף המילה אזי מצב מקבל == סיימנו את המשימה ובצענו אותה בהצלחה. בהמשך יש שאלות דוגמה לנושאים שונים © כל הזכויות שמורות 174 דפי סיכום אס"ד=שפה רגולרית בנה אוטומט מעל המספרים 0עד 9המקבל את כל המספרים המתחלקים ב 5ללא שארית (דוגמה )010 125 0,5 0,5 q1 q0 1,2,3,4,6,7,8,9 1,2,3,4,6,7,8,9 אוטומט לא דטרמיניסטי לכל אוטומט לא דטרמיניסטי ניתן לבנות אוטומט דטרמיניסטי אוטומט לא דטרמיניסטי מעל } {01,2,של המילים שהאות לפני האחרונה 1 0,1,2 0,1,2 q2 1 q1 q0 אוטומט לא דטרמיניסטי מעל } {01,2,של המילים המסתיימות ב 10 0,1,2 0 q2 1 q1 q0 אוטומט לא דטרמיניסטי מעל } {01,2,של המילים המכילות 111 0,1,2 0,1,2 q3 1 q2 1 q1 1 q0 דפי סיכום © כל הזכויות שמורות 175 אוטומט מכפלה (חתולים כלבים ועכברים) בתהלוכה שבה משתתפים עכברים חתולים וכלבים מתקיימים החוקים הבאים. התהלוכה מתחילה בכלב. אסור חתול שמשמאלו וימינו יהיו כלבים. בנה אוטומט סופי מתאים. חייבת להתחיל בכלב אסור חתול בין שני כלבים עכבר חתול כלב q6 חתול עכבר כלב q5 עכבר חתול כלב כלב חתול כלב q4 q3 q1 כלב q0 עכבר חתול עכבר חתול עכבר q2 בנית הטבלה עכבר q2 q3 q1 q3 q1 q3 q1 q3 חתול כלב q2 q3 q1 q5 q1 q3 q1 q3 q1 q4 q1 q4 q1 q6 q1 q4 q0 q3 q1 q4 q1 q5 q1 q3 האוטמט כלב 14 כלב עכבר כלב חתול 13 חתול עכבר 15 חתול עכבר © כל הזכויות שמורות 03 חתול עכבר כלב 2,3 1,6 עכבר חתול כלב 176 דפי סיכום עכבר חתול כלב הוכח שהשפה Lמעל } {a,b,cשבה כל מילה (מתחילה ב aאו מסתיימת ב ) cואינה מכילה את הרצף bbרגולרית. פתרון נגדיר את השפות הבאות ונבנה אוטומט לכל שפה. L1כל המילים המתחילות ב a L2כל המילים המסתיימות ב c L3כל המילים המכילות bb L1כל המילים המתחילות ב a a,b,c a b,c L2כל המילים המסתיימות ב c a,b,c c c a,b a,b L3כל המילים המכילות bb b b a,c a,b,c השפה המבוקשת Lהינה L ( L1 L2) L3 מסגירות משפחת השפות הרגולריות לפעולת החיתוך,איחוד,משלים )*( נובע ש Lרגולרית * אם משתמשים גם בשרשור אז יש להוסיף את המילה שרשור. * אם משתמשים גם בהיפוך אז יש להוסיף את המילה היפוך. © כל הזכויות שמורות 177 דפי סיכום a,c אוטומט מחסנית=שפה חופשית הקשר (שפה חופשית הקשר נקראת גם שפה חסרת הקשר) L=an+1b3n n0 בנה אוטומט מחסנית לשפה נציב את ה nהנמוך ביותר ונקבל את המילה aמכאן נובע המילה הקצרה ביותר a הרעיון: על ה aהראשונה לא נבצע מאומה על כל aנוסף נדחוף AAA על כל bנשלוף A דחוף aA | AAA ללש |┴a דחוף a┴ | SAA שלוף bA | A שלוף bS|S שלוף bA | A הוכח שהשפה Lמעל }L=anbmckczdz {a,b,c,d n,m,k,z>0,k≥n+m חופשית הקשר. נגדיר את השפות הבאות ונבנה אוטומט מחסנית לכל שפה. n m k b c L2=c d n,m,k>0,k≥n+m L1=a z z z>0 ללש|┴c דחוף aA| A דחוף bA| A שלוף cA|A שלוף cS|S שלוף cA|A דחוף aS | A Q1 שלוף bS|S דחוף bA| A דחוף a┴ | S שלוף bA| A q2 דחוף A┴| S L2 q0 שלוף bS| S q3 L=L1*L2 מסגירות משפחת השפות חופשיות ההקשר לפעולת השרשור נובע ש Lחופשית הקשר. © כל הזכויות שמורות L1 178 דפי סיכום מכונת טיורינג בנה מכונת טיורינג הבודקת האם מילה שייכת לשפה }L={ L=anbnck |k>=n ימין X /X ימין Z/Z ימין b/b q3 שמאל c/Z q2 ימין Y/Y ימין a/a ימין b/Y q1 ימין a/X q0 ימין Y/Y ימין / שמאל Z/Z שמאל b/b שמאל Y/Y שמאל a/a q5 q4 ימין / ימין c/Z ימין Y/Y ימין c/Z © כל הזכויות שמורות 179 q6 ימין Z/Z דפי סיכום בנה מכונת טיורינג המבצעת x f(x)=2xמספר אונרי ∆├111 הקלט הינו במבנה הבא הרעיון :תחילה לשים $לאחר ה ...111 לאחר מכן על כל אחד שנהפוך אותו ל Xנחליף 2רווחים ל 2אחדים לבסוף נוסיף $ המטרה :לקבל תוצאה תחומה בין שני סימני דולר $111111$ מקרים שכדאי לבדוק x :שווה לאפס. ימין X/X שמאל $/$ שמאל 1/1 שמאל ∆/1 הוספת $בסוף המילה ימין $/$ ימין 1/1 ימין ∆/1 שמאל 1/1 ימין 1/X ימין ├├/ ימין $/$ החלפת 2רווחים ל 2אחדים ימין ∆/$ ימין 1/1 הוספת $בסוף המילה © כל הזכויות שמורות 180 דפי סיכום ימין 1/1 שמאל ∆/$ סוגי שאלות (לא מלא) .1שפה רגולרית .1.1אוטומט סופי דטרמיניסטי .1.2אוטומט לא מלא .1.3אוטומט לא דטרמיניסטי .1.4הוכחת רגולריות בעזרת חוקי סגירות שפות רגולריות. .1.5ציור אוטומט/תאור אוטומט בעזרת טבלה .1.6מה עושה אוטומט נתון .1.7שקילות אוטומטים .1.8אוטומט מכפלה ככלי לפירוק בעיה לתתי בעיות והוכחת סגירות חיתוך ומשלים .2שפה חופשית הקשר .2.1אוטומט מחסנית .2.2אוטומט מחסנית לא דטרמיניסטי .2.3מה עושה אוטומט מחסנית נתון .2.4הוכחת שפה חופשיתסגירות שפות חופשיות הקשר .3מכונת טיורינג .3.1בנית מכונה לבדיקת תקינות שפה .3.2מכונה המבצעת פונקציה .3.3מה עושה מכונת טיורינג נתונה .3.4מעקב © כל הזכויות שמורות 181 כללי בגרויות מהבגרויות הושמטו החלקים שאינם שייכים לתוכנית הלימודים החדשה תשמ"ז תאר באמצעות גרף וטבלה אוטומט סופי דטרמיניסטי שיקבל את כל המחרוזות מעל לא"ב ) (a,b,cהמקיימות את שני התנאים הבאים: מופיע בהו abaabכתת מחרוזת. הן אינן מסתיימות ב .c לדוגמא acabaabcab : לא תתקבלנה תתקבל aaaacb abaabc תחילה נבנה את השרשרת המובילה למצב מקבל. b a a נשלים את האוטומט b a a,b b q5 c a b q4 a q3 a a q2 b q1 b,c a c q0 a,b b,c c q6 c c את טבלה עליך לרשום. © כל הזכויות שמורות 182 בגרויות טיורינג תשמ"ח תאר באמצעות גרף אוטומט סופי דטרמיניסטי שיקבל את כל המחרוזות מעל לא"ב { }0,1המקיימת את שני התנאים : מופיעה בהן 000כתת מחרוזת בדיוק פעם אחת. אין בהן כלל מופעים של 00פרט לאלה שבמופע של .000 דגמה: ו 000111101 ו 100011001 המחרוזות 0110100011101 0101011 המחרוזות תתקבלנה לא תתקבלנה פתרון 1 1 1 1 1 0 0 1 0 0 0 0 1 0,1 תשמ"ח 1 0 1 0 M1 0 1 0 1 M1 S0 S2 S2 1 0 S0 S2 S2 1 0 S1 S2 S2 0 0 S1 S2 S2 0 0 S2 S0 S0 1 0 S2 S0 S0 1 0 S3 S0 S0 0 0 S4 S1 S1 0 0 א .שרטט גרף מצבים של האוטומטים . M1 M2האם יש קשר מיוחד בין שני האוטומטים ?.הסבר. © כל הזכויות שמורות 183 בגרויות טיורינג תשמ"ט תאר באמצעות גרף אוטומט סופי דטרמיניסטי שיקבל את כל המחרוזות מעל ל א"ב {{a,b,c המקיימות את התנאי הבא : יש במחרוזת 2מופעים עוקבים של bcשביניהם אין יותר ממופע אחד של aדוגמהbccbcacabbca : cabbcacabcabcמתקבלים babcaabbacbcc abcacabcabaabc a,b,c לא תתקבלנה b a,c b c b c a c b a a b b c a a © כל הזכויות שמורות 184 בגרויות טיורינג תשן א .תאר במילים את השפה המוגדרת על ידי האוטומט הבא: a b S1 S0 S0מקבל S1 S0 S1מקבל S2 S2 S2 תשנב b b א .תאר במילים מהי השפה המתקבלת על ידי האוטומט הבא: a ב .רשום אוטומט סופי דטרמיניסטי ,שיקבל את כל המחרוזות מעל ה א"ב } { a,bהמכילות aaאו bb a a b פתרון א .המילים המתקבלות :כל המילים שמספר aים שארית 3שווה .0 a a a,b a b © כל הזכויות שמורות 185 b b בגרויות טיורינג תשנג א .בנה אוטומט סופי דטרמיניסטי ,המקבל את אוסף המחרוזות מעל } {0,1המתחילות ומסתיימות ב 0 ומכילות מספר זוגי של 1ים 0 ) .פעמים הוא מספר זוגי(. פתרון א .האוטומט 0 0 1 1 0 0 1 1 0,1 תשנד א .בנה אוטומט סופי דטרמיניסטי המקבל את אוסף כל המילים מעל ה א"ב{ {a,b,cשבהן מופיע גם aוגם . b פתרון האוטומט a,c c b a a,b,c b a b,c תשנ"ה את כל המחרוזות מעל } {a,bניתן לחלק לשתי קבוצות זרות זו לזו שתיקראנה "שפה א" ו "שפה ב" .לפניך אוטומט שמקבל את "שפה א" a,b a b b a א .תאר מילולית מהי "שפה א". ב .בנה אוטומט סופי דטרמיניסטי המקבל את "שפה ב" פתרון א .השפה מקבלת כל מילה שאין בה b 2ים ברצף ומסתיימת ב .a a,b a ב .מצב מקבל הופך ללא מקבל ולהפך. b b © כל הזכויות שמורות 186 בגרויות טיורינג a תשנ"ט 22 א .בנה אוטומט סופי דטרמיניסטי ,המקבל את אוסף המילים מעל הא"ב } {a,bובהן לפחות שני aולכל היותר bאחד. a פתרון a א .האוטומט הלא מלא: b a a a b a b a תש"ס תש"ס 24 האם השפה שלפניך היא רגולרית? הוכח } k i,j,k ≥0היא השארית המתקבלת מחלוקת iבשלוש | L={aibjck תש"ס 25 האם השפה שלפניך חופשית הקשר? הוכח }i,j ≥1 iזוגי jאי זוגי | L={aibjci/2 תש"ס 26 Mאוטומט סופי דטרמיניסטי לא מלא .נסמן ב Lאת השפה המתקבלת על ידי .Mנבנה אוטומט ' Mמתוך M באופן הזה :האוטומט ' Mיהיה זהה לאוטומט Mאבל כל מצב שהוא מצב מקבל של Mיהפוך למצב שאינו מקבל ב ' Mוכל מצב שאינו מקבל ב Mיהפוך למצב מקבל ב '.M נסמן ב ' Lאת השפה המתקבלת על ידי '.M א .האם ' Lמוכל שווה למשלים של ?Lנמק. ב .האם משלים של Lמוכל שווה ל ' ? Lנמק. ג .האם ' Lשווה ?Lנמק. © כל הזכויות שמורות 187 בגרויות טיורינג תש"ס 27 Mמכונת טיורינג .א"ב הקלט הוא } .{a,bא"ב המכונה הוא .Øקבוצת המצבים הינה }.{q0,q1,q2 המצב ההתחלתי הינו .q0קבוצת המצבים המקבלים הינה }.{q2 קבוצת המעברים הינה: }ימין{q0,a,q0,a, }ימין{q0,b,q0,b, }שמאל{q0,∆,q1,∆, }שמאל{q1,a,q1,∆, }ימין{q1,b,q1,b, } שמאל{q1, ∆,q0, ∆, } ימין{q1, ├,q2,├, א .לפניך שתי מיליםaaaa abbaa : קבע עבור כל מילה אם היא מתקבלת על ידי המכונה ?M א .מהי השפה המתקבלת על ידי המכונה ?M ב .האם המכונה עוצרת לכל מילת קלט? אם כן – נמק ,אם לא-בנה מכונת טיורינג שתעצור לכל קלט ותקבל אותה השפה. תשס"א תשס"א 11 בנה אוטומט סופי דטרמיניסטי עבור השפה Lמעל הא"ב }{a,b }L={aibjak | i,j,k >0, i % 2 =0, ( j+k) % 2=1 פתרון a,b האוטומט: b b a a a b a b b b © כל הזכויות שמורות 188 a a b a בגרויות טיורינג תשס"א 13 לפניך השפה Lמעל הא"ב }{a,b,c { L= { an+kbncf | 0< n,k,f הוכח שהשפה Lחופשית הקשר. פתרון על מנת להוכיח שהשפה חופשית הקשר צריך לבנות לה אוטומט מחסנית או לפרק אותה לשפות ולהראות בניה שלה על פי החוקים .אנו פשוט נבנה אוטומט מחסנית. ללש |cA ללש |cS שלוף bA|A q3 ללש |cA ללש |cS דחוף aA| A שלוף bA|A q2 דחוף a┴| S q1 q0 מספר ה aים לפחות .2 תשס"א 14 קבע לכל אחת מהשפות אם היא רגולרית או לא רגולרית: { Wו Xמילים מעל הא"ב }| {a )L1= { WcXcR(W { Wו Xמילים מעל הא"ב }| {a,b )L2= { WcXcR(W { Wו Xמילים מעל הא"ב }L3= { WR(W)cXR(X) | {a { Wו Xמילים מעל הא"ב }L4= { WR(W)cXR(X) | {a,b { Wו Xמילים מעל הא"ב }| {a L5= { WcR(W)cW א .העתק את שמות השפות L1עד L5למחברתך ורשום ליד כל שפה האם היא רגולרית ,חופשית הקשר ולא רגולרית ,אינה חופשית הקשר. ב .מבין שפות אלה בחר אחת שהיא חופשית הקשר ולא רגולרית והוכח שהשפה בחרת חופשית הקשר .אם יש יותר משפה אחת כזו בחר באחת מהן כרצונך. © כל הזכויות שמורות 189 בגרויות טיורינג תשס"א 15 התבונן בשפות שלפניך: n,m ≥0 | L1 = {anbm kהיא השארית המתקבלת מחלוקת nב ,3 tהיא השארית המתקבלת מחלוקת mב ,3 } k>t | n,m ≥0 L2 = {anbman kהיא השארית המתקבלת מחלוקת nב ,3 tהיא השארית המתקבלת מחלוקת mב ,3 } k=t n,m ≥0 m ≥n | L3 = {anbm kהיא השארית המתקבלת מחלוקת nב ,3 tהיא השארית המתקבלת מחלוקת mב ,3 } k=t } mזוגי nאי זוגי n,m ≥0 | L4 = {anbman ג .העתק את שמות השפות L1עד L4למחברתך ורשום ליד כל שפה האם היא רגולרית או אינה רגולרי. ד .מבין שפות אלה בחר אחת שאינה רגולרית והוכח שאינה רגולרית .אם יש יותר משפה אחת כזו בחר באחת מהן כרצונך. © כל הזכויות שמורות 190 בגרויות טיורינג תשס"א 16 נתונה השפה Lמעל הא"ב }{a,b j+kאי זוגי L= { aibjak | 0< i,j , { iזוגי הוכח שהשפה Lרגולרית בהסתמך על כך שהשפות L1-L6רגולריות { L1= { ai | 0< i { L2= { bi | 0< i { wמכילה מספר זוגי של אותיות aומספר זוגי של אותיות L3= { w | b { wמכילה מספר אי-זוגי של אותיות aומספר אי-זוגי של אותיות L4= { w | b { wמכילה מספר זוגי של אותיות aומספר אי-זוגי של אותיות L5= { w | b { wמכילה מספר אי-זוגי של אותיות aומספר זוגי של אותיות L6= { w | b אין חובה להשתמש בכל השפות האלה אך אין להשתמש בשפות שאינן מוזכרות. הפתרון { ))L= { (L1∩L3) * (((L2*L1) ∩(L3υL6 תשס"ב 13 לפניך השפה Lמעל הא"ב }{a,b,c { kמתחלק ב 3ללא שאריתL= { ambnck | 0<m , m<n , k=n-m , הוכח שהשפה Lהינה חופשית הקשר)בנה אוטומט מחסנית שיקבל את השפה .( L פתרון (חלקי-השלם) נתון k=n-m נעביר אגף ונקבל m+k=nנציב ונקבל L= ambm+kck= ambmbkck m<nגורר שקיים לפחות cאחד שאז מספר ה bים יהיה גדול ממספר ה aים. 0 < mגורר שקיים לפחות aאחד . © כל הזכויות שמורות 191 בגרויות טיורינג תשס"ב 14 לפניך מכונת טיורינג .המכונה מקבלת כנתונים שני מספרים אי-שליליים)יתכן (0הכתובים באונארית בהתאם לשיטת הרישום המקובלת. ה .מה יכיל הסרט לאחר מעבר על קלט של שני המספרים 2ואחריו ?3הראה מעקב אחר סרט המכונה עד עצירתה. ו .מהי הפונקציה שהמכונה מחשבת? הסבר. ז .האם המכונה מחשבת את הפונקציה עבור כל קלט של זוג מספרים אי-שליליים)יתכן ?(0נמק. שמאל 1/1 q5 ימין 1/1 שמאל 1/$ q4 שמאל ∆1/ q3 שמאל ∆∆/ ימין ├├/ q2 ימין #/1 q0 ימין 1/1ימין 1/1 q1 q8 ∆ ימין 1/$ q7 ימין ∆1/ q6 תשס"ב 15 נתונות שתי השפות T,Lמעל הא"ב }.{a,b Lאוסף המילים המתחילות באות .a Tאוסף המילים המתחילות ומסתיימות באותה אות כולל המילה הריקה. לפניך שלוש טענות .קבע לגבי כל אחת מהן אם היא נכונה או שלא ונמק. (T T ) L ababaab Є.1כן שרשור המילה הריקה )שייך ל (Tל מילה שלנו ששייכת ל Tוגם מתחילה ב a . T T T .2 .3 לא כי שרשור aaעם bbנותן מילה שלא מתחילמ ומסתיימת באותה האות. )R(L) ≥ (L∩T © כל הזכויות שמורות 192 בגרויות טיורינג תשס"ב 16 נתונות ארבע השפות L1-L4 } L1= { cnbn+1 | n≥ 0 } שארית החלוקה של nבשלוש שווה L2= { cnbn+1 | n≥ 0 , 2 } שארית החלוקה של nבשלוש שונה מ L3= { cnbn+1 | n≥ 0 , 2 }מילים מעל הא"ב } {a,b,#המתחילות ומסתיימות ב L4= { # נגדיר את שלוש השפות הבאות : L5,L6,L7 .1 L5= L2∩L3 .2 L6= L42 .3 L7= L1*L2 עבור כל אחת מהשפות ענה על שני הסעיפים א' ו ב'. א. הצג את השפה הפשוטה ביותר האפשרית. ב. קבע אם השפה "רגולרית" או "חופשית הקשר" ולא רגולרית או "אינה חופשית הקשר" ונמק את תשובתך. פתרון .1 רגולרית. .2 רגולרית. .3 חופשית הקשר. © כל הזכויות שמורות 193 בגרויות טיורינג תשס"ג 11 לפניך השפה Lמעל הא"ב }{a,b,c =L אוסף כל המילים שבהן המספר הכולל של אותיות bבמילה מתחלק ב 3בלי שארית, וגם המספר הכולל של אותיות cמתחלק ב 2ללא שארית. בנה אוטומט סופי דטרמיניסטי שיקבל את השפה . L a פתרון 11 ספרה שמאלית=שארית חלוקת bב 3 c c ספרה ימנית = שארית חלוקת cב 2 a b b 10 b b a a 20 a 00 b c c a c c 21 01 b תשס"ג 12 לפניך השפה Lמעל הא"ב }{a,b,c השפה Lכוללת מילים הבנויות מרצף של תת-מילים במבנה ambm-1c :כאשר . m2 מילה בשפה Lיכולה לכלול תת-מילים שה mבהן שונה .המילה הריקה אינה כלולה בשפה. בנה אוטומט מחסנית שיקבל את השפה . L פתרון שלוף bA|A דחוף aA|A שלוף bA|A דחוף a┴|A ללש |┴a ללש |┴c ללש |┴a © כל הזכויות שמורות 194 בגרויות טיורינג תשס"ג 13 לפניך השפה Lמעל הא"ב }{a,b אוסף כל המילים שבהן מספר ה aים מתחלק ב 2ללא שארית וגם הרצף abaמופיע במילה. הוכח שהשפה רגולרית. a,b a,b a a b ,b ,b a a L1שפה המכילה abaרגולרית )בנינו אוטומט סופי לא דטרמיניסטי( L2שפה שבה מספר ה aים זוגי) .בנינו אוטומט סופי דטרמיניסטי( השפה המבוקשת Lהינה חיתוך של L1ו L2ומחוקי הסגירות נובע שגם היא רגולרית. © כל הזכויות שמורות 195 L1 בגרויות טיורינג L2 תשס"ג 14 לפניך השפה Lמעל הא"ב }. {a,b,c השפה Lכוללת מילים הבנויות מרצף של תת מילים במבנה anbn-1cכאשר .m≥2מילה בשפה Lיכולה לכלול תת מילים שה mבהן שונה .המילה הריקה אינה כלולה בשפה. דוגמאות של מילים בשפה aaaabbbcaabc aaaaabbbbc aabcaabcaabc הוכח שהשפה הינה חופשית הקשר. תשס"ג 15 נתונות חמשת השפות L1-L5 } L1= { anb2a2n | n≥ 1 } L2= { a2nbna2 | n≥ 1 } L3= { a2nb2a2 | n≥ 1 } L4= { anb2nan | n≥ 1 } L5= { a2b2na2m | n,m≥ 1 א .עבור כל אחת מהשפות קבע אם השפה "רגולרית" או "חופשית הקשר" ולא רגולרית או "אינה חופשית הקשר" ונמק את תשובתך. ב .מבין השפות קבע אחת שאינה רגולרית והוכח שהיא אינה רגולרית. תשס"ג 16 נתונות ארבעת השפות L1-L4מעל הא"ב }{a,b } אוסף כל המילים בהן מספר ה aב wזוגי | L1= { w } אוסף כל המילים בהן מספר ה aב wאי-זוגי | L2= { w } L3= { anbm | n,m ≥ 0 } L4= { bnam | n,m ≥ 0 לפניך חמש טענות .קבע לכל אחת מהם אם היא נכונה או לא ונמק את קביעתך. )aba Є (L1∩L2 משלים )L2 = ( L1 } n,m n,m ≥ 0זוגי | L1∩L2∩L3={ anbm }L3∩L4={ε } L3*L4={ anbn+mam | n,m ≥ 0 © כל הזכויות שמורות 196 בגרויות טיורינג תשס"ד 13 לפניך השפה Lמעל הא"ב }{a,b,c השפה Lכוללת מילים המתחילות ב bומסתיימות ב bמספר ה aים זוגי ויש להן לפחות cאחד. בנה אסד מתאים הפתרון: c q7 a c b q6 b b,c q5 b a c a,b,c a q4 a 1 c c a q3 a b © כל הזכויות שמורות q1 197 a,c q2 b q0 b בגרויות טיורינג תשס"ד 14 נגדיר פעולה חדשה על השפות La Lb Lcבאופן הזה: ) La#(Lb,Lcהיא קבוצת כל המילים הנמצאות ב Laאך לא נמצאות Lbוגם לא נמצאות ב .Lc א .לפניך שלוש שפות L1,L2,L3מעל הא"ב }{a,b } L1= { anbman | n,m > 0 } מספר אותיות aשונה ממספר אותיות L2= {b } מספר אותיות bהוא אי-זוגי{ =L3 (1 תן דוגמה למילה באורך גדול מ 4השייכת לשפה ) .L1#(L2,L3הסבר מדוע המילה שייכת לשפה זו. (2 תן מילה באורך 4לפחות שאינה שייכת לשפה ) . L1#(L2,L3הסבר מדוע אינה שייכת לשפה זו. (3 תאר את אוסף המילים בשפה )L1#(L2,L3מעל הא"ב }. {a,b ב. נתון כי La Lb Lcהן שפות רגולריות. הוכח שהשפה ) La#(Lb,Lcהיא רגולרית. תשס"ד 15 נתונות שלושת השפות L1-L3 } L1= { anbn | n> 0 } L2= { anbndakbk | n,k≥ 0 } כל המילים מעל } {a,bהמכילות את הרצף L3= {ba לפניך חמש טענות: aaaabbbb Є L1*L1 )R(L1)*d*R(L1) < R(L2 }L1∩L2=(L2 υ L3)∩ {d L1=R(L3)∩L1 משלים L3מוכל ב L1 קבע לכל אחת מהטענות אם היא נכונה או לא ונמק את קביעתך. © כל הזכויות שמורות 198 בגרויות טיורינג תשס"ד 16 בנה מכונת טיורינג שעל סרט הזיכרון שלה תהיה מילת קלט לא ריקה מעל הא"ב } . {a,bהמכונה תכתוב את האות האחרונה במילה במקום האות הראשונה .כל האותיות האחרות לא ישתנו. לדוגמה בעבור סרט הזיכרון שלהלן לפני תחילת פעולתה: ... b b a a a ├ סרט הזיכרון בסוף הפעולה יראה: ... b b a a b ├ שמאל a/a , שמאל b/b , ימין a/a , q5 ימין a/b , q4 ימין ├/├ , ימין b/b , q2 שמאל b/b , q1 q7 ימין b/a , q6 ימין ├/├ , שמאל / , q0 שמאל a/a , q3 שמאל a/a , שמאל b/b , © כל הזכויות שמורות 199 בגרויות טיורינג תשס"ה 13 לפניך השפה Lמעל הא"ב }{a,b { m+nזוגי L= {ambnan |n,m >0 בנה אוטומט מחסנית שיקבל את השפה .L שלוף aA|A דחוף bA| A דחוף bS| A שלוף aA|A דחוף bA| A דחוף bS| A דחוף b┴| S שלוף aS|Sשלוף aS|S דחוף b┴| S ללש |┴a ללש |┴a ללש |┴a )גרסה שונה במעט לשאלה שלעיל( לפניך השפה Lמעל הא"ב }{a,b { m+nזוגי L= {ambnan |n >0 m≥0 בנה אוטומט מחסנית שיקבל את השפה .L שלוף aA|A דחוף bA| A דחוף bS| A שלוף aA|A דחוף bA| A דחוף bS| A שלוף aS|S דחוף b┴| S דחוף b┴| S ללש |┴a ללש |┴a © כל הזכויות שמורות 200 בגרויות טיורינג תשס"ה 14 בנה מכונת טיורינג שתתקבל כקלט מילה מעל הא"ב }{a,b,c המכונה תבדוק אם לפני כל אות aיש cאחד לפחות .אם כן המכונה תעצור במצב מקבל ,אם לא המכונה לא תעצור .אם הקלט הוא המילה הריקה המכונה תעצור במצב מקבל. תשס"ה 15 נתונות שלוש השפות L1-L3 } | n≥ 0 } nזוגי n n+2 L1= { a b L2= { anbm | n,m≥ 1 } L3= { a2nbn+3 | n≥ 0 א .עבור כל אחת מהשפות קבע אם השפה "רגולרית" או "אינה רגולרית" .נמק את קביעותיך. ב .מהי השפה ? L1∩L2נמק. ג .האם מספר ה bים במילה שייכת ל ) L2*R(L2הוא זוגי? נמק. ד .קבע לכל אחת מהמילים הבאות אם היא שייכת לשפה )∩L3משלים (L1 w1=aaaabbbbb w2=bbb © כל הזכויות שמורות 201 בגרויות טיורינג תשס"ה 16 ללימודים במכללה מסוימת מתקבלים תלמידים על פי ציוניהם בבחינות הבגרות. הקריטריונים לקבלה ללימודים במכללה הם אלה: תעודת בגרות ובה לפחות 5מקצועות. הציונים במתמטיקה הציונים במתמטיקה אנגלית ומקצוע נוסף צריכים להיות גבוהים מ 83 כל הציונים חייבים להיות גבוהים מ .74 במכללה מקודדים את הציונים באופן הבא: A: 100-95 B: 94-85 C: 84-75 D: 74-55 האותיות המיצגות את הציונים מוקלדות כמחרוזת משמאל לימין באופן הזה: האות הראשונה שמוקלדת מייצגת ציון במתמטיקה. האות השנייה שמוקלדת מייצגת ציון באנגלית. לאחר מכן מוקלדות האותיות המייצגות את שאר הציונים. א .לפניך 5מחרוזות .קבע לכל אחת אם התלמיד יתקבל או לא יתקבל ללימודים במכללה .נמק את קביעותיך. .a AACCCCBBCA ABABDBB .b BBBBBBA .c AAAA .d AACCCC .e ב .בנה אס"ד מתאים. © כל הזכויות שמורות 202 בגרויות טיורינג תשס"ו 13 לפניך השפה Lמעל הא"ב }{a,b,c { kהיא השארית מחלוקת nב L= {(ab)nan+2ck|n>0 2 בנה אוטומט מחסנית שיקבל את השפה L שלוף |aA ללש |┴c ללש |┴a שלוף |aA ללש |aA דחוף bA|A דחוף b┴|A ללש |┴a ללש |aA דחוף bA|A שלוף |aA ללש |┴a שלוף |aA © כל הזכויות שמורות 203 בגרויות טיורינג תשס"ו 14 לפניך ארבעת השפות מעל הא"ב }{a,b L1= {aibk|i,k≥0 { i+kמתחלק בשלוש ללא שארית L2= {aibkai|i,k≥0 { iהשארית המתקבלת בחלוקת kבשלוש { iמתחלק בשלוש ללא שארית k,מתחלק בשלוש ללא שארית L3= {aibk|i,k≥0 L4= {aib3iak|i,k≥0 { kמתחלק בשלוש ללא שארית א .לכל אחת מהמילים הבאות קבע לאיזו שפה או שפות היא משתייכת? נמק קביעותיך. w1=aaa .a w2=abbbaaa .b ב .לכל אחת מהשפות L1עד L4קבע באם היא רגולרית? נמק קביעותיך. פתרון א W1 .משתייכת לשפות )L3(k=0 i=3) L4(i=0 )L1(i=3 k=0 W2משתייכת לשפותL4 תשס"ו 15 לפניך השפות L1 L2 L3מעל הא"ב }{a,b,c L1= {cibkak|i,k≥0 { { wמילה מעל הא"ב }L2= }w*R(w) {a,b,c L3= {aibick ||i,k≥0 { א .בעבור כל אחת מהשפות הבאות L1∩ L3 (1 L2∩ L3 (2 רשום מילה לא ריקה השייכת לשפה שהאורך שלה הוא הקצר ביותר. הסבר מדוע היא שייכת לשפה ומדוע היא המילה הלא ריקה הקצרה ביותר. ב .מהי השפה .(L1*L3)∩L2נמק. ג .לכל אחד מסעיפים הבאים קבע אם הוא נכון או לא נכון .נמק את קביעותיך. R(L2)=L2 (1 R(L1)=L3 (2 © כל הזכויות שמורות 204 בגרויות טיורינג תשס"ו 16 מכונת הגרלות מגרילה בכל פעם ספרה אחת מבין הספרות . 0,1,2 רצף הגרלות חוקי מקיים את שלושת התנאים הבאים: הוגרלה לפחות ספרה אחת. מספר ספרות ה 0שהוגרלו +מספר ספרות ה 1שהוגרלו הוא זוגי. אם הוגרלה הספרה 2היא לא הוגרלה מיד לאחר ספרה . 2 דוגמה לרצפים חוקיים021211020 , 1010 , 1112111 : דוגמה לרצפים לא חוקיים02211020 , 01010 , 111 : בנה אוטומט סופי דטרמיניסטי שיבדוק אם רצף הגרלות הוא חוקי. © כל הזכויות שמורות 205 בגרויות טיורינג תשס"ז 13 בעבור כל אות בא"ב } {0,1נגדיר פעולת "ניגוד" שמסומנת באופן הבא: ~ ~ 10 0 1 הניגוד של מילה ריקה הינה מילה ריקה. הניגוד של מילה כלשהי הינה הפיכת 0ל 1ו 1ל . 0 דוגמה :אם wשווה 10010אזי הניגוד שלה הינו 01101 : בעבור שפה כלשהי Lמעל } {0,1נגדיר את השפות L1 L2 L3באופן הבא: }L1 = { ~w | w Є L }L2 = { R(w) | w Є L }L3 = {w*R(w) | w Є L (1 בעבור כל אחת משהפות הבאות רשום את השפות המתאימות L1 L2 L3 L= {0n | n≥0 { { wמילה מעל הא"ב }{0,1 { n,k≥ 0 | L= {0w0 | L= {0n (01)k (2 .aרשום שפה לא ריקה Lשבעבורה מתקיים L1=L .bרשום שפה לא ריקה Lשבעבורה מתקיים L1=L2וגם L≠L1 תשס"ז 14 לפניך חמשת השפות מעל הא"ב }{a,b { L1= {abn| n≥0 { L2= {anbm| n,m≥0 n≠m { L3= {bmanbm| n,m≥0 { L4= {abnbma| n,m≥0 n≠m { L5= {abnbma| n,m>0 n>m ג. רשום מילה שנמצאת ב ) L1*R(L1ולא נמצאת ב . L5נמק תשובתך. ד. רשום מילה הנמצאת בשפה L4ולא נמצאת בשפה . L5נמק תשובתך. ה. רשום מילה שנמצאת ב ) L2*R(L2ולא נמצאת ב . L5נמק תשובתך. ו. רשום מילה שנמצאת ב L3ולא נמצאת בשפה ) .L2*R(L2נמק תשובתך. ז. האם L5שווה ) . R(L5נמק תשובתך. © כל הזכויות שמורות 206 בגרויות טיורינג תשס"ז 15 בנה מכונת טיורינג שתחשב את הפונקציה שלפניך: { שארית החלוקה של xבשלוש , F(x) = { x≥0 המכונה תקלוט מספר אונרי הרשום על הסרט על ידי xתווים של 1ותרשום על הסרט כפלט ותרשום על הסרט כפלט את הערך המחושב על ידי הפונקציה כמספר אונרי המופיע בין שני סימני . $הפלט יכול להיכתב בכל מקום על פני הסרט. q6 ימין /$, ימין /1, q4 q5 ימין /$, ימין /1, q3 ימין /$, ימין 1/1 , ימין 1/1 , q1 q2 ימין /$, q0 ימין 1/1 , תשס"ז 16 (1 בנה אוטומט סופי דטרמיניסטי מעל הא"ב } {a,bהמקבל את כל המילים שיש בהן הרצף . aba (2 בנה אוטומט סופי דטרמיניסטי מעל הא"ב } {a,bהמקבל את כל המילים שאין בהן הרצף . bab (3 בנה אוטומט סופי דטרמיניסטי מעל הא"ב } {a,bהמקבל את כל המילים שיש בהן הרצף abaואין בהן הרצף . bab © כל הזכויות שמורות 207 בגרויות טיורינג פתרון מופיע aba a,b b a a a b b לא מופיע bab a,b a b b b a a מופיע abaוגם לא מופיע bab a a a b b a a b a b b a b a,b © כל הזכויות שמורות b a b 208 בגרויות טיורינג תשס"ח 13 נתונה מחרוזת אינסופית …3123123123123…. א .בנה אוטומט סופי דטרמיניסטי מעל הא"ב } {1,2,3המקבל את כל המילים באורך אי-זוגי שכל אחת מהן היא תת-מחרוזת של המחרוזת הנתונה. המילים 212 2312:לא יתקבלו. למשל 23123 123 :יתקבלו. ב .בנה אוטומט סופי דטרמיניסטי מעל הא"ב } {1,2,3המקבל את כל המילים שהן באורך אי- זוגי וסדר הספרות בהן הוא כמו הסדר במחרוזת הנתונה אך הספרה 1יכולה לחזור כמה פעמים ברצף. לדוגמה 3112311 31231 31123 :יתקבלו. 1 3 3 1 2 פתרון א 2 1 2 3 1 3 1 1 פתרון ב 2 3 2 1 1 2 3 © כל הזכויות שמורות 209 בגרויות טיורינג תשס"ח 14 בעבור אות kומילה wהסימון ) #k(wהוא מספר המופעים של האות kבמילה . w לפניך השפות L1-L5מעל הא"ב }{0,1 }| |w| >5 L1= {w }| #1(w) <5 L2= {w }| #1(w)=5 , #0(w)=5 L3= {w })| #1(w) = #0(w L4= {w | w=xxy L5= {w } y,xמילים לא ריקות מעל {0<|x|<5 }0,1 א .רשום מילה השייכת ל L4ולא שייכת לשפה . L3נמק תשובתך. 01 ב .רשום מילה השייכת ל L1ולא שייכת לשפה . L2נמק תשובתך. 111111 ג .רשום מילה השייכת ל L5ולא שייכת לשפה . L2נמק תשובתך. 1110111011 ד .הגדר כל אחת מהשפות הבאות: 2 .a } | #1(w)≥5 {w _ L .b 3 }| #1(w)≠5 } υ {w | #0(w) ≠5 ה .לכל אחת מהטענות הבאות נמק מדוע איננה נכונה: L1∩L2=Ø .a _ 3 L .bמוכל ב L4*L4≠L4 .c המילה 110000מופיעה בשתיהן _ 4L כי המילה הריקה מתקבלת ב L4ולכן ... L5∩L3=Ø .d © כל הזכויות שמורות 210 בגרויות טיורינג {w תשס"ח 15 נגדיר את השפה L1מעל הא"ב }{a,c לפניך השפה Lמעל הא"ב }{a,b,c }L1= {cnan+2|n>0 }L= {w1 w2 w3…… wkbk | k>0 wi Є L1 לדוגמה :המילה caaaccaaaacaaabbbהיא מילה ב Lכאשר k=3וכן W1= caaa w2=ccaaaa w3=caaa בנה אוטומט מחסנית שיקבל את השפה .L הרעיון :על כל cנכניס Cעל כל aנוציא Cעל ה aהראשון ללש ועל ה aהשני נכניס B על כל bנשלוף . B דחוף cA | A שלוף bB |B שלוף bS|S שלוף aA | A שלוף bB|B ללש |aS ללש |aS ללש |aB ללש |aB שלוף bS|S © כל הזכויות שמורות דחוף c┴ |SA שלוף bA| A דחוף cC|BA דחוף cS|BA 211 בגרויות טיורינג תשס"ח 16 כלבים חתולים ועכברים ...ראה אוטומט מכפלה. תשס"ט 13 בתרגיל זו שני סעיפים א ו ב שאין קשר ביניהם .ענה על שניהם. א .לפניך אוטומט סופי ; a a q4 a,b b q3 a a b a q5 5 a,b q2 q1 b b a b b a q6 a q7 q0 q8 a b q9 0 b a קבע לכל אחת מהמילים שלפניך אם היא מתקבלת על ידי האוטומט. אם המילה מתקבלת על ידי האוטומט רשום מסלול מקבל בעבור מילה זו. babbaaa aababaaa aaabbba כתוב את כל המילים הקצרות ביותר המתקבלות על ידי האוטומט. ב .נתונות השפות הבאות מעל הא"ב }{a,b { L1={ an bk n≠k n,k ≥ 0 { L2={ bi aj n≠k i ≥ 0 , j ≥ 1 האם L1 ∩ L2רגולרית? נמק את תשובתך. © כל הזכויות שמורות 212 בגרויות טיורינג תשס"ט 14 .1 מילה באורך 3תיקרא פלינדרום באורך 3אם התו הראשון במילה זהה לתו האחרון במילה .לדוגמה: המילה abaהיא פלינדרום באורך .3 לפניך השפה Lמעל ה א"ב }{a,b {היא שרשור של 0או יותר פלינדרומים באורך L={w | 3 לדוגמה : המילה babbbbabaשייכת ל L המילה bababbלא שייכת ל L לפניך ציור חלקי של אס"ד המקבל את השפה .L q2 q1 b a,b b q0 q3 a q4 q5 a 0 הציור מכיל את כל המצבים של האוטומט. העתק למחברתך את הציור והשלם אותו כך שיקבל את השפה L עליך להשלים את המעברים החסרים ואת סימני הקלט החסרים ולסמן את המצב המקבל/מצבים מקבלים. שים לב :אין להוסיף מצבים לאוטומט או להוריד מצבים. .2 מהי השפה }? {L ∩ (aab)n n ≥ 0 © כל הזכויות שמורות 213 בגרויות טיורינג תשס"ט 15 * נגדיר ∑ כאוסף כל המילים מעל א"ב נתון ,כולל המילה הריקה. בעבור שפה Lכלשהי נגדיר : * } ∑ Init(L) = {u | uv Є L u,v Є * } ∑ Fin(L) = {v | uv Є L u,v Є = )Min(L wЄL ובעבור כל w1 w2המקיימות w=w1.w2ו w2אינה ריקה w1אינה שייכת ל L לפניך 5שפות מעל ה א"ב }{0,1 א. מהי השפה ? L1 ∩ L2 ב. מהי השפה )? Init (L3 ג. מהי השפה )? Fin(L3 ד. האם )?0011 Є Min(L4 ה. האם )?0011 Є Min(L5 ו. האם © כל הזכויות שמורות }|n≥1 k≥0 L1={ 0n 1n 0k 1k }|n≥0 k≥0 n L2={ 0 1 }|i≥0 L3={ 0i 1i }| k≥i≥0 L4={ 0i 1k }| i≥k≥0 L5={ 0i 1k L4 ∩ L5רגולרית ? 214 בגרויות טיורינג k תשס"ט 16 לפניך מכונת טיורינג המחשבת פונקציה ) . f(xהמכונה מקבלת כקלט מספר xגדול מ 0שלם הרשום על הסרט כמספר אונרי על ידי xתווים של 1ואחריהם הסימן .$ לדוגמה בעבור x=4יהיה סרט הזיכרון לפני תחילת החישוב: ... $ 1 1 1 1 ├ המכונה רושמת את תוצאת החישוב של ) f(xעל הסרט כמספר אונרי ,מיד אחרי הסימן .+ q1 ימין $/1 , ימין 1/1 , q0 ימין 1/1 , שמאל $/$, q3 q2 שמאל /$, שמאל1/1, ימין ├/├, q4 א. מה יכיל הסרט לאחר חישוב )? f(5 את הערך 6 ב. מה יכיל הסרט לאחר חישוב )? f(6 את הערך 6 ג. מהי הפונקציה ) f(xשהמכונה מחשבת ? +1למספר אי זוגי ועצירה על תחילת המספר. © כל הזכויות שמורות 215 בגרויות טיורינג תש"ע 13 לפניך שלוש שפות L1-L3מעל הא"ב }{a,b L1= {anbn-1| n≥1 { { שארית החלוקה של kב 2שונה משארית החלוקה של nב 2 { iמתחלק בשלוש ללא שארית k,מתחלק בשלוש ללא שארית L2= {anbk|n≥0,k>0 L3= {akb2m | k,m ≥0 א .לכל אחת מהשפות קבע אם היא רגולרית או אינה רגולרי .אם היא רגולרית בנה אס"ד מתאים ואם אינה רגולרית נמק את קביעותיך. ב .לפניך השפות L4,L5מעל הא"ב }{a,b { L4= {anbn-1| n≥1 nאי זוגי )L5= L1*R(L4 מהי L5 תש"ע 14 לפניך השפה Lמעל הא"ב }{0,$ i i i { k≥1לכל mבין 1ל 0 ≥ im jו imמתחלק ב 3ללא שארית L= {03$0 1$0 2$...0 j$ |n≥1 א .כתוב את המילה הקצרה ביותר בשפה .L ב. בנה אס"ד לשפה .L © כל הזכויות שמורות 216 בגרויות טיורינג תש"ע 15 א .לפניך אוטומט סופי לא דטרמיניסטי 0,1 0,1 0,1 0,1 0,1 0,1 Q 0,1 1 1 1 1 א. קבע לכל אחת משלושת המילים הבאות האם היא מתקבלת בשפה או שלא. ב. אם המילה מתקבלת רשום מסלול עבור מילה זו. 001001 .a 01010 .b 0101 .c ג. מהו האורך המינימאלי של מילה המתקבלת על ידי האוטומט .תן דוגמה למילה כזו. ד. מהו האורך המקסימלי של מילה המתקבלת על ידי האוטומט .תן דוגמה למילה כזו. ה. מהי השפה המוגדרת על ידי האוטומט? © כל הזכויות שמורות 217 בגרויות טיורינג לפניך השפה Lמעל הא"ב }{a,b הרצף aaaמופיע בדיוק פעם אחת .אין בה מופעים של הרצף aaפרט לאלה שב aaaואין בה רצף של aים שאורכו גדול מ .3 לדוגמה : ababbaaabbaשייך לשפה aaabbbabbabשייך לשפה abaaabbaabbaלא שייך לשפה לפניך שרטוט חלקי של אס"ד המקבל את השפה L b a,b a a a a b השרטוט מכיל את כל המצבים של האוטומט. עליך להשלים את האוטומט ולסמן מה המצב המקבל. הפתרון: b a,b b a a a b a b a b © כל הזכויות שמורות 218 בגרויות טיורינג תש"ע 16 נתונה מכונת טיורינג המחשבת את הפונקציה ).min(x,y המכונה מקבלת שני מספרים אונריים המופרדים ב #והפלט ירשם כמספר אונרי בין שני סימני .$במהלך הפעולה המכונה יכולה להעזר בסימנים .a,bלפניך סרטוט חלקי של המכונה שמאל1/1, ימיןa/a, שמאל#/#, שמאלb/b, ימין1/1, ימיןb/b, שמאל1/b, Q ימין1/a, 1 ימין#/$, שמאלb/1, ימין∆/$, ימיןb/b, ימין1/$, א .בסרטוט יש 3מעברים המסומנים באותיות א,ב,ג .העתק למחברתך את הסרטוט והשלם את שלושת המעברים. ב .הראה את תהליך החישוב עבור . x=1 y=1בכל שלב רשום את מצב הסרט היכן נמצא ראש המכונה ובאיזה מצב המכונה נמצאת. © כל הזכויות שמורות 219 בגרויות טיורינג L1= {cnan+2|n>0} L= {w1 w2 w3…… wkbk | k>0 wi Є L1} {a,c} מעל הא"בL1 נגדיר את השפה {a,b,c} מעל הא"בL לפניך השפה מקורות חומר בקורס http://cs.haifa.ac.il/courses/compilers/tutorials/Winter09_T01.pdf משרד החינוך-תוכנית הלימודים במודלים http://www.csit.org.il/default.aspx?MenuShow=DOCS&Doc_ID=58 220 © כל הזכויות שמורות מבחן מספר ( 1תיכון בליך) .1 כתוב אוטומט לא דטרמיניסטי שמקבל את כל המילים השייכות לשפה .L } L= {an W bm | n>0, m= n%2 כאשר Wמילה מעל הא"ב } {a,b,cהמתחילה ב – bמסתיימת ב – cומכילה עד פעם אחת )או לא מכילה בכלל ,או מכילה פעם אחת( את האות .a דוגמאות למילה בשפה :L aaaaabcaccb .2 האם השפה הבאה רגולרית? הוכח. שפה מעל הא"ב { }a,b,cשמקיימת את התנאים הבאים: מכילה מס' אותיות זוגי וגם כל אות מופיעה לפחות פעם אחת במילה או לא מכילה אף אות ברצף וגם האות הראשונה היא גם האות האחרונה והיא מופיעה במילה עד 4פעמים )כולל המופע הראשון והאחרון(. © כל הזכויות שמורות 221 .3לפניך חמש השפות L1-L5מעל הא"ב } . {a , bתיכון בליך } אוסף כל המילים שבהן מספר האותיות ב w -אי זוגי L1 = { w / } L2 = { w / |w| % 3 = 2 } L3 = { anb3n / n 0 } אוסף כל המילים שבהן מספר האותיות ב w -זוגי L4 = { w / } L5= {an bn+1 cm | n>=0, m=n%3 מהן השפות הבאות? L6= L5 L1 L7 = L3 L2 L8 = L3 L4 L9 = L1 L2 L10= L3 L1 )L11 = L32 . R(L5 L6פיתרון ב L5כפי שרואים מהמילים המתקבלות בשפה מספר ה איים +מספר ה ביים תמיד אי זוגי לכן צריך שמספר ה סיים יהיה זוגי L5 = b abbc aabbbcc aaabbbb aaaabbbbbc ולכן המילים המתאימות הינן a0+3k b1+3kו k>=0 a2+3k b3+3k cc .4 בנה מכונת טיורינג המקבלת מילה מעל הא"ב } {a,b,cובודקת האם היא שייכת לשפה .L { mהיא שארית החלוקה של nב – , 2 © כל הזכויות שמורות 222 n>=0 | L={an b2n cm פרק שני ) 50נקודות( תיכון אלון רמת השרון בפרק זה שאלות ממסלולים שונים בחר במסלול שלמדת )מודלים חישוביים( וענה על השאלות על פי ההוראות המתייחסות לאותו מסלול. מודלים חישוביים ענה על שתיים מהשאלות ) 5-8לכל שאלה 25נקודות( שאלה 5 לפניך הגדרה לשפה Lמעל הא"ב : x, y, z }L {xn y k z | n 0, k 0, n k / 3 כאשר הסימון k / 3מציין את תוצאת מנת החלוקה השלמה של kב ,3-לדוגמה: 5 / 3 1 6/3 2 2/30 1/ 3 0 דוגמאות למילים השייכות לשפה . yz, yyz , xyyyyyz , xxyyyyyyz : L א .רשום דוגמה למילה באורך ,5השייכת לשפה . L ב .הוכח כי השפה Lהיא חופשית הקשר על-ידי בניית אוטומט מחסנית דטרמיניסטי עבור השפה. ג .הגדר את השפה המתקבלת על -ידי הפעולה הבאה: }L {xn y k | n 0, k 0, n k / 3 שאלה 6 לפניך הגדרות לחמש שפות L1 , L2 , L3 , L4 , L5כולן מעל הא"ב : a, b ) } (k s tזוגי L1 {ak bs at | k , t 0, s 0, }L2 {am | m 0 }L3 {bn | n 0 } wהיא מילה שאורכה זוגי | L4 {w ) } (2k sזוגי L5 {ak bs ak | k 0, s 0, א .הוכח ששלוש השפות L2 , L3 , L4הן רגולריות על -ידי בניית אוטומט סופי דטרמיניסטי מלא לכל אחת מהן. ב .הוכח שהשפה L1היא רגולרית על -ידי שימוש בתכונות הסגירות של משפחת השפות הרגולריות: הסתמך על כך שהשפות L2 , L 3, L4הן רגולריות כתוצאה מההוכחה בסעיף א' ,והגדר באמצעותן את השפה L1תוך שילוב פעולות שפה מתאימות .הסבר ונמק את דרך ההוכחה. ג .לפניך שתי טענות .קבע ונמק לגבי כל אחת מהן אם היא נכונה או שאינה נכונה: )L5 L1 (1 ) (2השפה L5היא חופשית הקשר ורגולרית שאלה 7 לפניך הגדרה לשפה L1מעל הא"ב : a, b © כל הזכויות שמורות 223 } wהיא מילה שבה מספר המופעים של הרצף abשווה למספר המופעים של הרצף L1 {w | ba לדוגמה: המילים , aaa, b, aababa, baababשייכות לשפה . L1 המילים baa, aababb, baababaלא שייכות לשפה . L1 לפניך תרשים חלקי של אוטומט סופי דטרמיניסטי מלא המקבל את השפה : L1 b q3 q1 a a q0 a b q4 b q2 התרשים מכיל את כל המצבים של האוטומט עבור השפה. א .העתק את תרשים האוטומט הנתון ,והשלם אותו כך שיקבל את השפה : L1 יש להשלים בתרשים האוטומט את המעברים החסרים ואת סימני הקלט החסרים ,ולסמן בו את המצב המקבל או המצבים המקבלים .אין להוסיף מצבים לאוטומט ,ואין להוריד ממנו מצבים. ב .לפניך הגדרה לשפה , L2שפה נוספת מעל הא"ב : a, b } wהיא מילה המתחילה ומסתיימת באותה אות | L2 {w קבע ונמק האם . L1 L2 ג .לפניך שלוש טענות לגבי שתי השפות הנתונות . L1 , L2קבע ונמק לגבי כל אחת מהן אם היא נכונה או שאינה נכונה: )(1 R( L1 ) L1 )(2 {ai | i 0} {bi | i 0} L2 )(3 L1 L2 © כל הזכויות שמורות 224 שאלה 8 נבנתה מכונת טיורינג הפועלת על מילת קלט wמעל הא"ב , 0,1ומחשבת עבורה את פעולת ההיפוך ). R( w המכונה מקבלת את מילת הקלט , wהרשומה על הסרט בין התו ├ שמשמאל למילה לבין התו שמימין למילה .פלט המכונה הוא המילה ההפוכה ) , R( wהנרשמת על הסרט מימין לתו $שנמצא גם הוא מימין לסופה של מילת הקלט . wבמהלך פעולת החישוב המכונה יכולה להיעזר בתו .X לדוגמה עבור מילת הקלט ,011לפני ביצוע הפעולה סרט המכונה ייראה כך )אותיות מילת הקלט מודגשות(: ... ∆ ∆ ∆ ∆ ∆ 1 1 ├ 0 ולאחר ביצוע הפעולה סרט המכונה ייראה כך )אותיות מילת הפלט מודגשות(: ... ∆ 0 1 1 X $ X X ├ הערה :הסימן . . .מציין רצף אינסופי של תאים המכילים את התו ∆ . לפניך תרשים חלקי של המכונה שנבנתה: X/X, $/$, 0/0, 1/1, 0/0, 1/1, q2 q4 0/0, 1/1, X/X, 0/X, q1 /$, q0 $/$, 1/X, q5 0/0, 1/1, q3 q6 X/X, $/$, 0/0, 1/1, א .בתרשים יש ארבעה מעברים המסומנים באותיות א-ד .במעברים אלה חסרים סימני הקלט וההוראות .העתק למחברתך את התרשים ,והשלם בו את ארבעת המעברים החסרים ,כך שהמכונה תחשב את פעולת ההיפוך ) R( wעבור מילת קלט . w ב .עקוב אחר ביצוע פעולת המכונה על מילת הקלט ,0והראה את מהלך המעקב באופן הבא :בכל שלב של פעולת המכונה רשום את תכולת הסרט ,סמן היכן בסרט נמצא ראש המכונה ,ורשום באיזה מצב מבין המצבים q0 q6נמצאת המכונה. בהצלחה! © כל הזכויות שמורות 225 פתרון מודלים חישוביים -מתכונת 2012 שאלה 5 א .דוגמה למילה באורך ,5השייכת לשפה . xyyyz : L ב .נוכיח כי השפה Lהיא חופשית הקשר ע"י בניית אוטומט מחסנית דטרמיניסטי עבורה: x ,S/X x , / S y,X/ y,S/ q2 y,X/ y,S/ q0 q1 y,X/ y,S/ y,X/X y,S/S y, / y, / q3 q4 z, / z, / y, / z, / q5 q6 ג .השפה המתקבלת ע"י הפעולה היא שפה ריקה. L {xn y k | n 0, k 0, n k / 3} : קים פתרון נוסף לאוטומט מחסנית © כל הזכויות שמורות 226 שאלה 6 א .נוכיח כי שלוש השפות L2 , L3 , L4הן רגולריות ע"י בניית אוטומט סופי דטרמיניסטי מלא לכל אחת מהן: אוטומט סופי דטרמיניסטי מלא עבור }: L2 {a m | m 0 a,b a b q1 q0 אוטומט סופי דטרמיניסטי מלא עבור }: L3 {bn | n 0 b b q1 q0 a a q2 a,b אוטומט סופי דטרמיניסטי מלא עבור } wהיא מילה שאורכה זוגי | : L4 {w a,b q0 q1 a,b ב .נוכיח כי השפה L1היא רגולרית ע"י שימוש בתכונות הסגירות של משפחת השפות הרגולריות .נסתמך על כך שהשפות L2 , L3 , L4הן רגולריות כתוצאה מההוכחה בסעיף א' ,ונגדיר באמצעותן את השפה L1תוך שילוב הפעולות שרשור וחיתוך באופן הבא. L1 ( L2 L3 L2 ) L4 : לפיכך L1 ,שפה רגולרית ,מכיוון שנבנית מהשפות הרגולריות , L2 , L3 , L4ומכיוון שמשפחת השפות הרגולריות סגורה תחת פעולות שרשור וחיתוך. ג .קביעת נכונות שתי טענות: ) (1הטענה L5 L1נכונה ,מכיוון שכל מילה השייכת לשפה L5שייכת גם לשפה . L1השפה L5היא למעשה מקרה פרטי של השפה , L1שעבורו , t kומשמעותו היא שמספר מופעי האות aלפני רצף האותיות b במילה שווה למספר מופעי האות aלאחר רצף האותיות bבמילה. © כל הזכויות שמורות 227 ) (2הטענה" :השפה L5היא חופשית הקשר ורגולרית" אינה נכונה .אומנם ,השפה היא חופשית הקשר ,מכיוון שניתן לבנות לה אוטומט מחסנית ,אך היא אינה רגולרית ,מכיוון שקיימת תלות כמותית אינסופית של שיוויון בין 2חלקים במילה :מספר מופעי האות aלפני רצף האותיות bשווה למספר מופעי האות aלאחר רצף האותיות . bלפיכך ,לא ניתן לבנות לשפה אוטומט בעל מספר סופי של מצבים ,ולכן היא אינה רגולרית. שאלה 7 א .השלמת תרשים אוטומט סופי דטרמיניסטי מלא המקבל את השפה : L1 a b b q3 q1 a a a q0 b b a q4 b q2 ב . L1 L2 .כל מילה השייכת לשפה L1שייכת גם לשפה , L2ולהפך ,כל מילה השייכת לשפה L2שייכת גם לשפה . L1וזאת משום שכל מילה שבה מספר המופעים של הרצף abשווה למספר המופעים של הרצף , ba היא מתחילה ומסתיימת באותה אות ,ולהפך ,בכל מילה ,המתחילה ומסתיימת באותה אות ,מספר המופעים של הרצף abשווה למספר המופעים של הרצף . ba ג .קביעת נכונות שלוש טענות: ) (1הטענה R( L1 ) L1נכונה ,מכיוון שאם במילה מספר המופעים של הרצף abשווה למספר המופעים של הרצף , baאז גם כאשר מפעילים על המילה פעולת היפוך ,עדיין השיוויון בין כמות רצפי ab, baבמילה נשמר .לכן ,שפת ההיפוך של השפה , L1במקרה זה ,זהה לשפה עצמה. ) (2הטענה {ai | i 0} {bi | i 0} L2נכונה ,מכיוון שמילים באורך חיובי ,המכילות רק אות א"ב אחת aאו , bהן מתחילות ומסתיימות באותה אות ,שזוהי למעשה הגדרת השפה . L2 ) (3הטענה L1 L2 אינה נכונה .מסעיף ב' , L1 L2לכן , L1 L2 L1 L1כמו -כן מתקיים , L1 L1 מכיוון ששפה ושפה משלימה לה אינן מכילות מילים משותפות ,ולכן חיתוכם הוא כן השפה הריקה. © כל הזכויות שמורות 228 שאלה 8 א .תרשים המכונה המלא לאחר השלמת ארבעת המעברים החסרים א-ד: X/X, $/$, 0/0, 1/1, 0/0, 1/1, /0, q4 q2 0/0, 1/1, X/X, 0/X, $/$, /$, q1 $/$, q5 /1, 1/X, ├/├, q3 q6 X/X, $/$, 0/0, 1/1, 0/0, 1/1, ב .מעקב אחר ביצוע פעולת המכונה על מילת הקלט :0 ⋯ ∆ ∆ ∆ ∆ ⋯ ∆ ∆ ∆ ∆ ⋯ ∆ ∆ ∆ $ ⋯ ∆ ∆ ∆ $ ⋯ ∆ ∆ ∆ 0 ├ ↑ q0 0 ├ ↑ q0 0 ├ ↑ q1 X ├ ↑ q2 © כל הזכויות שמורות 229 $ X ├ q0 ↑ q2 ⋯ ∆ ∆ 0 ⋯ ∆ ∆ 0 $ ⋯ ∆ ∆ 0 $ X ⋯ ∆ ∆ 0 $ X $ X ├ ↑ q4 X ├ ↑ q1 ├ ↑ q1 ↑ q6 © כל הזכויות שמורות 230 ├ מבחן בגרות 2011 .13לפניך השפה Lמעל הא"ב }: {a,b,c }| n>0, k>0 א. כתוב את המילה הקצרה ביותר בשפה . L ב. בנה אוטומט מחסנית שיקבל את השפה . L L= {anb3k+1ck .14בשאלה זו שני סעיפים א' ו ב' שאינם תלויים זה בזה .ענה על שניהם. א .לפניך השפה Lמעל הא"ב }{a,b }התו האחרון של wמופיע בכל המילה מספר זוגי של פעמים | |w|>0 לדוגמה :המילה abaabbabשייכת לשפה. המילה abbabaaשייכת לשפה. המילה babbabaלא שייכת לשפה. לפניך סרטוט חלקי של אוטומט סופי דטרמיניסטי המקבל את .L בסרטוט חסרים מעברים וסימני קלט. q1 b q4 a a a q3 q6 q0 b q5 b b q2 הסרטוט מכיל את כל המצבים של האוטומט ואת כל המצבים המקבלים. העתק למחברתך את הסרטוט והשלם אותו כך שיקבל את השפה . L עליך להשלים את המעברים החסרים ואת סימני הקלט החסרים. שים לב :אין להוסיף מצבים לאוטומט ,ואין להוריד ממנו מצבים. © כל הזכויות שמורות 231 L= {w ב. לפניך אוטומט סופי דטרמיניסטי המקבל את השפה Lמעל הא"ב }: {a,b a q2 b q4 a q1 b a b a q0 b a b q3 קבע לכל אחת מארבעת המילים שלפניך אם היא מתקבלת על ידי האוטומט .אם המילה מתקבלת רשום את המסלול המקבל בעבור מילה זו. aaba (1 bbaabb (2 abaa (3 bb (4 מהי השפה Lהמוגדרת על ידי האוטומט? .15לפניך השפה Lמעל הא"ב }{0,1,2 }| n>k≥0 L= {0n1k2 הוכח כי Lאינה רגולרית. נתונה השפה L1מעל הא"ב }{1,2 }| n≥0 מהי השפה L1∩Lנמק. © כל הזכויות שמורות 232 L1= {1n2 מבחן בגרות 2012 .14בשאלה זו שני סעיפים א' ו ב' שאינם תלויים זה בזה .ענה על שניהם. א .לפניך השפה Lמעך הא"ב }: {0,1 {אוסף כל המילים המסתיימות ב 100או ב 101או ב 110או ב 111או ב 10או ב L= }11 לפניך סרטוט חלקי של אוטומט סופי דטרמיניסטי המקבל את .L בסרטוט חסרים מעברים וסימני קלט. q4 q3 0 0 0 q2 1 1 1 q1 q0 הסרטוט מכיל את כל המצבים של האוטומט ואת כל המצבים המקבלים. העתק למחברתך את הסרטוט והשלם אותו כך שיקבל את השפה . L עליך להשלים את המעברים החסרים ואת סימני הקלט החסרים. שים לב :אין להוסיף מצבים לאוטומט ,ואין להוריד ממנו מצבים. ג .לפניך אוטומט סופי דטרמיניסטי המקבל את השפה Lמעל הא"ב }{a,b b b q1 a q0 b a b a a a a,b a q2 b b a b b a q3 .1כתוב מילה באורך מינימלי המתקבלת על ידי האוטומט. .2כתוב מילה המתחילה ב aשאורכה גדול מ 3ומתקבלת על ידי האוטומט. .3כתוב מילה המתחילה ב bשאורכה גדול מ 3ומתקבלת על ידי האוטומט. .4מהי השפה Lהמתקבלת על ידי האוטומט? התייחס למילים המתחילות ב aומילים המתחילות ב .b © כל הזכויות שמורות 233 .15לפניך השפה Lמעל הא"ב }{a,b,cבנה אוטומט מחסנית לשפה הבאה : L= {(aba)nc(bab)2n+1 }|n>0 בנה אוטומט מחסנית שיקבל את השפה .L .16בשאלה זו שלושה סעיפים שאינם תלויים זה בזה .ענה על כל הסעיפים. א. לפניך השפות L1 , L2מעל הא"ב }:{a,b,c i }|n≥1 L1= {anbncn }|m≥1 L2= {am j נתונות שתי מילים ב w2= a w1= a L2כך ש i≠j מצא מילה wכך שיתקיים : w1 w Є L1 w2 w Є L1 ב. לפניך השפות L1 , L2מעל הא"ב }:{a,b { vהיא מילה מתוך אוסף כל המילים מעל הא"ב } {a,bכולל המילה הריקה |v v L2= { amb }m≥1 i { =L1 j נתונות שתי מילים ב w2= a b w1= a b L2כך ש i≠j מצא מילה wכך שיתקיים : w1 w Є L1 w2 w Є L1 a לפניך אוטומט סופי דטרמיניסטי: ג. a,b b b a לכל אחת מהטענות הבאות קבע אם היא נכונה או אינה נכונה. אם הטענה אינה נכונה כתוב מילה המפריכה אותה. .i שפת האוטומט היא אוסף כל המילים מעל הא"ב } {a,bשבהן כל פעם שמופיעה b מופיעה אחריה .a .ii שפת האוטומט היא אוסף כל המילים מעל הא"ב } {a,bהמסתיימות ב aאו ב .b .iii שפת האוטומט היא אוסף כל המילים מעל הא"ב } {a,bשאין בהן שני bים רצופים. © כל הזכויות שמורות 234 .17לפניך מכונת טיורינג. על סרט הקלט של המכונה רשומה מילה מהצורה } [#an?bm |n,m >0וראש המכונה מצביע על התו ? לדוגמה עבור n=3ו m=1הסרט יראה # a a a ? b # שמאל ??/ שמאל b/b שמאל a/a q0 ימין # / # q1 שמאל b / # שמאל ? / b ימין a / # ימין ? / a q4 0 ימין ??/ ימין b/b ימין a/a q3 שמאל # / # q2 .iהראה את מסלול החישוב של המכונה בעבור הקלט המופיע בדוגמה ,וציין את פלט המכונה .בכל שלב רשום את מצב הסרט ,סמן היכן נמצא ראש המכונה ,ורשום באיזה מן המצבים המכונה נמצאת. .iiכתוב את התו שירשם במקום התו ? בעבור הקלט #aa?bb# .iiiמה מבצעת המכונה? © כל הזכויות שמורות 235 פתרון מבחן בגרות 2012 .13בשאלה זו שני סעיפים א' ו ב' שאינם תלויים זה בזה .ענה על שניהם. א .לפניך השפה Lמעך הא"ב }: {0,1 {אוסף כל המילים המסתיימות ב 100או ב 101או ב 110או ב 111או ב 10או ב L= }11 לפניך סרטוט חלקי של אוטומט סופי דטרמיניסטי המקבל את .L בסרטוט חסרים מעברים וסימני קלט. 0 1 q4 q3 0 0 0 0 1 q2 1 q1 1 1 q0 הסרטוט מכיל את כל המצבים של האוטומט ואת כל המצבים המקבלים. העתק למחברתך את הסרטוט והשלם אותו כך שיקבל את השפה . L עליך להשלים את המעברים החסרים ואת סימני הקלט החסרים. שים לב :אין להוסיף מצבים לאוטומט ,ואין להוריד ממנו מצבים. ד .לפניך אוטומט סופי דטרמיניסטי המקבל את השפה Lמעל הא"ב }{a,b b b q1 a q0 b a b a a a a q2 b b b b q3 abאו bb .1כתוב מילה באורך מינימלי המתקבלת על ידי האוטומט. .2כתוב מילה המתחילה ב aשאורכה גדול מ 3ומתקבלת על ידי האוטומטabbb . .3כתוב מילה המתחילה ב bשאורכה גדול מ 3ומתקבלת על ידי האוטומטbbbb . .4מהי השפה Lהמתקבלת על ידי האוטומט? התייחס למילים המתחילות ב aומילים המתחילות ב .b n מתחילות ב aואורכן זוגי או מתחיל ב bאורכן זוגי ומכילות רק n b ) bזוגי( © כל הזכויות שמורות 236 .14בנה אוטומט מחסנית לשפה הבאה : L= {(aba)nc(bab)2n+1 }|n>0 ניתן לפתור במספר דרכים דרך א :על כל abaנדחוף AAלמחסנית על ה cללש על כל babנשלוף Aעל ה babהאחרון ללש. | ללש ללש | aA דחוף a┴| AA דחוף aA| AA bA ללש |cA ללש | ללש ללש ┴b | | ללש ללש aA ┴a | | bA ┴b שלוף bA | A דרך ב :על ה abaהראשון נדחוף SAAעל כל abaנוסף נדחוף AAעל ה cללש על כל babנשלוף Aעל ה babנשלוף .S ללש ללש | | aA bA דחוף a┴| SAA דחוף aA| AA ללש ללש ללש שלוף bS |S | | aA aS שלוף bA | A © כל הזכויות שמורות 237 ללש ללש | | bA bS | cA דרך ג :דרך זו הינה מרובת מצבים אך פשוטה. דחוף aA| AA דחוף a┴| SAA ללש | bA ללש | ללש | aA ללש ללש | aA | cA bA ללש | שלוף bA | A © כל הזכויות שמורות ללש | ┴b |ללש |┴a 238 bS ללש | aS שלוף bS |S .15בשאלה זו שלושה סעיפים שאינם תלויים זה בזה .ענה על כל הסעיפים. א. לפניך השפות L1 , L2מעל הא"ב }:{a,b,c i }|n≥1 2. L1= {anbncn }|m≥1 3. L2= {am j נתונות שתי מילים ב w2= a w1= a L2כך ש i≠j מצא מילה wכך שיתקיים : w1 w Є L1 w2 w Є L1 I I j I I I I I W=b cואז a b cשייך ל L1ו a b cאינו שייך ל L1 א. לפניך השפות L1 , L2מעל הא"ב }:{a,b { vהיא מילה מתוך אוסף כל המילים מעל הא"ב } {a,bכולל המילה הריקה |v v L2= { amb }m≥1 i { =L1 j נתונות שתי מילים ב w2= a b w1= a b L2כך ש i≠j מצא מילה wכך שיתקיים : w1 w Є L1 w2 w Є L1 I I j I I W=a bואז a ba bשייך ל L1ו a ba bאינו שייך ל L1 a ב. לפניך אוטומט סופי דטרמיניסטי: a,b b b a לכל אחת מהטענות הבאות קבע אם היא נכונה או אינה נכונה. אם הטענה אינה נכונה כתוב מילה המפריכה אותה. .iv שפת האוטומט היא אוסף כל המילים מעל הא"ב } {a,bשבהן כל פעם שמופיעה b מופיעה אחריה .aאינו נכון bמתקבל. .v שפת האוטומט היא אוסף כל המילים מעל הא"ב } {a,bהמסתיימות ב aאו ב .b אינו נכון bbאינו מתקבל והוא מסתיים ב .b .vi שפת האוטומט היא אוסף כל המילים מעל הא"ב } {a,bשאין בהן שני bים רצופים .נכון © כל הזכויות שמורות 239 .16 א. מצב הסרט )צהוב=ראש המכונה( מצב ? b # # a a a q0 ? b # # a a a q0 ? b # # a a a q0 ? b # # a a a q0 ? b # # a a a q0 ? b # # a a a q1 ? b # # # a a q2 ? b # # # a a q2 ? b # # # a a q2 ? b # # # a a q2 ? b # # # a a q2 ? b # # # a a q3 ? # # # # a a q0 ? # # # # a a q0 ? # # # # a a q0 ? # # # # a a q0 ? # # # # a a q1 ? # # # # # a q2 ? # # # # # a q2 ? # # # # # a q2 ? # # # # # a q3 # # # a A # # q4 ב .על הסרט ירשם B ג .המכונה בודקת אם מספר ה aגדול ממספר ה .bאם כן תרשום Aאחרת תרשום B © כל הזכויות שמורות 240 פרק שני ) 50נקודות( אלון רמת השרון ענה על 2מבין השאלות 13-16 שאלה :13 א .השפה Lהיא שפת כל המילים מעל ה-א"ב } {0,1,2שמופיע בהן הרצף ,012כך שלפניו לא מופיעה כלל האות , 2ואחריו מופיעה האות 2בדיוק פעמיים) .הספרה 2מופיעה בדיוק 3פעמים במילה( מילים בשפה1012012002 ,000121122 : לפניך אוטומט סופי דטרמיניסטי מלא חלקי שבונה את השפה .L הוסף קשתות חסרות ,וסמני קלט חסרים) .העתק את האוטומט למחברתך והשלם את החסר( אין להוסיף מצבים נוספים. 0 2 2 1 2 0 2 ב .בנה אוטומט סופי דטרמיניסטי מעל הא"ב } {a,b,cהמקבל את המילים הבאות: אחרי כל מופע של האות bמופיע הרצף , aacמספר ה a -לפני האות bהוא זוגי. מילה בשפהaca ,caacaabacaaca : © כל הזכויות שמורות 241 שאלה :14 בנה אוטומט מחסנית עבור השפה: }L {a 2m b n c k | m 0, n m, k n m, k %3 0 מילים בשפה . a 2 b 4 c 3 , a10b14c 9 a 25b14c 9 :מילה לא בשפה a 2 b 3 c 2 שאלה :15 נתונות השפות הבאות : }L1= {an(ab)mak | k,n>=0; m>0;nk }L2= {anbm(ab)n+m | n,m>0 { w, |w|%2=0מעל הא"ב {,}a,bמתחילה ב a-ומסתיימת בL3 = }w | b- } L4= {ck abnamb2man b2k+1 | k>=0, n, m>0 א .מהי השפה ? L1L3האם השפה רגולרית ,או לא ? הוכח תשובתך. ב .טענה R(L2)R(L3)= R(L2) :הוכח או הפרך. ג .איזו טענה נכונה? L2L3או L3L2או לא זה ולא זה ,נמק ) .חלקי או שווה( ד .מהי השפה ? L4L3והוכח שהיא חופשית הקשר. שאלה :16 תהיינה השפות L1ו L2 -מעל הא"ב } .{a,bנתון ש L1 -רגולרית ו L2-אינה רגולרית נסמן ב * -את שפת כל המלים מעל הא"ב }.{a,b לגבי כל אחת משלוש השפות קבע האם היא בהכרח רגולרית ,לפעמים רגולרית, או אף-פעם לא רגולרית. אם התשובה היא בהכרח רגולרית או אף-פעם לא רגולרית – הוכח זאת. אם התשובה היא לפעמים רגולרית – אז תן שתי דוגמאות ל L1-ו L2-כך שפעם אחת התוצאה רגולרית ופעם שניה התוצאה לא רגולרית. א. )L=L1· R(L1 ב. * * ג. * * ) L=R( -L1)(L2- ד. L=L2-L1 ) L=R( -L1)(L1- הערה :הפרש השפות L2-L1הוא אוסף כל האיברים שנמצאים ב L2 -ולא ב. L1 - © כל הזכויות שמורות 242 2014מגן אלון בחר 2מתוך 4השאלות הבאות .1נתונות ארבע השפות הבאות) :כל השפות מעל (a,b,c n+k ≤ 10 L1= an bk n,k ≥ 0 L2= an bn ck x,y ≥ 0 z=x+y L3= ax by cz x≠y L4= ax by אילו מהשפות רגולרית ואילו לא? הגדר בקצרה עד כמה שניתן את השפות הבאות 1) L1∩L2 2) L2∩L3 3) R(L4)*L1 4) L 4 ∩L2 פתרון א .רק L1רגולרית. ב .1 .המילה הריקה ab aabb aaabbb aaaabbbb aaaaabbbbb n ≥ 0 anbnc2n . 2 b y ax bz . 3 L2 .4 © כל הזכויות שמורות 243 .2נתון אוטומט המחסנית הבא : דחוף aA | AAA שלוף bA | A שלוף bS|S q0 q1 q2 דחוף a┴ | SAA דחוף a┴ | SAA א .מה המילה הקצרה ביותר המתקבלת. )(2 ב .עבור כל אחת מהמילים הבאות רשום האם מתקבלת או לא. )(8 ababbbbb abbbbabb baaa abbabbbb ג .בצע מעקב אחר המילה הראשונה. ababbbbb ד .הגדר את השפה המתקבלת. )(12 פתרון א .המילה הריקה. ב ababbbbb .מתקבל abbbbabbלא מתקבל baaa לא מתקבל abbabbbbמתקבל ג .מעקב פשוט ד .מילה מעל }{a,b ואסור שבכל רישא של מילה כך ש )#b ( w) =*3 #a ( w )3* #a (w) < #b (w .3בנה אס"ד לשפה הבאה: © כל הזכויות שמורות )(3 244 שפה מעל ה א"ב}n,k,z≥0 azdbnck {a,b,c,d שארית חלוקת z+n+kבשלוש שווה .1 q6 c q5 c d b q1 c a a b q0 a q5 q2 b d c q3 c q1 © כל הזכויות שמורות d q4 245 .4בנה מכונת טיורינג המקבלת סרט שעליו אותיות aאו bומחזירה בסופו מספר אונרי המייצג את מספר הרצפים של aים שעל הסרט. דוגמה עבור ├ baaabbaaaaaba הסרט יראה לאחר ביצוע הפעולה ├ baaabbaaaaaba111 הפתרון ימינה X/X שמאלה 1/1 b/b a/a שמאלה שמאלה ימינה 1/1 ימינה b/b ימינה a/a a/a ימינה b/b ימינה b/b שמאלה ∆/1 ימינה a/X שמאלה שמאלה 1/1 ימינה a/a שמאלה ∆/1 © כל הזכויות שמורות 246 שמאלה 1/1 שמאלה ∆∆/