מכונת טיורינג לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת) דטרמיניסטי שפות חופשיות הקשר (שפת ראי מסומנת) סגירות:איחוד,שרשור,היפוך, חיתוך עם שפה רגולרית אוטומט סופי דטרמיניסטי שפות רגולריות סגירות:חיתוך,איחוד,שרשור,משלים,היפוך 1
זכויות יוצרים עלות השימוש בספר זה החל משנת 2012-2013 הינה 10 שקלים. את עלות השימוש יש להעביר ל: אברבוך חיים מרדכי 11 רמת השרון מיקוד 47441 בספר הושקעו זמן ומחשבה מרובים על מנת לעשותו קריא ומובן לכל. אשמח לקבל תגובות הערות תוספות ותיקונים. vp01335@netvision.net.il או haimav@zahav.net.il תודה מראש לכל מי שהכללתי שאלות ופתרונות שלו. כל מי שרואה עצמו נפגע מכך נא לשלוח לי מייל... בהצלחה 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 והן בL2 (....58 איחוד - או ( L2 L1 פירושו כל המילים המתקבלות ב L1 או ב (. L2...58 שרשור) L1 L2 פירושו כל המילים אשר ניתן לחלק אותן לשני חלקים כך שהחלק השמאלי שייך ל L1 והימני ל L2(...58 58.... L R מסומן גם כ L פירושו היפוך R(L) משלים (L) מסומן L פירושו כל המילים שאינן מתקבלות ב. L...59 הכלה )השפות הרגולריות אינן סגורות תחת פעולה זו )...59 אוסף תרגילים פתורים בהוכחת רגולריות בעזרת חוקי סגירות...59 תבנית להוכחת רגולריות של שפה... 61 אוסף תרגילים פתורים בפעולות על שפות...65 דף תרגילים מספר 12 -סגירות שפות רגולריות הוכחת אי ופעולות בין שפות...68 שאלות ופתרונות שניתנו בקורס מורים מובילים בהנחיית ד"ר מיכל ארמוני...72 הכלת שפות...79 רגולריות...81 תבנית הוכחה לשפה אי רגולרית...83 טעויות שכיחות בהוכחת אי רגולריות...89 דף תרגילים מספר 13 -הוכחת אי רגולריות... 95 97... הסבר על באמצעות תרגילים...98 99... L=A N B N N 0 100... L=A N B N N>0 4 מקרים בהם מספר ה A גדול או קטן ממספר ה Bים בכפולה....101 101... L=A N B 3N N 0 101... L=A 3N B N N>0 102... L=A 2N B 3N N>0 103... L= A 2N B 3N N 0 מקרים בהם מספר ה A גדול או קטן ממספר ה Bים בקבוע....103 104... L=A N B N+1 N 0 104... L=A N+1 B N N 0 105... L=A N-1 B N-2 N 0 מקרים בהם יש שילוב של כפולה וקבוע...106 106... L=A N+1 B 3N N 0 106... L=A N+1 B 3N-2 N 0 106... L=A N+1 B 3N-1 N 0 107... L=A 2N+1 B 3N-1 N 0 מקרים בהם נדרש להכניס יותר מאות אחת למחסנית...108 108... L= A N B K C K D N K,N>0 108... L= A N B K+1 C K D N K,N>0 מספר ה A ים שווה למספר ה B ים... 110
מקרים בהם יש לבצע הצבה עקב סימן מינוס בחזקה...110 111...L= A N B N-K C K N K 0 דף תרגילים מספר 14 -בנית...111 112... L= A N B K+1 C K D N 112... L= A 2N-1 B 3N שילוב של אוטומט רגיל ו...113 מקרים בהם אין צורך בהכנסת S...115 117... L= A 2N+1 B N+2 N 0 תרגילים שונים )רובם פתורים(...118 124... L={A N B K N, K 0, K=N/2} מחרוזת פנינים...124 תרגיל )דורון זוהר( } EVEN 125... L={ (YX) N Z K (XY) J N,K 0 N<J K לא דטרמיניסטי...126 מספר כללים ל -חזקות...129 דף תרגילים מספר 15 -...130 דף תרגילים מספר 16 -...131 דף תרגילים מספר 17 -אסד ו...131 סגירות שפות חופשיות הקשר...139 שרשור ( L2 L1 פירושו כל המילים אשר ניתן לחלק אותן לשני חלקים כך שהחלק השמאלי שייך ל L1 והימני ל L2(...140 איחוד ( L1 L2 פירושו כל המילים המתקבלות ב 140... או ב.)L2 L1 היפוך 140... L ( L1 L2 פירושו כל המילים המתקבלות הן ב 141... והן ב.)L2 L1 חיתוך שפה חופשית הקשר עם שפה רגולרית נותן שפה חופשית הקשר...141 חיתוך שתי שפות חופשיות הקשר שחיתוכן אינו חופשי הקשר...141 141... מהי מכונת טיורינג... 142 מצב מקבל... 143 הסבר על מכונת טיורינג באמצעות תרגילים...144 דוגמה א: מכונת טיורינג המחליפה A ל B ו B ל A )בשפה מעל {A,B} )...144 דוגמה ב: מכונת טיורינג המוסיפה A בסוף המילה)בשפה מעל {A,B} )...144 דוגמה ג: מכונת טיורינג המוסיפה 1 למילה באורך איזוגי)בשפה מעל {1{ )...144 דוגמה ד: מכונת טיורינג הבודקת שהאות האחרונה A )מעל } A,B } )...145 דוגמה ה: מכונת טיורינג הבודקת שהאות הראשונה זהה לאחרונה )מעל } A,B } )...145 דף תרגילים 1 במכונת טיורינג... 146 מכונת טיורינג לבדיקת שפות רגולריות )ניתן לבנות להן אוטומט סופי דטרמיניסטי(...147 מכונת טיורינג לשפות חופשיות הקשר ולא רגולריות...148 5
מקבלת מילים מעל {A,B} שמתחילות ב A ומסתיימות ב A ואורך רצף ה A בהתחלה ובסוף שווה...150 מכונת טיורינג לשפות לא חופשיות הקשר...151 151... N 0 A N B N C N מקבלת את המילים מעל {A,B,C} מהצורה מכונת טיורינג תרגילים שונים...151 6 מקבלת רצף של 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= A N B N C 2N N>=0 162... L= A N B N C M M>=N 163... L= A N B N C M 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
תשס"ד 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
תיאור מתמטי פורמאלי של הוא באמצעות השביעייה הבאה: )הסבר ינתן בהמשך( A { Q,,,, q0,, F} כאשר : היא קבוצת מצבי האוטומט. הוא א"ב הקלט. הוא א"ב המחסנית. היא פונקצית המעברים. הוא המצב ההתחלתי. היא תחתית המחסנית. היא קבוצת המצבים המקבלים. או למעשה את רוב המצבים אנו מכירים מפרק אוטומט סופי דטרמיניסטי. מלבד הוא א"ב המחסנית. או היא תחתית המחסנית. 97
ראינו בפרק הוכחת אי רגולריות שיש שפות שלא ניתן לבנות להן אוטומט סופי דטרמיניסטי. L=a n b n n 0 לדוגמה : הסיבה הינה שיש צורך בספירה (שאינה מוגבלת בחסם עליון) ולכן לא ניתן לעשות זאת באס"ד. לצורך כך אנו נשתמש במחסנית. הרעיון המרכזי : המחסנית משמשת ככלי ספירה. הספירה נעשית על ידי הכנסת תווים למחסנית והוצאתם. יש מקרים בהם אין צורך להכניס או להוציא ונסמנם לל"ש )ללא שינוי( דוגמה פשוטה: =L a n b n n 0 (מומלץ לעיין במצגת ל זה). הרעיון : על ה a הראשונה נכניס S על כל ל a נוספת נכניס A למחסנית והחל מה b הראשונה על כל b נוציא/נשלוף מה קורה במחסנית דחוף A A מהמחסנית ועל ה b האחרון נשלוף S. דוגמאות לפעולות המותרות ב מצב ראש המחסנית הסימן הנבדק a פירוש כשהמחסנית ריקה( ( והתו הנבדק a אז דחוף A למחסנית a לל"ש A ללא שינוי (אין מכניסים ואין מוציאים מהמחסנית) כשבראש המחסנית A והתו נבדק b אז שלוף A b A שלוף A a A AA )שקול לדחוף כשבראש המחסנית A והתו הנבדק a אז דחוף A למחסנית ( A פירושו בעצם הוספת AA ) (A אותיות השפה הינן אותיות קטנות( ab ) למחסנית מכניסים אותיות גדולות. שימו לב : אין להוציא ממחסנית יותר מאות אחת להכניס מותר יותר מאות אחת שפה שניתן לאמת אותה באמצעות נקראת חופשית הקשר. משפחת השפות חופשיות ההקשר כוללת גם את השפות הרגולריות. 98
הסבר על באמצעות תרגילים L=a n b n n 0 נתחיל מהמילה הקצרה ביותר שהיא המילה הריקה q0 כעת נצרף את המילה השניה הקצרה ביותר שהיא.ab דחוף a S q0 Q1 שלוף bs S q3 כעת נצרף את המילה השלישית הקצרה ביותר שהיא.aabb דחוף as A q0 דחוף a S Q1 שלוף ba A q2 שלוף bs S שלוף bs S q3 שים לב שכאשר אנו ב q1 ומפיע b אנו עוברים ל q2 כי אחרי הופעת ה b הראשון אסור שיופיעו aים. הרעיון: על ה a הראשון נדחוף S על כל a נוספת נדחוף A על כל b נשלוף A על ה b האחרון נשלוף S וכעת נציג את אוטומט המחסנית הטוב לכל מילה מהצורה a n b n דחוף aa A דחוף as A שלוף ba A דחוף a S שלוף ba A q0 Q1 q2 שלוף bs S שלוף bs S q3 99
מעבר המילה aaabbb באוטומט )מעקב אחר המילה )aaabbb מצב מחסנית אחרי עוברים פעולה למצב ראש המחסנית אות מצב נבדקת q0 a S דחוף q1 S q1 a S A דחוף q1 SA q1 a A A דחוף q1 SAA q1 b A A שלוף q2 SA q1 b A A שלוף q2 S q2 b A S שלוף )מקבל( q3 כפי ששמתם לב בפתרונות הקודמים על האות הראשונה מוכנס S הכנסת ה S הינה זיהוי בהוצאה מהמחסנית שמחסנית התרוקנה. למחסנית. מטרת L=a n b n n>0 דחוף aa A דחוף as A דחוף a S שלוף ba A המילה הקצרה ביותר ab הרעיון: על ה a הראשון נדחוף S על כל a נוספת נדחוף A ועל כל b נשלוף A על ה b האחרון נשלוף S q0 שלוף bs S שלוף ba q1 שלוף bs S q2 b אם נבדוק את המילה ab אזי על ה a נדחוף S על ה b נשלוף ונעבור למצב מקבל. אם נבדוק את המילה abb אזי על ה a נדחוף S על ה b נשלוף ונעבור למצב מקבל ועל ה הבאה אנו נתקעים (כלומר לא כתוב מה לעשות במקרה זה ב q2. שימו לב ש 0<n. תפקיד מצב q0 הינו לדחוף A על כל S ) a על מחסנית ריקה) תפקיד מצב q1 הינו לומר שהחל מפה יכול להופיע רק b ואסור שיופיע a כמו כן תפקידו לשלוף A על כל. b תפקיד מצב q2 הינו שהגענו למצב שבו מספר ה a שווה למספר ה. b שימו לב שעבור מצב שאינו חוקי האוטומט נתקע. (למשל אם המילה מתחילה ב b (והמחסנית ריקה) אזי האפשרות הזאת אינה קיימת ולכן אנו נתקעים). 100
מקרים בהם מספר ה a גדול או קטן ממספר ה bים בכפולה. L=a n b 3n n 0 פתרון א )פשוט יותר מפתרון ב( המילה הקצרה ביותר הרעיון: על כל a נדחוף AAA על כל b נשלוף A דחוף aa AAA שלוף ba A q0 q1 q2 q3 שלוף ba A דחוף a SAA שלוף bs S מעבר המילה abbb באוטומט )טבלת מעקב( מצב מחסנית אחרי עוברים פעולה למצב ראש המחסנית אות מצב נבדקת q0 a SAA דחוף q1 SAA q1 b A A שלוף q1 SA q1 b A A שלוף q1 S q1 b S S שלוף )מקבל( q3 פתרון ב המילה הקצרה ביותר הרעיון: על כל a נדחוף A על כל שלושה b נשלוף A שלוף bs S דחוף a S דחוף aa A ללש ba ללש bs ללש ba ללש bs שלוף ba A ללש ba ללש bs 101
L=a 3n b n n>0 המילה הקצרה ביותר aaab הרעיון: על כל שלושה a נדחוף A על כל b נשלוף A דחוף a S דחוף as A דחוף a A A q1 ללש aa ללש aa q2 q0 שלוף bs S שלוף ba A שלוף ba A q4 שלוף bs S q3 תאור )שלעיל( באמצעות טבלה עוברים למצב פעולה ראש המחסנית אות נבדקת מצב דחוף q0 a S דחוף q0 a S A דחוף q0 a A A שלוף q0 b A A שלוף q0 b S S q1 a A ללש q2 q2 a A ללש q0 שלוף q3 b A A שלוף q3 b S S q1 q1 q2 q2 q4 q3 q4 )מקבל( 102
L=a 2n b 3n n>0 דחוף a SAA דחוףAAA aa ללש aa שלוף ba A המילה הקצרה ביותר aabbb הרעיון: על כל a 2 נדחוף AAA על כל b נשלוף A שלוף ba A שלוף bs S L= a 2n b 3n n 0 שלוף ba A q0 דחוף a SAA q1 דחוףAAA aa ללש aa q2 שלוף ba A q3 המילה הקצרה ביותר הרעיון: כמו הקודם q4 שלוף bs S מעבר המילה aaaabbbbbb באוטומט )טבלת מעקב( מצב מחסנית אחרי עוברים פעולה למצב ראש המחסנית אות מצב נבדקת q0 a SAA דחוף q1 SAA q1 a A ללש q2 SAA q2 a A AAA דחוף q1 SAAAAA q1 a A ללש q2 SAAAAA q2 b A A שלוף q3 SAAAA q3 b A A שלוף q2 SAAA q3 b A A שלוף q3 SAA q3 b A A שלוף q3 SA q3 b A A שלוף q3 S q3 b S S שלוף )מקבל( q4 103
מקרים בהם מספר ה a גדול או קטן ממספר ה bים בקבוע. L=a n b n+1 n 0 דחוף a SA דחוף aa A פתרון א שלוף ba A המילה הקצרה ביותר b הרעיון: על ה a הראשון נדחוף SA על כל a נדחוף A על כל b נשלוף A ללש b שלוף ba A שלוף bs S דחוף a S דחוף as A דחוף aa A ללש bs ללש ba פתרון ב שלוף ba A המילה הקצרה ביותר b הרעיון: על כל a נדחוף A (ראשון S) עבור ה b הראשון לא נבצע מאומה על כל b נשלוף A ללש b שלוף bs S פתרון ג דחוף a A דחוף aa A שלוףA ba שלוף ba A המילה הקצרה ביותר b אין צורך ב S הרעיון: על כל a נדחוף A על כל b נשלוף A עבור b ומחסנית ריקה נעבור למקבל ללש b ללש b 104
L=a n+1 b n n 0 ללש a המילה הקצרה ביותר a הרעיון: על ה a הראשונה לא נבצע מאומה על כל a נוסף נדחוף A על כל b נשלוף A דחוף a S דחוף as A דחוף aa A שלוף ba A שלוף bs S שלוף ba A שלוף bs S L=a n-1 b n-2 n 0 0 n הרי רק עבור n שווה 2 מתקבל משהו "הגיוני". למעשה ה n הראשון המעשי הינו הפתרון הינו למעשה כמו התרגיל הקודם. למרות שרשום n שווה ל. 2 105
מקרים בהם יש שילוב של כפולה וקבוע L=a n+1 b 3n n 0 נציב את ה n הנמוך ביותר ונקבל את המילה a מכאן נובע המילה הקצרה ביותר a הרעיון: על ה a הראשונה לא נבצע מאומה על כל a נוסף נדחוף AAA על כל b נשלוף A ללש a דחוף a SAA דחוף aa AAA שלוף ba A שלוף bs S שלוף ba A L=a n+1 b 3n-2 n 0 עבור עבור n=0 n=1 : נקבל -2 b אסור. : נקבל. aab (שהיא גם המילה הקצרה ביותר) מבצעים מאומה. (כלומר על ה aa הראשונים ועל ה b האחרון אין לבצע מאומה. ה n הראשון המתקבל הוא "החריג". עבורו אין -2 "פנים" האוטומט חייב לטפל ביחס החזקות שהוא 1 ל 3 (מורידים את הקבועים 1+ ו ומקבלים (a n b 3n מה שמסומן באדום הינו הטיפול ב aab דחוף a AAA שלוף ba A דחוף aa AAA ללש b שלוף ba A ללש a ללש a ללש b 106
L=a n+1 b 3n-1 n 0 השלם את פונקצית המעברים של אוטמט המחסנית המבוקש (התיבות המקוקוות) נציב את ה n הנמוך ביותר שהוא 1 כי עבור 0 נקבל מספר שלילי. ונקבל את המילה aabb מכאן נובע המילה הקצרה ביותר aabb הרעיון: על 2 ה a הראשונות לא נבצע מאומה על כל a נוסף נדחוף AAA על כל b נשלוף A על 2 ה b האחרונים (כשהמחסנית ריקה לא נבצע מאומה ללש a דחוף a AAA דחוף aa AAA ללש b שלוף ba A ללש b L=a 2n+1 b 3n-1 n 0 שרטט את אוטמט המחסנית המבוקש נציב את ה n הנמוך ביותר שהוא 1 כי עבור 0 נקבל מספר שלילי. ונקבל את המילה aaabb מכאן נובע המילה הקצרה ביותר aaabb הרעיון: על 3 ה a הראשונות לא נבצע מאומה על כל a 2 נוספים נדחוף AAA על כל b נשלוף A על 2 ה b האחרונים (כשהמחסנית ריקה לא נבצע מאומה 107
מקרים בהם נדרש להכניס יותר מאות אחת למחסנית תרגיל 1 בנה המקבל את השפה הבאה מעל הא"ב :{a,b,c} L= a n b k c k d n k,n>0 שלוף da A שלוף cb B דחוף bb B דחוף aa A דחוף ba B שלוף da A שלוף cb B דחוף bs B דחוף a S הרעיון: על כל A a נדחוף שלוףS ds שלוףS ds על כל B b נדחוף על כל B c נשלוף על כל A d נשלוף ניתן לאחד את שני המצבים הראשונים כמו שנעשה באוטומט הבא כיצד נשנה את הפתרון לו השפה הינה L= a n b k+1 c k d n k,n>0 דחוף a S דחוף aa A דחוף bs B שלוף da A שלוף cb B דחוף bb B שלוף da A שלוף cb B ללש bs ללש ba שלוףS ds שלוףS ds כלומר השינוי הינו שעל ה b הראשון לא נבצע מאומה 108
תרגיל 2 בנה המקבל את השפה הבאה מעל הא"ב :{a,b,c} L={(a n b n ) (a z b z ) k time c k k>0} פתרון דחוף aa A דחוף a SA שלוף ba A שלוף ba A שלוף cc C שלוף cc C שלוף cs S דחוף ac CA דחוף as CA שלוף cs S 109
תרגיל 3 מספר ה a ים שווה למספר ה b ים בנה לשפה מעל {a,b} כך שמספר ה a ים שווה למספר ה b ים.(כולל המילה הריקה) פתרון א פתרון זה הינו במספר קטן של מצבים אך עם שימוש באותיות שונות בהכנסה דחוף a S דחוף b K דחוף bk B דחוף as A שלוף ab B שלוף ba A דחוף bb B דחוף aa A המילה הקצרה ביותר הרעיון: כל עוד מספר ה aים גדול ממספר ה bים נדחוף A ונשלוף B כל עוד מספר ה bים גדול ממספר ה A ונשלוף B נדחוף aים שלוף bs S שלוףK ak דחוף as A שלוף ba A דחוף aa A פתרון ב פתרון נוסף תוך שימוש רק ב A ו S בהכנסה למחסנית. שלוף bs S דחוף a S שלוף as S דחוף b S דחוף ba A שלוף aa A דחוף bs A 110
מקרים בהם יש לבצע הצבה עקב סימן מינוס בחזקה L= a n b n-k c k n k 0 רצוי להיפטר מסימן המינוס בחזקה. נציב j=n-k נציב ונקבל נעביר אגף ונקבל גם j+k=n a j+k b j c k מכאן הפתרון ברור והוא על כל a נדחוף על כל b נשלוף ועל כל c נשלוף. 111
דף תרגילים מספר 14 -בנית תרגיל 1 בנה לשפות הבאות L= a n b k+1 c k d n k,n 0 k>0,n 0 k 0,n>0 א. כאשר ב. כאשר ג. כאשר תרגיל 2 בנה למילים מעל {a,b} כך שמספר ה a ים גדול ב 1 ממספר ה b ים. תרגיל 3 בנה לשפה הבאה L= a 2n-1 b 3n ** תרגילים נוספים ב בדף תרגילים מספר 15 בעמוד 127 לערך 112
שילוב של אוטומט רגיל ו L={a m b n a n n,m >0 { לפניך השפה L מעל הא"ב {a,b} בנה שיקבל את השפה L. פתרון )מספר ה a בהתחלה לפחות אחד ואינו תלוי ולכן על כל a המחסנית תשאר ללא שינוי( ללש a דחוף ba A דחוף bs A שלוף aa A ללש a שלוף aa A דחוף b S שלוף as S שלוף as S L={a m b n a n n,m זוגי >0 m+n{ לפניך השפה L מעל הא"ב {a,b} בנה שיקבל את השפה L. פתרון )מספר ה a בהתחלה לפחות אחד ואינו תלוי ולכן על כל a המחסנית תשאר ללא שינוי אך כיוון שיש לשמור על זוגיות ה a בהתחלה תזוז בין שני מצבים( ללש a להלן האוטומט ללש a דחוף b S דחוף ba A דחוף bs A דחוף b S שלוף aa A שלוף aa A דחוף ba A דחוף bs A שלוף as S 113
L={c k b 2n (ab) n c k%2 k>0, n>=0} לפניך השפה L מעל הא"ב {a,b} בנה שיקבל את השפה 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,a A שלוף ab,s S שלוף ab,a A שלוף ab,s S ללש c 114
מקרים בהם אין צורך בהכנסת S בתוכנית הלימודים מקובל להכניס S על האות הראשונה והסברנו זאת בתחילת הפרק שכאשר אנו מוציאים את S אנו יודעים שהמחסנית התרוקנה. אך לעיתים אין צורך בהכנסת S. להלן מספר דוגמאות". L= a n b k k>n 0 דחוף aa A דחוף a A שלוף ba A המילה הקצרה ביותר b אין צורך ב S הרעיון: על כל a נדחוף A על כל b נשלוף A עבור ה b הראשונה כשה מחסנית ריקה עוברים למצב מקבל שלוף ba A ללש b ללש b ללש b L= a n b k n>k 0 המילה הקצרה ביותר a אין צורך ב S הרעיון: על ה a הראשונה ללש על כל a נדחוף A על כל b נשלוף A שלוף ba ללש a a A שלוף ba A a A AA 115
L= a 2n b 3n +1 n 0 פתרון א המילה הקצרה ביותר :b אין צורך ב S הרעיון: על כל a 2 נדחוף AAA (על הראשון דוחפים ועל השני אין מבצעים דבר). על כל b נשלוף A על ה b האחרון לל"ש שלוף ba A ללש b שלוף ba דחוף a AAA דחוףAAA a A ללש A a ללש b פתרון ב המילה הקצרה ביותר :b אין צורך ב S הרעיון: על כל a 2 נדחוף A (על הראשון דוחפים ועל השני אין מבצעים דבר). על כל שלושה b נשלוף A על ה b האחרון לל"ש a A ללש a a A AA שלוף ba a ללש ba ללש ba ללש A a ללש ba ללש b ללש b 116
L= a 2n+1 b n+2 n 0 ללש a ללש a aa AA a A שלוף ba a שלוף ba a ללש b ללש b ללש aa ללש b המילה הקצרה ביותר bb: אין צורך ב S הרעיון: על כל a 2 נדחוף A ועל כל b נשלוף. על ה b האחרון ללש. 117
תרגילים שונים )רובם פתורים( שלוף ba A L=( a 2n b n )* *>0 שלוף ba A שלוף bs S דחוף a S ללש aa דחוף aa A שלוף bs S דחוף a S L=a n+k b n c k n 0 k > 0 כיצד יראה הפתרון לו 1 * המילה הקצרה ביותר ac: הרעיון: על כל a נדחוף A ועל כל b נשלוף ועל כל c נשלוף. מקרה קיצון: n שווה לאפס דחוף aa A דחוף as A דחוף a S שלוף ca A שלוף ca A שלוף ba A שלוף ca A שלוף ba A שלוףS cs שלוףS cs 118
L=a n b n+k c k n 0 k>0 הרעיון : על כל a נדחוף, על כל b נשלוף עד שהמחסנית מתרוקנת. כעת על כל b נדחוף ועל כל c נשלוף. a n b n+k c k a n b n b k c k מקרה קיצון: n שווה לאפס כלומר אין a במילה. המילה הקצרה ביותר bc: הרעיון: על כל a נדחוף A ועל כל b נשלוף על b כשהמחסנית ריקה נדחוף ועל כל c נשלוף דחוף aa A דחוף a A דחוף b S שלוף ca A דחוף B S שלוף ba A דחוף B S שלוף ba A שלוף ca A שלוףS cs שלוףS cs L=a 2n-k b n c n-k+1 n,k 0 ומכאן נובע הרעיון לפיתרון המופיע בהמשך. n+x n x+1 x+n n x L=a b c =a b c c ונקבל n-k=x L=a n+n-k b n c n-k+1 n+n-k n n-k+1 L=a b c נציב הרעיון : על כל a נדחוף, על כל b נשלוף, על כל c נשלוף. לבסוף c נוספת. מקרה קיצון: n שווה לאפס כלומר אין b במילה. שלוף ca A שלוף ba A דחוף aa A דחוף a A שלוף ca A שלוף ba A שלוף ca A ללש c ללש c 119
L= a 2n+1 b n-m a m+1 n>m 0 k=n-m k+m=n א. מהי המילה הקצרה ביותר. ב. מהי המילה הקצרה ביותר לו התנאי היה n>=m>=0 פתרון תחילה נפטר מפעולת החיסור כיוון שמופיע n-m נבצע הצבה כמו כן m יכול להיות 0 ומהתנאי n>m נובע ש n לפחות 1 נציב ונקבל L=a 2(k+m)+1 b k a m+1 = aa 2k+2m b k a m+1 = aa 2m a 2k b k a m a מכאן על ה a הראשון נכניס A בודד. כעת על כל a 2 נכניס A למחסנית על כל b נוציא ועל כל a נוציא. שלוף ba A (אין צורך בהכנסת אותיות שונות) דחוף as A שלוף aa A דחוף aa A ללש aa שלוף as S שלוף aa A שלוף ba A דחוף a S שלוף as S ב. המילה הקצרה ביותר aaaba ג. המילה הקצרה ביותר aa 120
L= a n+1 b n-m a 2m+1 n>m 0 א. מהי המילה הקצרה ביותר. ב. מהי המילה הקצרה ביותר לו התנאי היה n>=m>=0 ג. בנה. פתרון א. המילה הקצרה ביותר aaaba ב. המילה הקצרה ביותר aa ג. תחילה נפטר מפעולת החיסור כיוון שמופיע n-m נבצע הצבה k=n-m k+m=n כמו כן m יכול להיות 0 נובע ש n לפחות 1 L=a k+m+1 b k a 2m+1 = aa k+m b k a 2m+1 = aa m a k b k a 2m+1 נציב ונקבל m>=0, k>0 דחוף aa A דחוף as A שלוף ba A דחוף a S שלוף aa A שלוף ba A שלוף as S ללש aa שלוף aa A א. המילה הקצרה ביותר aaaba ב. המילה הקצרה ביותר aa 121
L= a 2n+1 b n-m a m-1 n>m 0 תחילה נפטר מפעולת החיסור כיוון שמופיע n-m נבצע הצבה k=n-m k+m=n כמו כן m חייב להיות לפחות 1 נובע שגם n לפחות 2 נציב ונקבל L=a 2(k+m)+1 b k a m-1 = aa 2k+2m b k a m-1 = aa 2m a 2k b k a m-1 k>0 m 0 המילה הקצרה ביותר עבור 2=n 1=m הינה aaaaab השלם את האוטומט מקבלת את המילים מעל {a,b} זוגיn L1=a n ba n b L=(L1) K n,k 0 בנה שיקבל את השפה. L1 פתרון ללש b דחוףaA A דחוףa A ללש ba שלוףA aa דחוףaA A ללש b תרגיל בנה לשפה L L1=ba n ba n L=(L1) K זוגי n,k 0 n 122
תרגיל בנה המקבל את השפה הבאה מעל הא"ב :{a,b,c,d} L={a n b n+m+k c m d k n,m,k 0 { a n b n+m+k c m d k == a n b n b m+k c m d k פתרון על כל a נדחוף, על כל b נשלוף, כאשר המחסנית מתרוקנת אזי על כל b נדחוף נדחוף על כל c נשלוף ועל כל d דחוף as A נשלוף שלוף ba A דחוף aa A דחוף a S שלוף ba A שלוף bs S שלוף bs S שלוף cs S שלוף ds S שלוף cs S שלוף ds S שלוף ds S שלוף da A שלוף ca A דחוף b S דחוף bs A דחוף ba A שלוף da A שלוף ca A L={a n b m c k n,m,k>0,k n+m} בנה המקבל את השפה מעל הא"ב { a,b,c }הרשומה לעיל. דחוף aa A ללש c שלוף ca A דחוף ba A דחוף A S שלוף ca A שלוף cs S דחוף ba A 123
L={a n b k n, k 0, k=n/2} בנה המקבל את השפה L מעל הא"ב.{a,b} הערה : 5/2 שווה 6/2. 2 שווה.3 פתרון הרעיון: על כל a 2 נדחוף. A (על ה a השניה) על כל b נשלוף A שלוף ba A שלוף bs S שלוף ba A שלוף ba A ללש a דחוף a S שלוף bs S ללש as ללש aa דחוף as A דחוף aa A שלוף bs S מחרוזת פנינים בבית חרושת מייצרים מחרוזות המורכבות מפנינים גדולות וקטנות, ובכל מחרוזת מספר הפנינים הקטנות שווה למספר הפנינים הגדולות. המחרוזת צריכה להתחיל ברצף של פנינים קטנות ולהסתיים ברצף של פנינים קטנות ובמרכזה רצף של פנינים גדולות. מחרוזת שאינה עומדת בתנאים אלו אינה עוברת את בדיקת האיכות. א. הגדר שפה שמתאימה לכל המחרוזות העומדות בבדיקת האיכות. ב. בנה הקובע אם מחרוזת נתונה עוברת את בדיקת האיכות..{a,b} מעל הא"ב {a n b n+m a m n, m>0 } פתרון א. השפה היא דחוף aa A שלוף ba A דחוף a A דחוף bs A שלוף aa A דחוף ba A ב. שלוף aa A דחוף b S שלוף ba A שלוף as S שלוף as S 124
תרגיל )דורון זוהר( } even L={ (yx) n z k (xy) j n,k 0 n<j k בנה עבור השפה הבאה מעל הא"ב :{x,y,z} ללש ya ללש y פתרון דחוף ya A דחוף y A q0 q1 ללש z ללש za ללש z ללש za ללש xa ללש z ללש za שלוף xa A q2 q4 שלוף xa A q3 שלוף xa A ללש x q5 ללש x ללש x q6 ללש y q7 ללש x 125
לא דטרמיניסטי המודל של הינו לא דטרמיניסטי. למעשה דטרמיניסטי הינו מקרה פרטי של. כוחו של לא דטרמיניסטי גדול יותר מכוחו של דטרמיניסטי. תרגיל 1 בנה אוטומט המקבל את השפה הבאה: L={a n b k c m n=k או k=m n,k,m>0} פתרון הרעיון : נחלק לשני מקרים מקרה אחד כאשר מספר ה aים שווה למספר ה bים שאז על כל a נדחוף A למחסנית ועל כל b נשלוף. עבור ה cים לא בצע מאומה. מקרה שני כאשר מספר ה bים שווה למספר ה c םי שאז על כל a לא נבצע דבר על כל b נדחוף A למחסנית ועל כל c נשלוף. האי דטרמיניזם מתבטא (בתו הראשון) שכאשר יש לנו a והמחסנית ריקה ניתן לבחור בשתי אפשרויות : דחוף A או לל"ש. ללש c שלוף ba A דחוף aa A ללש c שלוף ba A דחוף a A שלוף cs S שלוף cs S ללש a שלוף ca A דחוף b S דחוף bs A ללש a דחוף ba A שלוף ca A 126 לא דטרמיניסטי
תרגיל 2 בנה אוטומט המקבל את השפה הבאה: פתרון מילה מעל { a,b,c }שאורכה זוגי והינה פלינדרום כולל המילה הריקה. * פירושו לא משנה מה יש בראש המחסנית. הפתרון אינו דטרמיניסטי. הרעיון: על כל אות דוחפים למחסנית את האות הגדולה המתאימה לה ללא תלות במה שיש ברשא המחסנית. מרגע מסוים מתחילים להוציא אך פה אם יש בקלט a אזי חייב להיות בהתאמה (בחלק השמאלי של המילה). a בראש המחסנית שפירושו שהיה A דחוף a X דחוף b Y דחוףZ c דחוף a* A דחוף b* B שלוף aa A דחוףC c* שלוף bb B שלוףC cc שלוף aa A שלוף bb B שלוףC cc שלוף a X X שלוף b Y Y שלוף c Z Z שלוף a X X שלוף b Y Y שלוף c Z Z בנה אוטומט המקבל את השפה הבאה: מילה מעל {a,b,c} שהינה פלינדרום כולל המילה הריקה. 127 לא דטרמיניסטי
תרגיל 3 בנה אוטומט המקבל את השפה הבאה: L={a n b k 3n k n n,k >0} פתרון A. נשליך b על כל AAA הרעיון : על כל a נדחוף A או AA או דחוף as A דחוף as AA דחוף as AAA דחוף aa A דחוף aa AA שלוף ba A דחוף aa AAA דחוף a S דחוף a SA דחוף a SAA שלוף ba A שלוף bs S שלוף bs S 128 לא דטרמיניסטי
מספר כללים ל -חזקות a m+n == a m a n לפי חוקי החזקות מתקיים ולכן הרעיון הכללי הוא להגיע == a n a m a m*n == (a m ) n == (a n ) m a 0 ==ε למצב שיש לנו חזקות שוות או כפולות של חזקות חזקת אפס נותנת את מילה הריקה a n b 2n+1 = a n b 2n+1 = a n b 2n b = (a) n (b) 2n b b ועל כל שני A דוגמאות על כל a נכניס למחסנית או על כל a נכניס למחסנית נוציא (על ה b השנייה) כשהמחסנית ריקה צריך b b נוציא כשהמחסנית ריקה צריך b ועל כל AA אם הפירוק הינו (a) n b (b) 2n אזי על כל a נכניס למחסנית או על כל a נכניס למחסנית A על ה b הראשונה לא נעשה כלום (לל"ש) ועל כל שני b נוציא (על ה b השנייה) AA על ה b הראשונה לא נעשה כלום (לל"ש) ועל כל b נוציא כשהמחסנית ריקה צריך b הערה: נובע n>0 גם אם נאמר.n>=0 a n b n-1 = aa n-1 b n-1 = a(a) n-1 (b) n-1 על כל a נכניס למחסנית ועל כל b נוציא (הסוגריים הינם להדגשה בלבד) a n b k c m k=n+m = a n b n+m c m = a n b n b m c m על כל a נכניס למחסנית ועל כל b נוציא כאשר המחסנית ריקה והאות בקלט b נתחיל שוב להכניס למחסנית ובהמשך על כל c להוציא. נציב k=n-m= נובע גם ש n=m+k נציב במקור ונקבל a n b n-m c m = a m+k b k c m = a m a k b k c m על כל a נכניס למחסנית ועל כל b נוציא ועל כל c נוציא. 129
דף תרגילים מספר 15-1. L=a n b k n>k k 0 2. L=a n b k n k n,k 0 3. L=a n b 2w 2w>n שארית חלוקת n ב > 2 w 4. L=a n b w 5. L=a n n % 3 = 1 6. L=a n b w n % 3 = 1, w % 2 = 0 (שקול ל (L=a 3n+1 b 2w n, w 0 7. L=a n b w w = n % 3 8. L=a n b w w % 3 = n% 3 9. L=a 2n b 3n+1 n 0 a A ללש ba ללש ba ללש ba a A AA ללש a ללש A a ללש ba ללש b ללש b 10. L=a 5n-1 b 3n+2 n>0 11. L= ( a n b k c m a k+n+1 n,k,m 1 ) 12. L= a n b m c 2(m-n) m n n>0 13. L= a 3n-1 b 2m c m+2 d n+1 n>0 m 0 14. L=a n b m a k b l n,m,k,l 0 n+k=m+l a r a s b s b t a t a w b w b r ניתן לפרק את הביטוי ל 130
15. L=a n b m c k n,m,k >0, n+m אי זוגי, n+m > k 16. a i b j i>j 0 == a k a j b j k>0 j 0 ללש e חוף aa ללש a a ללש aa AA ba e דף תרגילים מספר 16 - עבור כל תרגיל רשום את הרעיון בלבד 1. a 3n+8 b n+2 n 0 2. a 2n+3 b n+1 n 0 3. a n-1 b 2n-1 n 0 4. a 3n-2 b n+1 n>0 5. a 2n-1 b 3m+1 c m+3 d n+1 n 0 6. a i b j i j j 0 7. a n b 2n+1 n 0 8. a 3n+8 b n+2 n 0 9. a 2n+3 b n+1 n 0 10. a n-1 b 2n-1 n 0 11. a 3n-2 b n+1 n>0 12. a 2n-1 b 3m+1 c m+3 d n+1 n 0 13. a 2n+1 b n+2 n 0 aa AA a ללש a ללש a A ba Δ ba Δ ללש b ללש b ללש aa ללש b 131
דף תרגילים מספר 17 -אסד ו 1. בנה שיקבל את השפה הבאה a m b k c j m>=0 k>=2 m+k<j j % 2 = 0 } נתונה השפה הבאה : { זוגי (2n+k) a n c k b 2n+k n>0, k>=0,.2 בנה לשפה. שרטט אוטומט סופי דטרמיניסטי המקבל את שפת כל המילים מעל האב' }0,1,2 } המתחילות ב - 0 ומסתימות ב - 2 ולא מכילות את הרצף 02, וכן לא מתקיים שיש במילה שתי אותיות זהות רצופות..3 א. ב. ג. ד. ה. בנה לכל אחת מהשפות הבאות נתונה השפה הבאה : k>=0{ }a 1+2n b k c n+k n, נתונה השפה הבאה : { זוגי (2n+k) } a n c k b 2n+k n>0, k>=0, לפניך השפה הבאה: } 2 l={a i b j c k i>=0, j>0, j % 2=0, k= 1+ i % מהם הערכים האפשריים של הביטוי? i % 2 מהם הערכים האפשריים של k? מהי המילה הקצרה ביותר בשפה? תן 2 דוגמאות שונות למילים בשפה: ו- 2 דוגמאות למילים שאינן בשפה: בנה אוטומט סופי דטרמיניסטי מעל } ={a,b,c המקבל את השפה הנ"ל..4.5 קוד סודי של כרטיס אשראי בנוי מ- 4 תווים באופן הבא: התו הראשון הוא אחת מהאותיות.a,b,c שני התווים הבאים הם שתיים מהספרות 0-9. התו האחרון הוא אחת מהאותיות,a,b,c אך שונה מהתו הראשון..5 ו. ז. מה הא"ב של השפה? בנה אוטומט סופי דטרמיניסטי המקבל את כל המילים המהוות קוד כרטיס אשראי. 132 תרגילים באסד ו
תרגיל 1 נתונים שני האוטומטים (סופיים דטרמיניסטים) הבאים מעל } a,b { b b b a,b start a a a b a,b start a,b a a,b בדוק עבור שני האוטומטים האם המילים הבאות מתקבלות : aaaaba (3) abbaba (2) abaaa (1) א. ב. הסבר במילים מהי השפה המתקבלת עבור האוטומט הראשון. - הסבר מדוע, עבור שתי הטענות הבאות, אם הטענה נכונה - הבא דוגמא נגדית (דוגמא שסותרת את הטענה). ואם אינה נכונה כל מילה המתקבלת באוטומט השני מתקבלת גם באוטומט הראשון. (1) כל מילה המתקבלת באוטומט הראשון מתקבלת גם באוטומט השני. (2) ג. תרגיל 2 במשחק "בן - בת " שני כללים : הילדים יושבים בשורה כך שאין אף בן שמשני צדדיו יושבות בנות ) בת מכל צד ( וכן אין בת בין שני בנים. כל רצף ילדים חייב להתחיל בבת ולהסתיים בבן. 1. מהו א"ב השפה? 2. תן דוגמא לרצף שעומד בכללי המשחק ולרצף שאיננו עומד בכללים. 3. בנה אוטומט סופי דטרמיניסטי המקבל את הרצפים העומדים בכללי המשחק. 133 תרגילים באסד ו
תרגיל 3 נתונה השפה הבאה מעל א"ב { a,b } : l = { a 2n b n+m c 2w n,m >= 0 m<2w { תרגיל 4 L = } 0 i 1 j 2 i+j+k 3 k i,j,k >= 0 { נתונה השפה הבאה : א. עבור כל מילה בדוק האם היא שייכת לשפה, אם לא הסבר בקצרה מדוע לא. לא שייכת לשפה, הסבר מדוע לא שייכת לשפה המילה 0123.1 0011222223.2 2233.3 1133.4 תרגיל 5 נתון האוטומט הבא מעל הא"ב }0,1{ : 1 0,1 0,1 0 0 1 1 1 0 0 א. הגדר אילו מילים מתקבלות. ב. בנה את האוטומט המתאים לשפה ההפוכה. פתרון א. ב. המילים המתקבלות הם המתחילות ב 1 ואורכן זוגי או מתחילות ב 0 ומספר ה 1 מתחלק ב 3 ללא שארית. פתור. 134 תרגילים באסד ו
מעל הא"ב }a,b{ : תרגיל * 6 נתונים האוטומטים הבאים b b a a a,b a,b a,b לכל אוטומט רשום א. הגדר אילו מילים מתקבלות. ב. בנה את האוטומט המתאים לשפה ההפוכה. תרגיל 7 בנה אוטומט סופי דטרמיניסטי מעל {0,1,2} המקבל מילה המסתיימת ב 11 או = 1 3 w % תרגיל 8 מהי השפה המתקבלת על ידי האוטומט הבא: 0,1,2 0,1,2 2 0,1 0,1,2 135 תרגילים באסד ו
תרגיל 9 מהי השפה המתקבלת על ידי האוטומט הבא: 0,1 2 2 2 2 0,1 0,1 0,1 0,1 c n a m bc n-m m n n>0 k=n-m n=k+m == c k+m a m bc k == c k c m a m bc k תרגיל 11 בנה ל לשפה הבאה פתרון חלקי נרשום מכאן נובע נציב ונקבל תרגיל 11 בנה אוטומט סופי דטרמיניסטי אשר מקבל את השפה הבאה מעל הא"ב} a,b ) אוסף המילים המתחילות ברצף aba ומסתיימות ברצף.ba האם שפה מעל הא"ב }a,b,c{ המכילה את המילים המתחילות ב c מספר ה a מתחלק ב 3 ללא שארית ומסתיימות ברצף aabb רגולרית. הסבר תשובתך במספר משפטים. } (ab) n (ba) n L={a n b m (n+m) % 2=0,n,m>0} תרגיל 12 בנה המקבל את השפה { 0=<n בנה אוטומט סופי דטרמיניסטי לשפה הבאה: 136 תרגילים באסד ו
תרגיל 13 בנה אוטומט סופי דטרמיניסטי, המקבל את כל המילים מעל הא"ב { }a,b, המכילות לפחות 2 אותיות a ומספר אותיות ה b בהן מתחלק ב 2. תרגיל 14 נתונים שני האוטומטים הבאים (סופיים ודטרמיניסטיים ( מעל {a,b} : b a a a a,b b b b a a,b a a b b א. בדוק עבור שני האוטומטים האם המילים הבאות מתקבלות : aaaaba.3 abbaba.2 abaaa.1 ב. ג. הסבר במילים מהי השפה המתקבלת עבור האוטומט הראשון. עבור שתי הטענות הבאות, אם הטענה נכונה הסבר, אחרת תן דוגמה נגדית. I. כל מילה המתקבלת באוטומט העליון מתקבלת גם באוטומט התחתון..II כל מילה המתקבלת באוטומט תחתון מתקבלת גם באוטומט העליון. 137 תרגילים באסד ו
תרגיל 15 בנה אוטומט סופי דטרמיניסטי המקבל את כל המילים מעל } a,b { המכילות לפחות 2 אותיות a ומספר אותיות ה b בהן מתחלק ב 3. תרגיל 16 בנה שיקבל את השפה הבאה a n b m m > 2n n,m 0 תרגיל 17 בנה שיקבל את השפה הבאה a n b m c 2(m-n) m > n 0 a n b m c 2(m-n) תרגיל 18 בנה שיקבל את השפה הבאה : m > n תרגיל 19 שרטט אוטומט סופי דטרמיניסטי המקבל את שפת כל המילים מעל האב' }0,1,2 } המתחילות ב - 0 ומסתימות ב - 2 ולא מכילות את הרצף 02, וכן לא מתקיים שיש במילה שתי אותיות זהות רצופות. תרגיל 21 בנה אוטומט סופי דטרמיניסטי אשר מקבל את השפה הבאה מעל הא"ב} 0,1 { אוסף המילים המתחילות ב, 1 מכילות מספר זוגי של אפסים ומסתיימות ב 11. (11 מתקבל) 0 1 0 1 1 0 1 0,1 0 1 0 138 תרגילים באסד ו
סגירות שפות חופשיות הקשר כל שפה רגולרית הינה גם חופשית הקשר אך לא להיפך. לשפה שניתן לבנות לה אס"ד קוראים שפה רגולרית. שפה שניתן לבנות לה הינה חופשית הקשר. לכל שפה רגולרית ניתן לבנות ולכן כל שפה רגולרית הינה גם חופשית הקשר. משפחת השפות חופשיות ההקשר סגורה תחת מספר פעולות: L 1 U איחוד L 2 L 1 שירשור L 2 היפוך L} L R = {w w R חיתוך עם שפה רגולרית L R תרגיל 1 L= a n b n תהי פתרון א לשפה האם L1=L R(L) a n b n חופשית הקשר. בנינו וכיוון ששפות חופשיות הקשר סגורות לתכונות היפוך ושרשור נובע ש L1 חופשית הקשר. פתרון ב (שאינו רצוי) בניית לשפה. תרגיל 2 חיתוך תהי פתרון. האם L=L1 L2 L2= a k b n c n L1= a n b n c k לא. כי חיתוך השפות נותן a n b n c n ולא ניתן לבנות. ברור שקיימים מקרים בהם החיתוך נותן שפה חופשית הקשר. חופשית הקשר. 139 סגירות שפות חופשיות הקשר
שרשור ( L2 L1 פירושו כל המילים אשר ניתן לחלק אותן לשני חלקים כך שהחלק השמאלי שייך ל L1 והימני ל L2( דוגמה: a 2n b n מהצורה n>0 {a,b} a n b n מהצורה n>0 {a,b} תהי תהי L1 שפת כל המילים מעל L2 שפת כל המילים מעל אם ידוע ש L1 חופשית הקשר ו L2 חופשית הקשר אזי L3=L1 L2 גם כן חופשית הקשר. L3 = L1 L2 או ב L2(. L1 איחוד דוגמה: ( L1 L2 פירושו כל המילים המתקבלות ב a 2n b n מהצורה n>0 {a,b} a n b n מהצורה n>0 {a,b} תהי תהי L1 שפת כל המילים מעל L2 שפת כל המילים מעל אם ידוע ש L1 חופשית הקשר ו L2 חופשית הקשר אזי L3=L1 L2 גם כן חופשית הקשר. L3 = L1 L2 דוגמה: a n b n c k מהצורה n>0 {a,b,c} a k b n c n מהצורה n>0 {a,b,c} תהי תהי L1 שפת כל המילים מעל L2 שפת כל המילים מעל אם ידוע ש L1 חופשית הקשר ו L2 חופשית הקשר אזי L3=L1 L2 גם כן חופשית הקשר. L3 = L1 L2 היפוך L דוגמה: b n a n הינו n>0 L אזי היפוך שך a n b n מהצורה n>0 {a,b} תהי L שפת כל המילים מעל 140 סגירות שפות חופשיות הקשר
והן ב L2(. פירושו כל המילים המתקבלות הן ב L1 L1 L2 ( חיתוך שפה חופשית הקשר עם שפה רגולרית נותן שפה חופשית הקשר a n b n c k מהצורה n>0 {a,b,c} תהי תהי L1 שפת כל המילים מעל L2 שפת כל המילים מעל {a,b,c} שבהן מספר ה a זוגי..a 2n b 2n c k מכילה המילים מהצורה n>0 L3 = L1 L2 חיתוך שתי שפות חופשיות הקשר שחיתוכן אינו חופשי הקשר תהי תהי L1 שפת כל המילים מעל L2 שפת כל המילים מעל. b שווה למספר ה a שבהן מספר ה {a,b,c}. c שווה למספר ה b שבהן מספר ה {a,b,c} מכילה מילים שבהם מספר ה a שווה למספר ה b שווה למספר ה. c L3 = L1 L2 141 סגירות שפות חופשיות הקשר