מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת) אוטומט מחסנית דטרמיניסטי שפות חופשיות הקשר (שפת ראי מסומנת) סגירות:איחוד,שרשור,היפוך, חיתוך עם שפה רגולרית אוטומט סופי דטרמיניסטי שפות רגולריות סגירות:חיתוך,איחוד,שרשור,משלים,היפוך 1
זכויות יוצרים עלות השימוש בספר זה החל משנת 2012-2013 הינה 10 שקלים. את עלות השימוש יש להעביר ל: אברבוך חיים מרדכי 11 רמת השרון מיקוד 47441 בספר הושקעו זמן ומחשבה מרובים על מנת לעשותו קריא ומובן לכל. אשמח לקבל תגובות הערות תוספות ותיקונים. vp01335@netvision.net.il או himv@zhv.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
הערה: לעיתים בתוכן הענינים האותיות האנגליות יצאו גדולות כאשר בספר עצמו הן קטנות. הקדמה הנושא מודלים חישוביים הינו נושא הנלמד גם במסגרת לימודים על תיכוני. לימוד הנושא במוסד אקדמי כולל הרחבה של הנושא מעבר לתוכנית הלימודים בתיכון. הספר שלהלן מקיף את רוב תוכנית הלימודים לפי הנחיות משרד החינוך. הסבר המושגים בויקיפדיה נעשה באופן מדעי/אקדמי וכאמור מכיל הרחבה של תוכנית הלימודים למרות זאת מומלץ לעיין בו. כיצד ללמוד עליכם לקרוא את הספר. חובה לעין בכל דוגמא ובכל מה שמסומן בירוק עם רקע צהוב כמו כן לעיין היטב בתרגילים הפתורים. אין לעבור לפרק הבא לפני שפתרתם מספר תרגילים מכל פרק. לקרוא היטב את עמודי הסיכום. לגבי מבחני בגרות ןפתרונותיהם מומלץ לעיין באתר של הילה קדמן kdmn.net 8
מהי מכונת טיורינג מכונת טיורינג הינה מודל מופשט המסוגל לבצע כל חישוב או אלגוריתם הניתן לביצוע במחשב. המכונה מקבלת סרט המכיל סימן ראש סרט תווים ולבסוף מכיל את הסמל "ריק". ראש הקריאה כתיבה נמצא על תו כלשהו לרוב על התו הראשון מימין לראש הסרט. מסמן את ראש הסרט. מסמן את הסמל "ריק". )ניתן לדמות לצורך ההבנה בלבד את הסמל "ריק" לסימן רווח( המכונה עוברת על הסרט ומחליפה כל תו בתו אחר )כולל הוא עצמו שאז אין שינוי בסרט(. המכונה יכולה לנוע שמאלה או ימינה כאשר אסור לה לנוע משמאל לסימן תחילת הסרט. דוגמה : לאחר הפעולה ימין / הסרט יראה 142 מכונת טיורינג
המכונה מורכבת מהחלקים הבאים: סרט המחולק לתאים והוא אינסופי ימינה. ראש שמסוגל לקרוא את תוכן התא ולכתוב לתוכו מיד לאחר הקריאה ולאחר מכן לזוז ימינה או שמאלה. מצב התחלתי. הוראות המורות לראש מה לכתוב בתא, לאן לזוז )תא אחד ימינה או תא אחד שמאלה(, כל זאת בהתאם למצב הנוכחי )כפי שהוא רשום באוגר המצב( ולסמל/אות/סימן שנקרא מהתא הנוכחי. אם אין בטבלה התייחסות לצירוף של המצב והסמל הנוכחיים, המכונה עוצרת. כל מרכיביה של מכונת טיורינג הם סופיים, מלבד הסרט שאינו מוגבל באורכו. מכונת טיורינג מתחילה את פעולתה במצב ההתחלתי, כשעל הסרט כתוב מידע כלשהו - הקלט. הקלט הוא תמיד סופי, והאלפבית של האותיות שמרכיבות אותו הוא חלקי ממש לאלפבית של הסימנים שניתן לרשום על הסרט. הסימן מטרתו לציין את סיום הקלט. המכונה יכולה לשנות את מצבו של הסרט ולבסוף עשויה לעצור או שלא לעצור. באופן כללי המכונה נעה על הסרט ימינה ושמאלה בהתאם לנדרש ומחליפה כל אות )סימן( באות, במטרה להגיע לתוצאה הרצויה. התוצאה הרצויה יכולה להיות החלטה אם מילה מתקבלת בשפה או שלא, או תוצאה של פונקציה מסוימת למשל שארית חלוקה בשלוש, או השלמת המספר למספר המתחלק בשלוש ללא שארית. מצב מקבל לפי תוכנית הלימודים קיימת מוסכמה שבכל מכונת טיורינג יש מצב מקבל: באם המכונה בודקת האם מילה שייכת לשפה הרי מצב מקבל == אכן המילה משתייכת לשפה. למשל האם המילה cc שייכת לשפה n n c n באם המכונה מבצעת משהו למשל אם אורך המילה איזוגי מוסיפה בסוף המילה אחרת משאירה ללא שינוי אזי מצב מקבל == סיימנו את המשימה ובצענו אותה בהצלחה. נא עיינו בדוגמאות הבאות: תחילה נראה דוגמה למכונה המבצעת פונקציה לאחר מכן נראה מכונה הבודקת שפה רגולריות)כאלה שניתן לבנות להן אס"ד(, לאחר מכן מכונה הבודקת שפה חופשית הקשר )כאלה שאוטומט מחסנית יכול לטפל בהן( לאחר מכן מכונה שבודקת שפה שאינה חופשיות הקשר ולבסוף נחזור ונראה מכונות המבצעות פונקציות. הגדרת מספר אונרי: כלום ערכו 0 1 ערכו 1 11 ערכו 2 111 ערכו 3 וכו 143 מכונת טיורינג
הסבר על מכונת טיורינג באמצעות תרגילים דוגמה א: מכונת טיורינג המחליפה ל ו ל )בשפה מעל {,} ). בנה מכונת טיורינג המקבלת מילה מעל ו ל {,} כאשר ראש המכונה נמצא על התו הראושן(השמאלי) ומשנה ל ימין / הרעיון: ננוע רק ימינה ונחליף ב ב ימין / ימין / המצב המקבל פירושו שהצלחנו לסיים את המשימה ולבצע אותה בהצלחה. דוגמה ב: מכונת טיורינג המוסיפה בסוף המילה)בשפה מעל {,} ) בנה מכונת טיורינג המקבלת מילה מעל מימין למילה. {,} כאשר ראש המכונה נמצא על התו הראשון(השמאלי) ומוסיפה ב ב ננוע רק ימינה ונחליף הרעיון: את הסמל "ריק" הראשון נחליף ב ימין / ימין / ימין / דוגמה ג: מכונת טיורינג המוסיפה 1 למילה באורך איזוגי)בשפה מעל {1{ ) הרעיון: ננוע רק ימינה ונחליף 1 ב 1 כאשר המעבר בין שני המצבים הוא מונה זוגיות אי זוגיות. באם הגענו סמל "ריק" הראשון כשמספר האחדים אי זוגי נחליף אותו ב 1 ימין 1/1 ימין 1/1 ימין 1/ 144 מכונת טיורינג
דוגמה ד: מכונת טיורינג הבודקת שהאות האחרונה )מעל }, } ) הרעיון: ננוע ימינה וכשנגיע לסימן ריק נחזור שמאלה ונבדוק האם התו הינו ימין / ימין / ימין / שמאל / דוגמה ה: מכונת טיורינג הבודקת שהאות הראשונה זהה לאחרונה )מעל }, } ) הרעיון: לשני מסלולים אחרי התו הראשון נתפצל ימין / ימין / ימין / שמאל / ימין / ימין / שמאל / ימין / ימין / ימין / 145 מכונת טיורינג
דף תרגילים 1 במכונת טיורינג עבור כל מכונה אמור מה היא מבצעת )בודקת( (מעל }1} ( ימין 1/1 ימין 1/1 ימין 1/ ימין 1/ ימין 1/ (מעל },} ( ימין / ימין / ימין / / ימין / ימין / ימין / ימין / ימין / 146 מכונת טיורינג
מכונת טיורינג לבדיקת שפות רגולריות )ניתן לבנות להן אוטומט סופי דטרמיניסטי( בנה מכונת טיורינג ה מקבלת את המילים המתחילות ב מעל {,,c} ימין / ימין / ימין c / c הרעיון בניה על סמך אס"ד מתאים. מקרים שרצוי לבדוק : מילים מתקבלות:. מילים שאינן מתקבלות:. c, ימין / ימין / בנינו מכונת טיורינג לשפה רגולרית. בנה מכונת טיורינג ה מקבלת את המילים מעל {,,c} כך ש 1=%3 W. הרעיון בניה על סמך אס"ד מתאים. מקרים שרצוי לבדוק: ימין / ימין / ימין / ימין c / c ימין / ימין / ימין c / c ימין / ימין / ימין c / c בנינו מכונת טיורינג לשפה רגולרית. מכונת טיורינג 147
מכונת טיורינג לשפות חופשיות הקשר רגולריות ולא בנה מכונת טיורינג המקבלת את המילים מעל {,} מהצורה 0 n n n הרעיון :להפוך את ל X לחפש ולהפוך ל. Y בסוף התהליך לסרוק שיש רק Y שפירושו שאין יותר מ. מקרים שרצוי לבדוק :. ימין X /X ימין Y/Y ימין / q0 /X ימין q1 /Y שמאל q2 ימין / ימין Y/Y q4 ימין / q5 שמאל Y/Y שמאל / בנינו מכונת טיורינג לשפה חופשית הקשר שאינה רגולרית. ימין Y/Y שים לב עבור מילה המתחילה ב נתקע ב q0 עבור נתקע ב הראשון המיותר () ובמצב q4 ועבור נתקע ב מיותר ובמצב q1 כאשר לא קיים עבורו. מעקב אחר המילה שינוי מצב חדש אות נבדקת מצב q0 q1 q1 X X q1 q1 q2 X ללש Y q2 q2 ללש 148 מכונת טיורינג
בנה מכונת טיורינג ה מקבלת את המילים מעל {,} מהצורה n 0 n n באם המילה אינה מתקבלת יש למחוק אותה מהסרט באם מתקבלת יש לנוע סביב סימן הריק הראשון. הרעיון: כמו בתרגיל הקודם רק שיש להוסיף את המקרים המבוקשים. ימין X /X ימין Y/Y ימין / q0 /X ימין q1 /Y שמאל q2 המילה מתחילה ב n k n>k ימין Y/Y q4 ימין Y/Y ימין / ימין / q5 שמאל / שמאל / שמאל / שמאל / q6 שמאל Y/Y שמאל / מספר ה גדול ממספר ה במילה או מהצורה תבנית מחיקה בנינו מכונת טיורינג לשפה חופשית הקשר שאינה רגולרית. שים לב עבור מילה מהצורה n k n>k לדוגמה נתקע ב מיותר ובמצב q1 כאשר לא קיים עבורו. עבור מילה המתחילה ב נתקע ב q0 עבור נתקע ב הראשון המיותר () ובמצב q4 עבור נתקע ב השלישי () ובמצב q4 עבור נתקע ב השלישי () ובמצב q4 / ימין / שמאל ליד q6 q5 יש להוסיף 149 מכונת טיורינג
בנה מכונת טיורינג ה מקבלת מילים מעל {,} שמתחילות ב רצף ה בהתחלה ובסוף שווה ומסתיימות ב ואורך הרעיון: להפוך בתחילת המילה ל X לחפש בסוף ולהפוך ל Y וכך לחזור על התהליך. מקרים שכדאי לבדוק: (רק שני הימניים מתקבלים). ניתן לפתור באמצעות אטומט מחסנית לא דטרמיניסטי (דטרמיניסטי אם יש לפחות אחת). ימין /X ימין / ימין / שמאל / שמאל / q0 /X ימין q1 שמאל / שמאל Y/Y q2 /Y שמאל q3 X/X ימין q4 ימין / ימין / ימין / שמאל Y/Y q5 Y/Y שמאל q6 / שמאל q7 150 מכונת טיורינג
מכונת טיורינג לשפות לא חופשיות הקשר n 0 n n c n בנה מכונת טיורינג ה מקבלת את המילים מעל {,,c} מהצורה הרעיון : להפוך את ל X לחפש ולהפוך ל Y לחפש c ולהפוך ל Z לחזור לאחור ולחזור על התהליך. מקרים שכדאי לבדוק : n שווה לאפס, c,,, c, cc ימין X /X ימין Y/Y ימין / ימין Z/Z ימין / q0 /X ימין q1 /Y ימין q2 c/z שמאל q3 ימין / ימין Y/Y שמאל Z/Z שמאל / q4 ימין / q5 שמאל Y/Y שמאל / ימין Y/Y ימין Z/Z 151 מכונת טיורינג
מכונת טיורינג תרגילים שונים בנה מכונת טיורינג ה מקבלת רצף של מוסיפה בסופו ותוחמת את רצף ה ים בסימני דולר. המטרה : לקבל תוצאה תחומה בין שני סימני דולר דוגמת סרט לפני: דוגמת סרט אחרי: $$ הרעיון : את ה הראשון נהפוך לדולר, שני רווחים בסוף נהפוך לשני ורווח נוסף יהפוך לדולר. מקרים שכדאי לבדוק: מספר ה ים שווה לאפס, כלומר אין ים. ימין / ימין $ / ימין $/ ימין / ימין / ימין $/ חיבור f(x,y)=x+y 11111111111 $11111111111$ הקלט הינו במבנה הבא הפלט : הרעיון : את ה הראשון נהפוך לדולר, שני רווחים בסוף נהפוך לשני ורווח נוסף יהפוך לדולר. המטרה : לקבל תוצאה תחומה בין שני סימני דולר. מקרה שכדאי לבדוק : x שווה לאפס. ימין $ / ימין 1/1 ימין 1/1 ימין /$ ימין / 1 ימין 1/$ 152 מכונת טיורינג
f(x)=2x 111 הקלט הינו במבנה הבא הרעיון : תחילה לשים $ לאחר ה 111... לאחר מכן על כל אחד שנהפוך אותו ל X נחליף 2 רווחים ל 2 אחדים לבסוף נוסיף $ המטרה : לקבל תוצאה תחומה בין שני סימני דולר $111111$ מקרים שכדאי לבדוק : x שווה לאפס. ימין X/X הוספת $ בסוף המילה שמאל 1/1 ימין 1/1 ימין $/$ ימין 1/1 שמאל $/$ שמאל 1/1 ימין / שמאל $/ ימין $/$ ימין X/1 שמאל 1/ ימין 1/ החלפת 2 רווחים ל 2 אחדים ימין $/ ימין 1/1 הוספת $ בסוף המילה 153 מכונת טיורינג
x>0 x>y חיסור f(x,y)=x-y 1111111111.$1111$... הקלט הינו במבנה הבא המטרה : לקבל תוצאה תחומה בין שני סימני דולר מקרים שכדאי לבדוק : y שווה אפס y שווה.1 ימין 1 / 1 ימין X/X ימין Y/Y ימין $/$ שמאל X/X שמאל Y/Y שמאל $/$ שמאל / Y 1 פעולת החיסור ימין $/ שמאל / ימין /X 1 ימין 1 / 1 ימין $/X ימין $/$ ימין 1/X ימין $/1 ימין / חזרה להתחלה שמאל X/X שמאל Y/Y שמאל $/$ שמאל 1/1 ימין /1 $ כאשר y שווה 0 ימין $/ למעשה ניתן בפיתרון להשתמש ב X בלבד ואין צורך בשימוש בשתי אותיות גדולות שונות. 154 מכונת טיורינג
y 0 x >0 x+y>z חיסור f(x,y)=x+y-z 1111111111111111.$111111$... הקלט הינו במבנה הבא x=7 y=4 z=5 המטרה : לקבל תוצאה תחומה בין שני סימני דולר שמאל $/$ ימין $/$ ימין 1 / 1 ימין 1 / 1 שמאל $ / 1 ימין $/ ימין 1/ ימין $/1 פעולת החיסור פעולת החיבור ימין /$ 1 שמאל / 155 מכונת טיורינג
שאלה נתונה מכונת טיורינג המקבלת על הסרט מילה באורך אי זוגי שאורכה לפחות 3. א. בצע מעקב עבור המילה. 01100 (הינך יכול לתאר את הקטע הסופי של המכונה במילים) ב. רשום מה מבצעת המכונה. ימין X/ Δ ימין Y/ Δ ימין Δ / Δ ימין X/ Δ ימין Y/ Δ ימין Δ / Δ ימין 0/X ימין 0/Y ימין / q8 q7 q11 q10 ימין 1/X ימין 1/Y ימין / שמאל X/X Y/Y שמאל q6 q9 שמאל X/X שמאל Y/Y שמאל Y/Y שמאל X/X q5 שמאל X/X ימין 0/0 ימין 1/1 q0 ימין X/0 1/Y ימין q1 ימין 0/0 q2 ימין 1/1 שמאל X/X שמאל Δ/Δ ימין X/X ימין Y/Y q3 שמאל X/1 שמאל X/0 q4 שמאל 0/0 שמאל 1/1 156 מכונת טיורינג
פתרון )כל מעקב שבו מובן מה עושים מתקבל( מצב חדש אות נבדקת מצב שינוי q0 11100 q1 q1 X1100 q2 X1100 q2 X1110 q2 X1101 q2 X1100 Δ q3 X1101 q4 X111X q4 X110X q4 X110X q4 X110X q0 X110X q1 XY10X q2 XY11X q2 XY10X q3 XY11X q4 XY1XX q4 XY1XX q0 XY1XX q1 XYYXX q5 XYYXX q9 XYYXX q9 XYYXX q9 XYYXX q10 XYYXX q2 q2 q2 q2 q3 q4 q4 q4 q4 q0 q1 q2 q2 q3 q4 q4 q0 q1 q5 q9 q9 q9 q10 q11 0 X ללש ללש ללש ללש ללש 0 X ללש ללש ללש ללש 1 Y ללש ללש ללש 0 X ללש ללש 1 Y ללש ללש ללש ללש ללש X 1 לאחר מכן המכונה רושמת מהמקום השני ואילך רווחים ונעה לאינסוף המכונה רושמת במקום הראשון במילה את התו האמצעי. 157 מכונת טיורינג
שאלה נתונה מכונת טיורינג, העובדת על הא"ב },{ ומקבלת מילה. אם אורכה זוגי משאירה ואם אורכה אי זוגי מוחקת. בצע מעקב אחר המילה זזים ימינה ימינה ימינה ימינה ימינה שמאלה שמאלה שמאלה שמאלה שמאלה שמאלה שמאלה ימינה מצב תיאור ומיקום ראש q0 q1 q0 q1 q0 q1 q2 q2 q2 q2 q2 q2 q3 שמאל / שמאל / ימין / q0 ימין / q1 q2 שמאל / q3 ימין / ימין / ימין / ימין / q4 158 מכונת טיורינג
בנה מכונת טיורינג המבצעת חלוקה בשלוש עבור מספר אונרי q4 Z/Z שמאל c/z ימין Y/Y ימין X /X q5 q1 /Y q ימין / ימין Z/Z / שמאל q3 שמאל Y/Y מ מכונת ימין / q0 הרעיון: תחילה נשים $ לאחר כל ה - 1 ים. לאחר מכן נעבור ונחליף כל 1 ל x. על כל שלושה 1 -ים נשים אחד בסוף, רעיון מסובך ומיותר: לבעור ולהחליף כל שלישי ל x ואז על כל x לשים 1 בסוף. 159 מכונת טיורינג
דף תרגילים מספר 2 -בנה מכונת טיורינג בנה מכונת טיורינג לשפה הבאה: m>=n} L={ n n c m בנה מכונת טיורינג לשפה הבאה: n>=0} L={ n n c 2n בנה מכונת טיורינג לשפה הבאה: n>=m} L={ n n c m בנה מכונת טיורינג המקבלת מילה מעל הא"ב {,,c} ובודקת האם היא שייכת לשפה L. L={ n 2n c m n>=0, 2 ב n היא שארית החלוקה של m { בנה מכונת טיורינג לשפה הבאה מעל }, {:מילה שייכת לשפה אם היא ריקה, או שהיא מכילה לפחות אחת וגם מתחילה ומסתיימת בדיוק באותו רצף של אותיות למשל: בנה מכונת טיורינג המקבלת מילה מעל הא"ב}, { ומחזירה אותה מילה הפוכה תחומה בסימני $. נתונה על הסרט מילה מעל הא"ב}, { יש לכתוב באונרית את מספר ה- המופעים במילה תחום בסימני $ בנה מוכנת טיורינג המקבלת מילה מעל א"ב },{ ומחזירה את ההפרש בין מספר ומספר ה- בין תחום $. בנה מכונת טיורינג המקבלת מילה מעל א"ב,{ } ובודק אם המילה היא באורך זוגי ומסתיימת ב-,אם כך המכונה מקבלת אותה,אחרת יש למחוק את המילה מהסרט. נתונה על הסרט מספר X באונרית יש לכתוב על הסרט 1+X תחום בין $. נתונה על הסרט מספרים X,Y באונרית מופרדים ע"י,יש לכתוב על הסרט X+Y+1 באונרית תחום בין סימני $. נתונה על הסרט מספרים X,Y באונרית מופרדים ע"י,יש לכתוב על הסרט X-Y באונרית תחום בין סימני (X>=Y)$ נתונה על הסרט מספרים X,Y באונרית מופרדים ע"י,יש לכתוב על הסרט $(0 Y) באונרית תחום בין סימני X DIV Y נתונה על הסרט מספרים X,Y באונרית מופרדים ע"י,יש לכתוב על הסרט X % Y באונרית תחום בין סימני $(0 Y) נתונה על הסרט מילה מהשפה n>=m} }=L n m יש לכתוב על הסרט n-m באונרית תחום בין סימני $ בנה מכונת טיורינג המחשבת את הפונקציה: f(x,y,z)=x+y-z כאשר x,y,z מספרים חיוביים. התוצאה תהיה בין סימני $ בנה מכונת טיורינג המחשבת את הפונקציה: f(x)=3x בנה מכונת טיורינג המחשבת את הפונקציה / 2 f(x)=x (הערך השלם) בנה מכונת טיורינג המחשבת את הפונקציה f(x,y)=(x*y) בנה מכונת טיורינג המחשבת את הפונקציה f(x,y)=(x+y)2.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20 160 מכונת טיורינג
1 פתרון ימין Y/Y ימין / ימין c/z ימין Y/Y q6 ימין Z/Z ימין c/z מכונת טיורינג 161
בנה מכונת טיורינג לשפה הבאה: L= n n c 2n n>=0 ימין X /X ימין Y/Y ימין / ימין Z/Z ימין / q0 /X ימין q1 /Y ימין q2 c/z שמאל q3 c/z שמאל q4 ימין / ימין Y/Y שמאל `Z/Z שמאל / ימין Y/Y ימין Z/Z q4 ימין / q5 שמאל Y/Y שמאל / בנה מכונת טיורינג לשפה הבאה: L= n n c m m>=n ימין X /X ימין Y/Y ימין / ימין Z/Z ימין / q0 /X ימין q1 /Y ימין q2 c/z שמאל q3 ימין / ימין Y/Y שמאל `Z/Z שמאל / ימין Y/Y ימין Z/Z ימין c/z q4 ימין / q5 שמאל Y/Y שמאל / 162 מכונת טיורינג
בנה מכונת טיורינג לשפה הבאה: L= n n c m n>=m ימין X /X ימין Y/Y ימין / ימין Z/Z ימין / q0 /X ימין q1 /Y ימין q2 שמאל c/z שמאל / q3 ימין / ימין Y/Y שמאל `Z/Z שמאל / ימין Y/Y ימין Z/Z q4 ימין / q5 שמאל Y/Y שמאל / בנה מכונת טיורינג המקבלת את כל המילים מעל א"ב,{ } שיש בהן לפחות אחד ולכל היותר אחד. אם יש יותר מ אחד, המכונה לא תעצור. ימין / ימין / q1 ימין / q3 ימין / ימין / ימין / ימין / ימין / q0 q5 q4 ימין / ימין / ימין / q2 ימין / q4 ימין / ימין / ימין / 163 מכונת טיורינג
דף תרגילים מספר 19 -נתונה מכונת טיורינג מהי השפה המתקבלת על ידי מכונת טיורינג תרגיל 1 נתונה מכונת טיורינג,מעל ימין, / ימין, / ימין, / q 0 q 1 q 2 הא"ב :},,c{ ימין, c/c q 6 q 3 שמאל /, q 4 ימין, / q 5 ימין, / ימין, / ימין, c/c ימין, / ימין, / ימין, c/c / שמאל /, ימין, / ימין, / ימין, c/c שמאל, / q 7 q 8 q 9 q 10 c הצג את תהליך חישוב של המכונה על כל אחת מהמילים הבאות:, cc, c, 1.1. תאר את קבוצת המילים מעל הא"ב },,c{ עבורן המכונה לא עוצרת. 1.2. מהי השפה המתקבלת על-ידי מכונה זו? תרגיל 2 נתונה מכונת טיורינג,מעל הא"ב :},,c{ מה מבצעת המכונה? q0 ימין / ימין / ימין / ימין / ימין c/c q1 שמאל /, q4 ימין / ימין / ימין c/ שמאל /, ימין / ימין / ימין c/c ימין / q2 q5 / ימין q8 שמאל /, ימין c/ שמאל /, q7 q 5 ימין c/c ימין / ימין / ימין c/c q3 שמאל /, q6 ימין /c ימין /c ימין c/c q9 שמאל /, 164 מכונת טיורינג
תרגיל 3 מה מבצעת מכונת טיורינג הבאה? ימין 1/1 ימין 1/1 ימין 1/1 ימין $/ ימין $/ ימין $/ ימין 1/ ימין 1/ ימין $/ תרגיל 4 מה מבצעת מכונת טיורינג הבאה מעל?{,} שמאל, / שמאל, / ימין, X/X ימין,$/$ ימין /, ימין /, שמאל, X/X ימין, / ימין, / /X, ימין q2 שמאל,/ q4 q0 שמאל,$/ q1 שמאל,$/$ שמאל,$/$ ימין, / /X, ימין q3 שמאל,/ q4 q6 שמאל, / שמאל, / ימין, X/X ימין,$/$ ימין /, ימין /, 165 מכונת טיורינג
x>0 y>0 כפל f(x,y)=x*y 1111111111$ x ו y אונריים ומופרדים ב ובסוף סימן $ ימין Y/Y ימין 1/1 ימין 1/1 ימין $/$ שמאל 1/1 שמאל $/$ שמאל 1/ ימין Y/1 ימין / ימין X/1 ימין / ימין X/X שמאל $/$ שמאל $/ ימין 1/1 שמאל 1/Y שמאל 1/1 שמאל / פתרון ל 9 בנה מכונת טיורינג המקבלת מילה מעל א"ב,{ } ובודקת אם המילה היא: באורך זוגי ומסתיימת ב- אם כך המכונה מקבלת אותה,אחרת יש למחוק את המילה מהסרט. הרעיון: בדיקת זוגיות תחילה ולאחר מכן בדיקה ששני האחרונים. q0 שמאל / q4 באם לא זוגי או אין שני ים הולכים לסוף וחזורים תוך מחיקה. / שמאל / ימין / ימין / ימין / ימין / שמאל / ימין / q5 שמאל / q1 / שמאל q2 ימין / q5 ימין / q3 ימין / q6 166 מכונת טיורינג
פתרון שגוי ראשון q0 שמאל / ימין / ימין / ימין / ימין / / שמאל / q1 / שמאל q2 / ימין q4 שמאל / q5 שמאל / פתרון שגוי שני q0 ימין / ימין / ימין / ימין / q1 / שמאל q2 / שמאל / q3 ימין / שמאל / q4 שמאל / / שמאל q5 / שמאל שמאל / q6 167 מכונת טיורינג
בנה מכונה השמה בסוף הסרט ים כמספר ה ים במילה תחומים בסימן דולר כמספר ה ים במילה ולאחריהם ים שמאל, / שמאל, / שמאל,$/$ ימין, / ימין, / ימין,$/$ ימין, / שמאל, / שמאל, / ימין, / ימין, / q0 שמאל,$/ q1 q2 ימין /, /X ימין q3 שמאל,/ q4 שמאל X/X, שמאל /, שמאל,$/$ ימין, / q5 ימין X/X שמאל X/X שמאל, / שמאל, / שמאל,$/$ ימין, X/X ימין, / ימין / ימין,$/$ ימין, X/X q6 /Y ימין q7 שמאל,/ q8 ימין,$/$ ימין, / ימין, / q9 ימין,$/ ימין Y/Y 168 מכונת טיורינג
בנה מכונה השמה בסוף הסרט ים כמספר ה ים במילה ולאחריהם ים כמספר ה ים במילה תחומים בסימן דולר(דומה למכונה שמעליה) שמאל, / שמאל, / שמאל,$/$ ימין, / ימין, / ימין,$/$ ימין, / שמאל, / שמאל, / ימין, / ימין, / q0 שמאל,$/ q1 q2 ימין /, /X ימין q3 שמאל,/ q4 שמאל X/X, שמאל /, שמאל,$/$ ימין, / q5 ימין X/X ימין, X/X ימין, / ימין / ימין,$/$ שמאל X/X שמאל, / שמאל /, שמאל,$/$ ימין, X/X q6 /Y ימין q7 שמאל,/ q8 ימין,$/$ q9 ימין, / ימין, / ימין,$/ ימין Y/Y 169 מכונת טיורינג
תבניות במכונת טיורינג מחיקה מילה הוספת דולר בסוף מילה ימין / ימין / שמאל / שמאל / שמאל / שמאל / ימין / ימין / /$ שמאל ימין / ימין / ימין / שמאל / (כמובן שאם נמצאים על תחילת המילה אזי אין צורך בהליכה שמאלה ( "הליכה לא עוצרת" (הליכה לאינסוף) "הליכה לא עוצרת" (נעה סביב רווח ראשון) ימין / ימין / ימין / ימין / ימין / ימין / שמאל / על כל 1 עד הסימן $ הפיכה ל Y והוספת 1 בסוף ימין Y/Y ימין 1/1 ימין $/$ שמאל 1/1 שמאל $/$ שמאל 1/ ימין Y/1 170 מכונת טיורינג
הערות למגן ולבגרות-דפי סיכום אס"ד=שפה רגולרית בדוק מהי המילה הקצרה ביותר המתקבלת בשפה והתחל ממנה את בנית האוטומט. 1. בדוק האם מילים שאמורות להתקבל מתקבלות אך בדוק גם האם מילים שלא אמורות להתקבל לא 2. מתקבלות. שפה שניתן לבנות לה אוטומט סופי הינה שפה רגולרית. 3. ראה כי הינך מבין מהו : משלים היפוך חיתוך איחוד שרשור הכלה וחיסור שפות. 4. אם יש תנאי או/גם והינך מתקשה לבנות את האוטומט העזר בטכניקה של אוטומט מכפלה. 5. סגירות שפות רגולריות השפות הרגולריות סגורות ל משלים היפוך חיתוך איחוד שרשור. שרשור שפה ריקה לכל שפה שהיא יוצר שפה ריקה. 6. שרשור מילה ריקה לכל שפה L נותנת. L 7. נא להבדיל בין שרשור שפה לשפה לשרשור מילה בשפה לאותה מילה בשפה. 8. כשנאמר תאר מה השפה הנוצרת יש לרשום זאת באופן הפשוט והברור ביותר. 9. ) משלים של ( L חייבת להופיע המילה הריקה. L 10. ב L או ב L הינו אוסף כל המילים האפשריות. 11. L U תבנית להוכחת רגולריות של שפה הבנויה מתנאים מורכבים נתונה השפה L מעל הא"ב { } המקיימת את התנאים הבאים: "התנאים" הוכח שהשפה רגולרית. הוכחה ננגדיר את השפות הבאות ונבנה אוטומט לכל שפה =L1 הינה שפה מעל {} המקיימת את תנאי א =L2 הינה שפה מעל {} המקיימת את תנאי ב =L3 הינה שפה מעל {} המקיימת את תנאי ג ******** פעולה L=L1 פעולה L2 L3. (במילה פעולה אנו מתכוונים לחיתוך או איחוד או משלים או שרשור או היפוך) אנו רואים כי ניתן לבטא את L בעזרת השפות שבנינו. מסגירות משפחת השפות הרגולריות לפעולות החיתוך, איחוד, שרשור, משלים והיפוך נובע ש L רגולרית. 171 דפי סיכום
תבנית הוכחה לשפה אי רגולרית L={ } הוכח שהשפה אינה רגולרית הוכחה הוכחה בדרך השלילה. נניח שהשפה רגולרית וקיים אוטומט סופי דטרמיניסטי A הבונה אותה. (בחלק מהמקרים ניתן לבחור בשלב זה תת קבוצה) בואו ונבחן את הקבוצה האינסופית הבאה: W = {w1, w2, w3,...} התחלות של מילים בשפה L. w j, כיוון ש W אינסופית חייבים להיות בה לפחות שתי מילים שונות w i q0 כך ש- (<,>,,= i? J ( מתוך הקבוצה W המגיעות לאותו מצב שאם לא w i כן אזי היה צורך באינסוף מצבים. נסמן את המצב המשותף של שתי המילים ב q 1 q1 באוטומט. w j w j w w i w מצב מקבל והמילה q 2 המילה w i שייכת לשפה לכן מתקבלת. יוצא שגם - מתקבלת בשפה (המסלול מ q 1 ל q 2 משותף לשתי המילים), וזה בניגוד לכללי/חוקי השפה. q0 w i q1 w q2 w2 לכן ההנחה שהנחנו ששתי המילים מגיעות למצב משותף אינה נכונה, אלא כל מילה מגיעה למצב אחר. ומאחר והקבוצה W היא אינסופית יוצא שכל מילה מגיע למצב אחר. ומכאן שיש אינסוף, A בניגוד להגדרת אוטומט סופי. לכן ההנחה שקיים אוטומט סופי הבונה את השפה L אינה נכונה, והשפה אינה רגולרית. מצבים ב- 172 דפי סיכום
אוטומט מחסנית=שפה חופשית הקשר 12. שפה שניתן לבנות לה אוטומט מחסנית הינה חופשית הקשר. 13. ניתן להכניס למחסנית יותר מתו אחד להוציא מותר רק אחד. 14. כל שפה רגולרית הינה גם חופשית הקשר. 15. המחסנית לא חייבת להיות ריקה כאשר המילה מתקבלת. 16. כוחו של אוטומט מחסנית לא דטרמיניסטי רב יותר מכוחו של אוטומט מחסנית דטרמיניסטי. n,m 0 n m.17 אין פירושו ש n צריך להיות שונה מ m 18. משפחת השפות חופשיות ההקשר סגורה תחת רגולרית. הפעולות איחוד, שירשור, היפוך,חיתוך עם שפה 19. כאשר בחזקה יש סימן מינוס יש לבצע הצבה. דוגמה: n n-m c m נציב k=n-m מכאן נובע n=k+m ונקבל k+m k c m ואת זה פותרים כרגיל. תבנית להוכחת שפה חופשית הקשר הבנויה מתנאים מורכבים נתונה השפה L מעל הא"ב { } המקיימת את התנאים הבאים: "התנאים" הוכח שהשפה חופשית הקשר. הוכחה ננגדיר את השפות הבאות ונבנה אוטומט מחסנית לכל שפה =L1 הינה שפה מעל {} המקיימת את תנאי א =L2 הינה שפה מעל {} המקיימת את תנאי ב =L3 הינה שפה מעל {} המקיימת את תנאי ג * * פעולה L=L1 פעולה L2 L3. (במילה פעולה אנו מתכוונים לאיחוד או שרשור או היפוך או חיתוך עם שפה רגולרית) אנו רואים כי ניתן לבטא את L בעזרת השפות שבנינו. מסגירות משפחת השפות חופשיות ההקשר לפעולות האיחוד, שרשור והיפוך נובע ש L חופשית הקשר 173 דפי סיכום
מכונת טיורינג 20. ראה כי הינך מבין מהי מכונת טיורינג שאינה נעצרת. 21. לכל שפה רגולרית או שפה חופשית הקשר ניתן לבנות מכונת טיורינג. 22. לא ניתן לשנות את סימן ראש הסרט (הפעולה היחידה המותרת על ראש הסרט הינה ימינה / ( 23. מצב מקבל לפי תוכנית הלימודים קיימת מוסכמה שבכל מכונת טיורינג יש מצב מקבל: באם המכונה בודקת האם מילה שייכת לשפה הרי מצב מקבל == אכן המילה משתייכת לשפה. למשל האם המילה cc שייכת לשפה n n c n באם המכונה מבצעת משהו למשל אם אורך המילה איזוגי מוסיפה בסוף המילה אזי מצב מקבל == סיימנו את המשימה ובצענו אותה בהצלחה. בהמשך יש שאלות דוגמה לנושאים שונים 174 דפי סיכום
אס"ד=שפה רגולרית בנה אוטומט מעל המספרים 0 עד 9 המקבל את כל המספרים המתחלקים ב 5 ללא שארית )דוגמה )010 125 0,5 q0 1,2,3,4,6,7,8,9 0,5 1,2,3,4,6,7,8,9 q1 אוטומט לא דטרמיניסטי לכל אוטומט לא דטרמיניסטי ניתן לבנות אוטומט דטרמיניסטי אוטומט לא דטרמיניסטי מעל {,01,2} של המילים שהאות לפני האחרונה 1 0,1,2 q0 1 q1 0,1,2 q2 אוטומט לא דטרמיניסטי מעל {,01,2} של המילים המסתיימות ב 10 0,1,2 q0 1 q1 0 q2 אוטומט לא דטרמיניסטי מעל {,01,2} של המילים המכילות 111 0,1,2 0,1,2 q0 1 q1 1 q2 1 q3 175 דפי סיכום
אוטומט מכפלה )חתולים כלבים ועכברים( בתהלוכה שבה משתתפים עכברים חתולים וכלבים מתקיימים החוקים הבאים. התהלוכה מתחילה בכלב. אסור חתול שמשמאלו וימינו יהיו כלבים. בנה אוטומט סופי מתאים. עכבר חתול כלב אסור חתול בין שני כלבים חתול עכבר כלב חייבת להתחיל בכלב עכבר חתול כלב כלב q0 q1 q3 q4 כלב חתול כלב עכבר q5 q6 חתול עכבר חתול עכבר q2 בנית הטבלה עכבר חתול כלב עכבר חתול כלב q0 q3 q1 q4 q1 q5 q1 q4 q1 q4 q1 q6 q2 q3 q1 q5 q1 q3 q2 q3 q1 q3 q1 q3 q1 q3 q1 q4 q1 q3 q1 q3 האוטמט כלב 14 כלב 03 עכבר כלב חתול חתול עכבר 2,3 15 כלב 1,6 חתול עכבר 13 חתול עכבר עכבר חתול כלב 176 דפי סיכום
או הוכח שהשפה L מעל {,,c} שבה כל מילה )מתחילה ב מסתיימת ב ) c ואינה מכילה את הרצף פתרון רגולרית. אוטומט לכל שפה. נגדיר את השפות הבאות ונבנה כל המילים המתחילות ב L1 c כל המילים המסתיימות ב L2 כל המילים המכילות L3 כל המילים המתחילות ב L1,,c,c,,c c כל המילים המסתיימות ב L2 c c,, כל המילים המכילות L3,c,c,,c השפה המבוקשת L הינה L ( L1 L2) L3 מסגירות משפחת השפות הרגולריות לפעולת החיתוך,איחוד,משלים (*) נובע ש L רגולרית * אם משתמשים גם בשרשור אז יש להוסיף את המילה שרשור. * אם משתמשים גם בהיפוך אז יש להוסיף את המילה היפוך. 177 דפי סיכום
L= n+1 3n אוטומט מחסנית=שפה חופשית הקשר )שפה חופשית הקשר נקראת גם שפה חסרת הקשר( n 0 בנה אוטומט מחסנית לשפה נציב את ה n הנמוך ביותר ונקבל את המילה מכאן נובע המילה הקצרה ביותר הרעיון: על ה הראשונה לא נבצע מאומה על כל נוסף נדחוף AAA על כל נשלוף A ללש דחוף SAA דחוף A AAA שלוף A A שלוף S S שלוף A A הוכח שהשפה L מעל {,,c,d} L= n m c k c z d z n,m,k,z>0,k n+m חופשית הקשר. נגדיר את השפות הבאות ונבנה אוטומט מחסנית לכל שפה. דחוף A A L1= n m c k n,m,k>0,k n+m L2=c z d z z>0 L1 שלוף ca A דחוף A A דחוף A S שלוף ca A שלוף cs S ללש c דחוף A A דחוף S A L2 q0 דחוף S Q1 שלוף A A q2 שלוף S S שלוף S S q3 L=L1*L2 מסגירות משפחת השפות חופשיות ההקשר לפעולת השרשור נובע ש L חופשית הקשר. 178 דפי סיכום
L={ L= n n c k ימין X /X k>=n} מכונת טיורינג בנה מכונת טיורינג הבודקת האם מילה שייכת לשפה ימין Y/Y ימין / ימין Z/Z ימין / q0 /X ימין q1 /Y ימין q2 c/z שמאל q3 ימין / ימין Y/Y שמאל Z/Z שמאל / q4 ימין / q5 שמאל Y/Y שמאל / ימין c/z ימין Y/Y q6 ימין Z/Z ימין c/z 179 דפי סיכום
x מספר אונרי בנה מכונת טיורינג המבצעת f(x)=2x 111 הקלט הינו במבנה הבא תחילה לשים $ לאחר ה 111... הרעיון : לאחר מכן על כל אחד שנהפוך אותו ל X נחליף 2 רווחים ל 2 אחדים לבסוף נוסיף $ $111111$ המטרה : לקבל תוצאה תחומה בין שני סימני דולר x שווה לאפס. מקרים שכדאי לבדוק : ימין X/X הוספת $ בסוף המילה שמאל 1/1 ימין 1/1 ימין $/$ ימין 1/1 שמאל $/$ שמאל 1/1 ימין / שמאל $/ ימין $/$ ימין X/1 שמאל 1/ ימין 1/ החלפת 2 רווחים ל 2 אחדים ימין $/ ימין 1/1 הוספת $ בסוף המילה 180 דפי סיכום
סוגי שאלות )לא מלא( שפה רגולרית 1.1. אוטומט סופי דטרמיניסטי 1.2. אוטומט לא מלא 1.3. אוטומט לא דטרמיניסטי 1.4. הוכחת רגולריות בעזרת חוקי סגירות שפות רגולריות. 1.5. ציור אוטומט/תאור אוטומט בעזרת טבלה 1.6. מה עושה אוטומט נתון 1.7. שקילות אוטומטים 1.8. אוטומט מכפלה ככלי לפירוק בעיה לתתי בעיות והוכחת סגירות חיתוך ומשלים שפה חופשית הקשר 2.1. אוטומט מחסנית 2.2. אוטומט מחסנית לא דטרמיניסטי 2.3. מה עושה אוטומט מחסנית נתון 2.4. הוכחת שפה חופשיתסגירות שפות חופשיות הקשר מכונת טיורינג 3.1. בנית מכונה לבדיקת תקינות שפה 3.2. מכונה המבצעת פונקציה 3.3. מה עושה מכונת טיורינג נתונה 3.4. מעקב.1.2.3 181 כללי
בגרויות מהבגרויות הושמטו החלקים שאינם שייכים לתוכנית הלימודים החדשה תשמ"ז תאר באמצעות גרף וטבלה אוטומט סופי דטרמיניסטי שיקבל את כל המחרוזות מעל לא"ב (,,c) המקיימות את שני התנאים הבאים: מופיע בהו כתת מחרוזת. הן אינן מסתיימות ב c. לדוגמא : cc תתקבל c c לא תתקבלנה תחילה נבנה את השרשרת המובילה למצב מקבל.,c נשלים את האוטומט, q0 q1 q2 q3 q4 c q5,c c c, q6 c c את טבלה עליך לרשום. 182 בגרויות
תשמ"ח תאר באמצעות גרף אוטומט סופי דטרמיניסטי שיקבל את כל המחרוזות מעל לא"ב }0,1{ המקיימת את שני התנאים : מופיעה בהן 000 כתת מחרוזת בדיוק פעם אחת. אין בהן כלל מופעים של 00 פרט לאלה שבמופע של 000. דגמה: המחרוזות 0110100011101 ו 000111101 תתקבלנה המחרוזות 0101011 ו 100011001 לא תתקבלנה פתרון 1 1 1 1 1 0 0 0 1 0 1 0 0 0,1 תשמ"ח M1 0 1 0 1 M1 0 1 0 1 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 בגרויות
תשמ"ט תאר באמצעות גרף אוטומט סופי דטרמיניסטי שיקבל את כל המחרוזות מעל ל א"ב {,,c{ המקיימות את התנאי הבא : יש במחרוזת 2 מופעים עוקבים של c שביניהם אין יותר ממופע אחד של דוגמה: ccccc ccccc מתקבלים cccc cccc לא תתקבלנה,,c,c c c c c 184 בגרויות
תשן א. תאר במילים את השפה המוגדרת על ידי האוטומט הבא: S0 מקבל S0 S1 S1 מקבל S0 S1 S2 S2 S2 תשנב א. ב. תאר במילים מהי השפה המתקבלת על ידי האוטומט הבא: רשום אוטומט סופי דטרמיניסטי, שיקבל את כל המחרוזות מעל ה א"ב }, { המכילות או פתרון א. המילים המתקבלות : כל המילים שמספר ים שארית 3 שווה 0., 185 בגרויות
תשנג א. בנה אוטומט סופי דטרמיניסטי, המקבל את אוסף המחרוזות מעל {0,1} המתחילות ומסתיימות ב 0 ומכילות מספר זוגי של 1 ים. ) 0 פעמים הוא מספר זוגי). 0 0 פתרון א. האוטומט 0 1 0,1 1 0 1 1 תשנד א. בנה אוטומט סופי דטרמיניסטי המקבל את אוסף כל המילים מעל ה א"ב},,c } שבהן מופיע גם וגם. פתרון,c האוטומט c,,c תשנ"ה,c את כל המחרוזות מעל {,} ניתן לחלק לשתי קבוצות זרות זו לזו שתיקראנה "שפה א" ו "שפה ב". לפניך, אוטומט שמקבל את "שפה א" א. ב. תאר מילולית מהי "שפה א". בנה אוטומט סופי דטרמיניסטי המקבל את "שפה ב" פתרון א. השפה מקבלת כל מילה שאין בה ים 2 ברצף ומסתיימת ב., ב. מצב מקבל הופך ללא מקבל ולהפך. 186 בגרויות
{,} ובהן לפחות שני ולכל תשנ"ט 22 א. בנה אוטומט סופי דטרמיניסטי, המקבל את אוסף המילים מעל הא"ב היותר אחד. פתרון א. האוטומט הלא מלא: תש"ס תש"ס 24 האם השפה שלפניך היא רגולרית? הוכח תש"ס 25 האם השפה שלפניך חופשית הקשר? הוכח L={ i j c k בשלוש i היא השארית המתקבלת מחלוקת k i,j,k 0} תש"ס 26 L={ i j c i/2 אי זוגי j זוגי i i,j 1} M מתוך 'M נבנה אוטומט M. את השפה המתקבלת על ידי L אוטומט סופי דטרמיניסטי לא מלא. נסמן ב M באופן הזה: האוטומט מקבל ב M' M' יהיה זהה לאוטומט M אבל כל מצב שהוא מצב מקבל של M יהפוך למצב שאינו וכל מצב שאינו מקבל ב M יהפוך למצב מקבל ב 'M. נסמן ב 'L את השפה המתקבלת על ידי 'M. L? נמק.? נמק. L' א. ב. ג. האם 'L מוכל שווה למשלים של האם משלים של L מוכל שווה ל האם 'L שווה L? נמק. 187 בגרויות
תש"ס 27.{q0,q1,q2} קבוצת המצבים הינה Ø. א"ב המכונה הוא.{,} מכונת טיורינג. א"ב הקלט הוא M המצב ההתחלתי הינו q0. קבוצת המצבים המקבלים הינה {q2}. קבוצת המעברים הינה: {ימין, q0,,q0, } {ימין, q0,,q0, } {שמאל,, q0,,q1 } {שמאל,, q1,,q1 } {ימין, q1,,q1, } } שמאל,,q0, {q1, } ימין,q2,, {q1, א. לפניך שתי מילים: קבע עבור כל מילה אם היא מתקבלת על ידי המכונה M? מהי השפה המתקבלת על ידי המכונה M? א. האם המכונה עוצרת לכל מילת קלט? אם כן נמק, אם לא-בנה מכונת טיורינג שתעצור לכל קלט ותקבל ב. אותה השפה. תשס"א תשס"א 11 בנה אוטומט סופי דטרמיניסטי עבור השפה L מעל הא"ב {,} L={ i j k i,j,k >0, i % 2 =0, ( j+k) % 2=1} פתרון, האוטומט: 188 בגרויות
תשס"א 13 לפניך השפה L מעל הא"ב {,,c} L= { n+k n c f 0< n,k,f { הוכח שהשפה L חופשית הקשר. פתרון על מנת להוכיח שהשפה חופשית הקשר צריך לבנות לה אוטומט מחסנית או לפרק אותה לשפות ולהראות בניה שלה על פי החוקים. אנו פשוט נבנה אוטומט מחסנית. דחוף A A שלוף A A ללש ca ללש cs ללש ca שלוף A A דחוף S q0 ללש cs q1 q2 q3 מספר ה ים לפחות 2. L1= { WcXcR(W) L2= { WcXcR(W) L3= { WR(W)cXR(X) L4= { WR(W)cXR(X) L5= { WcR(W)cW תשס"א 14 קבע לכל אחת מהשפות אם היא רגולרית או לא רגולרית: {} מילים מעל הא"ב X ו W { {,} מילים מעל הא"ב X ו W { {} מילים מעל הא"ב X ו W { {,} מילים מעל הא"ב X ו W { {} מילים מעל הא"ב X ו W { א. העתק את שמות השפות L1 עד L5 למחברתך ורשום ליד כל שפה האם היא רגולרית, חופשית הקשר ולא רגולרית, אינה חופשית הקשר. ב. מבין שפות אלה בחר אחת שהיא חופשית הקשר ולא רגולרית והוכח שהשפה בחרת חופשית הקשר. אם יש יותר משפה אחת כזו בחר באחת מהן כרצונך. בגרויות 189
L1 = { n m n,m 0 תשס"א 15 התבונן בשפות שלפניך: k היא השארית המתקבלת מחלוקת n ב 3, t היא השארית המתקבלת מחלוקת m ב 3, k>t } L2 = { n m n n,m 0 k היא השארית המתקבלת מחלוקת n ב 3, t היא השארית המתקבלת מחלוקת m ב 3, k=t } L3 = { n m m n n,m 0 k היא השארית המתקבלת מחלוקת n ב 3, t היא השארית המתקבלת מחלוקת m ב 3, k=t } L4 = { n m n n,m אי זוגי 0 n זוגי m} ג. ד. העתק את שמות השפות L1 עד L4 למחברתך ורשום ליד כל שפה האם היא רגולרית או אינה רגולרי. מבין שפות אלה בחר אחת שאינה רגולרית והוכח שאינה רגולרית. אם יש יותר משפה אחת כזו בחר באחת מהן כרצונך. 190 בגרויות
L1= { i 0< i { L2= { i 0< i { =L3 { w ומספר זוגי של אותיות מכילה מספר זוגי של אותיות w { L4= { w L5= { w L6= { w תשס"א 16 נתונה השפה L מעל הא"ב {,} L= { i j k 0< i,j, אי זוגי j+k זוגי i { הוכח שהשפה L רגולרית בהסתמך על כך שהשפות L1-L6 רגולריות ומספר אי-זוגי של אותיות מכילה מספר אי-זוגי של אותיות w { ומספר אי-זוגי של אותיות מכילה מספר זוגי של אותיות w { ומספר זוגי של אותיות מכילה מספר אי-זוגי של אותיות w { אין חובה להשתמש בכל השפות האלה אך אין להשתמש בשפות שאינן מוזכרות. L= { (L1 L3) * (((L2*L1) (L3υL6)) { הפתרון תשס"ב 13 L= { m n c k לפניך השפה L מעל הא"ב {,,c} 0<m, m<n, k=n-m מתחלק ב 3 ללא שארית, k { הוכח שהשפה L הינה חופשית הקשר(בנה אוטומט מחסנית שיקבל את השפה ). L נציב ונקבל פתרון )חלקי-השלם( נתון k=n-m נעביר אגף ונקבל m+k=n L= m m+k c k = m m k c k m<n גורר שקיים לפחות c אחד שאז מספר ה ים יהיה גדול ממספר ה ים. < m 0 גורר שקיים לפחות אחד. 191 בגרויות
תשס"ב 14 לפניך מכונת טיורינג. המכונה מקבלת כנתונים שני מספרים אי-שליליים(יתכן 0) הכתובים באונארית בהתאם לשיטת הרישום המקובלת. ה. מה יכיל הסרט לאחר מעבר על קלט של שני המספרים 2 ואחריו 3? הראה מעקב אחר סרט המכונה עד עצירתה. ו. מהי הפונקציה שהמכונה מחשבת? הסבר. ז. האם המכונה מחשבת את הפונקציה עבור כל קלט של זוג מספרים אי-שליליים(יתכן 0)? נמק. ימין 1/1 שמאל 1/1 q0 q4 שמאל 1/ q3 שמאל / q2 ימין /1 q5 שמאל 1/$ ימין 1/1 ימין 1/1 ימין / q1 q6 1/ ימין q7 1/$ ימין q8 תשס"ב 15 נתונות שתי השפות T,L מעל הא"ב.{,}. אוסף המילים המתחילות באות L T אוסף המילים המתחילות ומסתיימות באותה אות כולל המילה הריקה. לפניך שלוש טענות. קבע לגבי כל אחת מהן אם היא נכונה או שלא ונמק. ( T T) L Є.1 כן שרשור המילה הריקה (שייך ל T) ל מילה שלנו ששייכת ל וגם מתחילה ב T T T T R(L) (L T)..2.3 לא כי שרשור עם נותן מילה שלא מתחילמ ומסתיימת באותה האות. 192 בגרויות
L1= { c n n+1 n 0 } } שארית החלוקה של n בשלוש שווה n 0, 2 L2= { c n n+1 } שארית החלוקה של n בשלוש שונה מ n 0, 2 L3= { c n n+1 L1-L4 תשס"ב 16 נתונות ארבע השפות {מילים מעל הא"ב {,,} המתחילות ומסתיימות ב { =L4 נגדיר את שלוש השפות הבאות : L5,L6,L7 L5= L2 L3.1 L6= L4 2.2 L7= L1*L2. 3 עבור כל אחת מהשפות ענה על שני הסעיפים א' ו ב'. א. הצג את השפה הפשוטה ביותר האפשרית. ב. קבע אם השפה "רגולרית" או "חופשית הקשר" ולא רגולרית או "אינה חופשית הקשר" ונמק את תשובתך. פתרון רגולרית. רגולרית. חופשית הקשר..1.2.3 193 בגרויות
תשס"ג 11 L= לפניך השפה L מעל הא"ב {,,c} אוסף כל המילים שבהן המספר הכולל של אותיות במילה מתחלק ב 3 וגם המספר הכולל של אותיות c מתחלק ב 2 ללא שארית. בלי שארית, בנה אוטומט סופי דטרמיניסטי שיקבל את השפה. L פתרון 11 ספרה שמאלית=שארית חלוקת ב 3 c c ספרה ימנית = שארית חלוקת c ב 2 10 00 20 c c c c 01 21 תשס"ג 12 לפניך השפה L מעל הא"ב {,,c} השפה L כוללת מילים הבנויות מרצף של תת-מילים במבנה: m 1-m c כאשר. m 2 מילה בשפה L יכולה לכלול תת-מילים שהm בהן שונה. המילה הריקה אינה כלולה בשפה. בנה אוטומט מחסנית שיקבל את השפה. L דחוף A A A A פתרון שלוף דחוף A ללש A A שלוף ללש c ללש 194 בגרויות
תשס"ג 13 לפניך השפה L מעל הא"ב {,} אוסף כל המילים שבהן מספר ה ים מתחלק ב 2 ללא שארית וגם הרצף מופיע במילה. הוכח שהשפה רגולרית.,, L1,, L2 L1 שפה המכילה רגולרית (בנינו אוטומט סופי לא דטרמיניסטי) L2 שפה שבה מספר ה ים זוגי. (בנינו אוטומט סופי דטרמיניסטי) השפה המבוקשת L הינה חיתוך של L1 ו L2 ומחוקי הסגירות נובע שגם היא רגולרית. 195 בגרויות
תשס"ג 14 לפניך השפה. {,,c} מעל הא"ב L השפה L כוללת מילים הבנויות מרצף של תת מילים במבנה n 1-n c כאשר 2 m. מילה בשפה L יכולה לכלול תת מילים שה m בהן שונה. המילה הריקה אינה כלולה בשפה. דוגמאות של מילים בשפה ccc cc c הוכח שהשפה הינה חופשית הקשר. תשס"ג 15 נתונות חמשת השפות L1-L5 L1= { n 2 2n n 1 } L2= { 2n n 2 n 1 } L3= { 2n 2 2 n 1 } L4= { n 2n n n 1 } L5= { 2 2n 2m n,m 1 } א. עבור כל אחת מהשפות קבע אם השפה "רגולרית" או "חופשית הקשר" ולא רגולרית או "אינה חופשית הקשר" ונמק את תשובתך. ב. מבין השפות קבע אחת שאינה רגולרית והוכח שהיא אינה רגולרית. תשס"ג 16 נתונות ארבעת השפות מעל הא"ב } אוסף כל המילים בהן מספר ה ב w זוגי w =L1 { } אוסף כל המילים בהן מספר ה ב w אי-זוגי w =L2 { L3= { n m n,m 0 } L4= { n m n,m 0 } Є (L1 L2) משלים L1) L2 = ( L1 L2 L3={ n m זוגי n,m n,m 0 } L3 L4={ε} L3*L4={ n n+m m n,m 0 } {,} L1-L4 לפניך חמש טענות. קבע לכל אחת מהם אם היא נכונה או לא ונמק את קביעתך. 196 בגרויות
תשס"ד 13 לפניך השפה L מעל הא"ב {,,c} השפה L כוללת מילים המתחילות ב ומסתיימות ב מספר ה ים זוגי ויש להן לפחות c אחד. בנה אסד מתאים הפתרון: q7 c c q6,,c c,c q1 q4 q5,c c c q0 q2 q3 197 בגרויות
L תשס"ד 14 נגדיר פעולה חדשה על השפות L L Lc באופן הזה: L(L,Lc) היא קבוצת כל המילים הנמצאות ב L אך לא נמצאות א. לפניך שלוש שפות L1,L2,L3 מעל הא"ב {,} וגם לא נמצאות ב.Lc L1= { n m n n,m > 0 } } מספר אותיות שונה ממספר אותיות =L2 } } מספר אותיות הוא אי-זוגי { =L3 תן דוגמה למילה באורך גדול מ 4 השייכת לשפה.L1(L2,L3) הסבר מדוע המילה שייכת לשפה זו. תן מילה באורך 4 לפחות שאינה שייכת לשפה L1(L2,L3). הסבר מדוע אינה שייכת לשפה זו. תאר את אוסף המילים בשפה ( L1(L2,L3 מעל הא"ב {,}. (1 (2 (3 ב. נתון כי L L Lc הן שפות רגולריות. הוכח שהשפה L(L,Lc) היא רגולרית. תשס"ד 15 נתונות שלושת השפות לפניך חמש טענות: L1= { n n n> 0 } L2= { n n d k k n,k 0 } L1-L3 Є L1*L1 R(L1)*d*R(L1) < R(L2) L1 L2=(L2 υ L3) {d} L1=R(L3) L1 משלים L3 מוכל ב L1 קבע לכל אחת מהטענות אם היא נכונה או לא ונמק את קביעתך. } כל המילים מעל {,} המכילות את הרצף =L3 { בגרויות 198
תשס"ד 16 בנה מכונת טיורינג שעל סרט הזיכרון שלה תהיה מילת קלט לא ריקה מעל הא"ב {,}. המכונה תכתוב את האות האחרונה במילה במקום האות הראשונה. כל האותיות האחרות לא ישתנו. לדוגמה בעבור סרט הזיכרון שלהלן לפני תחילת פעולתה:... סרט הזיכרון בסוף הפעולה יראה:... שמאל, / שמאל, / ימין, / ימין, / שמאל, / q 2 ימין, / q 4 ימין, / q 5 שמאל, / q 0 q 1 שמאל, / q 3 ימין, / q 6 ימין, / q 7 שמאל, / שמאל, / 199 בגרויות
L= תשס"ה 13 לפניך השפה L מעל הא"ב {,} { m n n n,m זוגי >0 m+n{ שלוף A A שלוף A A דחוף A A דחוף S A בנה אוטומט מחסנית שיקבל את השפה L. שלוף S S שלוף S S דחוף A A דחוף S A דחוף S דחוף S ללש ללש ללש (גרסה שונה במעט לשאלה שלעיל) L= { m n n n >0 זוגי m 0 m+n{ לפניך השפה L מעל הא"ב {,} בנה אוטומט מחסנית שיקבל את השפה L. דחוף A A דחוף S A שלוף A A שלוף A A דחוף A A דחוף S A שלוף S S דחוף S דחוף S ללש ללש 200 בגרויות
תשס"ה 14 בנה מכונת טיורינג שתתקבל כקלט מילה מעל הא"ב {,,c} המכונה תבדוק אם לפני כל אות יש c אחד לפחות. אם כן המכונה תעצור במצב מקבל, אם לא המכונה לא תעצור. אם הקלט הוא המילה הריקה המכונה תעצור במצב מקבל. תשס"ה 15 L1= { n n+2 n 0 } L2= { n m זוגי n,m 1 n } L3= { 2n n+3 n 0 } נתונות שלוש השפות L1-L3 עבור כל אחת מהשפות קבע אם השפה "רגולרית" או "אינה רגולרית". נמק את קביעותיך. א. מהי השפה? L1 L2 נמק. ב. האם מספר ה ים במילה שייכת ל L2*R(L2) הוא זוגי? נמק. ג. קבע לכל אחת מהמילים הבאות אם היא שייכת לשפה L3 (משלים L1) ד. w1= w2= 201 בגרויות
תשס"ה 16 ללימודים במכללה מסוימת מתקבלים תלמידים על פי ציוניהם בבחינות הבגרות. הקריטריונים לקבלה ללימודים במכללה הם אלה: תעודת בגרות ובה לפחות 5 מקצועות. הציונים במתמטיקה הציונים במתמטיקה אנגלית ומקצוע נוסף צריכים להיות גבוהים מ 83 כל הציונים חייבים להיות גבוהים מ 74. במכללה מקודדים את הציונים באופן הבא: A: 100-95 B: 94-85 C: 84-75 D: 74-55 האותיות המיצגות את הציונים מוקלדות כמחרוזת משמאל לימין באופן הזה: האות הראשונה שמוקלדת מייצגת ציון במתמטיקה. האות השנייה שמוקלדת מייצגת ציון באנגלית. לאחר מכן מוקלדות האותיות המייצגות את שאר הציונים. א. לפניך 5 מחרוזות. קבע לכל אחת אם התלמיד יתקבל או לא יתקבל ללימודים במכללה. נמק את קביעותיך. AACCCCBBCA. ABABDBB. BBBBBBA.c AAAA.d AACCCC.e ב. בנה אס"ד מתאים. 202 בגרויות
תשס"ו 13 לפניך השפה L מעל הא"ב {,,c} L= {() n n+2 c k n>0 }k היא השארית מחלוקת n ב 2 בנה אוטומט מחסנית שיקבל את השפה L שלוף A ללש c ללש שלוף A ללש דחוף A ללש A דחוף A A דחוף A A ללש A שלוף A ללש שלוף A 203 בגרויות
תשס"ו 14 לפניך ארבעת השפות מעל הא"ב {,} L1= { i k i,k 0 { i+k מתחלק בשלוש ללא שארית L2= { i k i i,k 0 { i השארית המתקבלת בחלוקת k בשלוש =L3 } i k בשלוש ללא שארית i,k 0 מתחלק מתחלק בשלוש ללא שארית, k i { L4= { i 3i k i,k 0 { k מתחלק בשלוש ללא שארית לכל אחת מהמילים הבאות קבע לאיזו שפה או שפות היא משתייכת? א. נמק קביעותיך. w1=. w2=. לכל אחת מהשפות L1 עד L4 קבע באם היא רגולרית? נמק קביעותיך. ב. פתרון L1(i=3 k=0) א. W1 משתייכת לשפות L4(i=0) L3(k=0 i=3) משתייכת לשפותL4 W2 תשס"ו 15 {,,c} לפניך השפות L1 L2 L3 מעל הא"ב L1= {c i k k i,k 0 L2= }w*r(w) {,,c} מילה מעל הא"ב w { { L3= { i i c k 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} נגדיר פעולת "ניגוד" שמסומנת באופן הבא: 0 ~ 1 1 ~ 0 הניגוד של מילה ריקה הינה מילה ריקה. הניגוד של מילה כלשהי הינה הפיכת 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} בעבור כל אחת משהפות הבאות רשום את השפות המתאימות L1 L2 L3 L= {0 n n 0 { (1 L= {0w0 w מילה מעל הא"ב {0,1} { L= {0 n (01) k n,k 0 { (2 וגם L L1 רשום שפה לא ריקה L שבעבורה מתקיים L1=L רשום שפה לא ריקה L שבעבורה מתקיים L1=L2.. תשס"ז 14 לפניך חמשת השפות מעל הא"ב {,} L1= L2= L3= L4= L5= { n n 0 { n m n,m 0 n m { m n m n,m 0 { n m n,m 0 n m { n m 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 בשלוש, x 0 F(x) = { המכונה תקלוט מספר אונרי הרשום על הסרט על ידי x תווים של 1 ותרשום על הסרט כפלט ותרשום על הסרט כפלט את הערך המחושב על ידי הפונקציה כמספר אונרי המופיע בין שני סימני $. הפלט יכול להיכתב בכל מקום על פני הסרט. q 6 ימין,$/ q 3 ימין,1/ q 4 ימין,1/ q 5 ימין,$/ ימין,$/ ימין,$/ ימין, 1/1 ימין, 1/1 q 0 q 1 q 2 ימין, 1/1 תשס"ז 16 בנה אוטומט סופי דטרמיניסטי מעל הא"ב {,} המקבל את כל המילים שיש בהן הרצף. בנה אוטומט סופי דטרמיניסטי מעל הא"ב {,} המקבל את כל המילים שאין בהן הרצף. בנה אוטומט סופי דטרמיניסטי מעל הא"ב {,} המקבל את כל המילים שיש בהן הרצף ואין בהן הרצף. (1 (2 (3 207 בגרויות
מופיע פתרון, לא מופיע, מופיע וגם לא מופיע, 208 בגרויות
נתונה מחרוזת אינסופית. 3123123123123 א. בנה אוטומט סופי דטרמיניסטי מעל הא"ב {1,2,3} המקבל את כל המילים באורך אי-זוגי שכל אחת מהן היא תת-מחרוזת של המחרוזת הנתונה. למשל : 123 23123 יתקבלו. המילים: 2312 212 לא יתקבלו. ב. בנה אוטומט סופי דטרמיניסטי מעל הא"ב {1,2,3} המקבל את כל המילים שהן באורך אי- זוגי וסדר הספרות בהן הוא כמו הסדר במחרוזת הנתונה אך הספרה 1 יכולה לחזור כמה פעמים ברצף. לדוגמה: 3112311 31231 31123 יתקבלו. תשס"ח 13 3 1 3 1 2 2 1 2 פתרון א 3 1 3 1 3 1 2 1 2 פתרון ב 2 1 3 209 בגרויות
תשס"ח 14 בעבור אות k ומילה w הסימון k(w) הוא מספר המופעים של האות k במילה. w לפניך השפות L1-L5 מעל הא"ב {0,1} L1= {w w >5} L2= {w 1(w) <5} L3= {w 1(w)=5, 0(w)=5} L4= {w 1(w) = 0(w)} L5= {w w=xxy 0< x <5 } 0,1{ מילים לא ריקות מעל y,x } L4 ולא שייכת לשפה. L3 נמק תשובתך. 01 א. רשום מילה השייכת ל L1 ולא שייכת לשפה. L2 נמק תשובתך. 111111 ב. רשום מילה השייכת ל L5 ולא שייכת לשפה. L2 נמק תשובתך. 1110111011 ג. רשום מילה השייכת ל ד. הגדר כל אחת מהשפות הבאות: 2. {w 1(w) 5 } {w 1(w) 5 } υ {w 0(w) 5} 3 _ L. ה. לכל אחת מהטענות הבאות נמק מדוע איננה נכונה: L1 L2=Ø המילה 110000 מופיעה בשתיהן. 4 _ 3 מוכל ב L _ L. L4*L4 L4 כי המילה הריקה מתקבלת ב L4 ולכן....c L5 L3=Ø.d 210 בגרויות
L1= {c n n+2 n>0} תשס"ח 15 נגדיר את השפה L1 מעל הא"ב {,c} L= {w1 w2 w3 wk k k>0 wi Є L1} לפניך השפה L מעל הא"ב {,,c} לדוגמה : המילה cccc היא מילה ב L כאשר 3=k וכן W1= c w2=cc w3=c בנה אוטומט מחסנית שיקבל את השפה L. הרעיון: על כל c נכניס C על כל נוציא C על ה הראשון ללש ועל ה השני נכניס B על כל נשלוף. B דחוף ca A שלוף A A דחוף c SA שלוף B B שלוף A A ללש S ללש B ללש S ללש B שלוף S S שלוף B B דחוף cc BA דחוף cs BA שלוף S S 211 בגרויות
תשס"ח 16 כלבים חתולים ועכברים... ראה אוטומט מכפלה. תשס"ט 13 בתרגיל זו שני סעיפים א ו ב שאין קשר ביניהם. ענה על שניהם. א. לפניך אוטומט סופי ; q1 q2 q3 q4, q0 q5, q9 q8 q7 q6 קבע לכל אחת מהמילים שלפניך אם היא מתקבלת על ידי האוטומט. אם המילה מתקבלת על ידי האוטומט רשום מסלול מקבל בעבור מילה זו. כתוב את כל המילים הקצרות ביותר המתקבלות על ידי האוטומט. נתונות השפות הבאות מעל הא"ב {,} ב. L1={ n k n k n,k 0 { L2={ i j n k i 0, j 1 { האם L1 L2 רגולרית? נמק את תשובתך. 212 בגרויות
תשס"ט 14 מילה באורך 3 תיקרא פלינדרום באורך 3 אם התו הראשון במילה זהה לתו האחרון במילה. לדוגמה: המילה היא פלינדרום באורך 3. לפניך השפה L מעל ה א"ב {,} }היא שרשור של 0 או יותר פלינדרומים באורך 3 L={w לדוגמה : המילה שייכת ל L המילה לא שייכת ל L לפניך ציור חלקי של אס"ד המקבל את השפה L..1 q1 q2, q0 q3 q5 q4 הציור מכיל את כל המצבים של האוטומט. העתק למחברתך את הציור והשלם אותו כך שיקבל את השפה L עליך להשלים את המעברים החסרים ואת סימני הקלט החסרים ולסמן את המצב המקבל/מצבים מקבלים. שים לב: אין להוסיף מצבים לאוטומט או להוריד מצבים..2 מהי השפה 0} n {L () n? 213 בגרויות
תשס"ט 15 נגדיר * כאוסף כל המילים מעל א"ב נתון, כולל המילה הריקה. בעבור שפה L כלשהי נגדיר : Init(L) = {u uv Є L u,v Є * } Fin(L) = {v uv Є L u,v Є * } Min(L) = w2 ובעבור כל w1 w2 המקיימות w=w1.w2 ו אינה ריקה w Є L L אינה שייכת ל w1 L1={ 0 n 1 n 0 k 1 k n 1 k 0 } L2={ 0 n 1 k n 0 k 0 } L3={ 0 i 1 i i 0 } L4={ 0 i 1 k k i 0 } L5={ 0 i 1 k i k 0 } לפניך 5 שפות מעל ה א"ב {0,1}? L1 L2? Init (L3)? Fin(L3)?0011 Є Min(L4)?0011 Є Min(L5) L4 L5 רגולרית? א. ב. ג. ד. ה. ו. מהי השפה מהי השפה מהי השפה האם האם האם 214 בגרויות
תשס"ט 16 לפניך מכונת טיורינג המחשבת פונקציה f(x). המכונה מקבלת כקלט מספר x גדול מ 0 שלם הרשום על הסרט כמספר אונרי על ידי x תווים של 1 ואחריהם הסימן $. לדוגמה בעבור 4=x יהיה סרט הזיכרון לפני תחילת החישוב: 1 1 1 1 $... המכונה רושמת את תוצאת החישוב של f(x) על הסרט כמספר אונרי, מיד אחרי הסימן +. q 0 ימין, 1/1 q 1 ימין, 1/1 ימין, $/1 שמאל,$/$ q 3 q 2 שמאל, 1/1 שמאל,$/ ימין, / q 4? א. מה יכיל הסרט לאחר חישוב (5)f את הערך 6? ב. מה יכיל הסרט לאחר חישוב (6)f את הערך 6 ג. מהי הפונקציה f(x) שהמכונה מחשבת? 1+ למספר אי זוגי ועצירה על תחילת המספר. 215 בגרויות
{,} תש"ע 13 לפניך שלוש שפות L1-L3 מעל הא"ב L1= { n n-1 n 1 { L2= { n k n 0,k>0 { שארית החלוקה של k ב 2 שונה משארית החלוקה של n ב 2 L3= } k 2m k,m בשלוש ללא שארית 0 מתחלק מתחלק בשלוש ללא שארית, k i { א. ב. לכל אחת מהשפות קבע אם היא רגולרית או אינה רגולרי. אם היא רגולרית בנה אס"ד מתאים ואם אינה רגולרית נמק את קביעותיך. לפניך השפות {,} מעל הא"ב L4,L5 L4= { n n-1 n 1 n אי זוגי { L5= L1*R(L4) מהי L5 {0,$} תש"ע 14 לפניך השפה L מעל הא"ב L= מתחלק ב {0 3 $0 i 1 $0 i2 $...0 i j 3 ללא שארית n 1 $ im ו 0 im j בין 1 ל m לכל k 1{ א. ב. כתוב את המילה הקצרה ביותר בשפה L. בנה אס"ד לשפה L. 216 בגרויות