המצגת של ד ר מיכל ארמוני

Download Report

Transcript המצגת של ד ר מיכל ארמוני

‫דידקטיקה של מודלים חישוביים‬
‫מיכל ארמוני‬
‫המחלקה להוראת המדעים‬
‫מכון ויצמן למדע‬
‫מודלים חישוביים‬
‫‪ ‬יחידת בחירה חמישית‬
‫‪ ‬שונה באופייה מיחידות אחרות‬
‫‪ ‬עוסקת בבסיס התיאורטי של מדעי המחשב‬
‫‪ ‬אופייה מתמטי ואינה מערבת תכנות‬
‫‪ ‬חומרים‪ :‬ספר לתלמיד ומדריך למורה (בהוצאת‬
‫האוניברסיטה הפתוחה)‬
‫‪2‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫עקרונות התאמת חומרי הלמידה‬
‫במודלים חישוביים לתלמידי תיכון‬
‫‪ ‬הקלה בהיקף‬
‫‪ ‬הקלה ברמת הקושי‬
‫‪ ‬מיעוט השימוש בסימנים מתמטיים‬
‫‪ ‬ריבוי דוגמאות ותרגילים‬
‫‪ ‬הכרה עם רבדים טכניים לפני הכרה עם רבדים‬
‫תיאורטיים‬
‫‪ ‬פיתוח החומר סביב ציר מרכזי‬
‫‪3‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫מיעוט בסימנים מתמטיים ‪ -‬דוגמה‬
‫אוטומט סופי דטרמיניסטי ‪ A‬נתון על‪-‬ידי‬
‫)‪A = (A, QA, q0A, FA, A‬‬
‫כאשר‪ –A :‬א"ב קלט‬
‫‪ – QA‬קבוצה סופית לא ריקה של מצבים‬
‫‪ – q0A‬מצב התחלתי‪q0A  QA ,‬‬
‫‪ – FA‬קבוצת מצבים מקבלים‪FA  QA ,‬‬
‫‪ – A‬פונקציית מעברים‪A: QA  A  QA ,‬‬
‫‪4‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫מיעוט בסימנים מתמטיים ‪ -‬דוגמה‬
‫לאוטומט סופי דטרמיניסטי יש חמישה מרכיבים והם‪:‬‬
‫‪.1‬‬
‫א"ב – כל אותיות הקלט האפשריות עבור האוטומט‪ .‬מספר האותיות בא"ב זה חייב‬
‫להיות סופי וגדול מ‪( 0-‬בל יטעה אתכם המושג "אותיות"; מדובר בסימנים כלשהם‪.‬‬
‫ואולם‪ ,‬כפי שציינו בסוף הסעיף הקודם‪ ,‬מעתה נקרא לסימנים אלו בשם אותיות)‪.‬‬
‫‪.2‬‬
‫מצבים – כל המצבים שבהם יכול האוטומט להימצא‪ .‬מספר המצבים חייב להיות סופי‬
‫וגדול מ‪.0-‬‬
‫‪.3‬‬
‫מצב התחלתי – המצב שממנו מתחיל האוטומט את מסלול החישוב על כל מילת קלט‪.‬‬
‫‪.4‬‬
‫קבוצת מצבים מקבלים – קבוצה מתוך קבוצת המצבים‪ ,‬המכילה ‪ 0‬מצבים או יותר‪.‬‬
‫‪.5‬‬
‫פונקציית מעברים – לכל זוג של מצב ואות‪ ,‬פונקציה זו מתאימה מצב (אחד ויחיד)‬
‫שאליו עובר האוטומט כאשר במצב זה נקראת אות זו‪.‬‬
‫‪5‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫השוואה לתוכנית הישנה‬
‫‪ ‬יחידה שלמה וממוקדת (‪ 90‬שעות)‬
‫‪ ‬לא מסתפקת בבניית אוטומטים אלא גם בדיונים‬
‫תיאורטיים‬
‫‪ ‬מקושרת למדעי המחשב‬
‫‪ ‬התמודדות עם מושג האי‪-‬דטרמיניזם‬
‫‪ ‬אין דקדוקים‬
‫‪6‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫שאלת המוטיבציה‬
‫למה צריך את זה?!‬
‫זה לא מדעי המחשב!!‬
‫‪ ‬מה מקומו של הנושא בתוך מדעי המחשב?‬
‫‪ ‬מה המוטיבציה לכלול את הנושא בתוכנית‬
‫הלימודים בביה"ס התיכון?‬
‫‪7‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫התמודדות עם שאלת המוטיבציה (‪)1‬‬
‫– בעזרת ההקדמה‬
‫למה מודל חישובי?‬
‫כדי לתת הגדרה מתמטית‪ ,‬פשוטה‬
‫ונקייה‪ ,‬המייצגת מכונות מסוג מסוים‪,‬‬
‫שבעזרתה אפשר לדון בשאלות העוסקות‬
‫במכונות אלו‬
‫‪8‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫קווים כללים לדיון מקדים‬
‫‪ ‬הצגת בעיית העצירה‬
‫‪ ‬האם מחשב יכול לפתור את בעיית העצירה?‬
‫‪ ‬מה משמעות השאלה?‬
‫‪ ‬איך עונים על שאלה כגון זו?‬
‫‪9‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫שאלת המוטיבציה (‪)2‬‬
‫באתי ללמוד תכנות‪.‬‬
‫לא רוצה ללמוד מודלים חישוביים!‬
‫זה לא יתרום לי בעתיד‪.‬‬
‫זה לא יעשה אותי מתכנת טוב יותר!‬
‫‪10‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫שאלת המוטיבציה (‪)2‬‬
‫‪ ‬מטרת לימוד מקצוע עיוני בתיכון‪ ,‬ברמה של ‪5‬‬
‫יח"ל‪ :‬לערוך לתלמידים היכרות רחבה ומייצגת‬
‫ככל שניתן עם התחום‪ ,‬על פניו השונים‬
‫‪ ‬היכרות עם רובד תיאורטי ותבניות חשיבה‬
‫פורמליות במדעי המחשב‬
‫‪ ‬המטרה היא ללמד מדעי המחשב ולא תכנות‬
‫‪ ‬לא הכשרה מקצועית‬
‫‪ ‬חידוד החשיבה המתמטית‪ ,‬התיאורטית‪ ,‬הלוגית‬
‫‪11‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫מבנה הספר לתלמיד‬
‫‪‬‬
‫‪‬‬
‫‪12‬‬
‫הקדמה‬
‫האוטומט הסופי‬
‫‪ .1‬תיאור מערכות ופתרון חידות‬
‫‪ .2‬אוטומט סופי דטרמיניסטי‬
‫‪ .3‬מילים ושפות פורמליות‬
‫‪ .4‬מודלים נוספים של אוטומט סופי‬
‫טכני‬
‫טכני‬
‫תיאורטי‬
‫ט‪+‬ת‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫מבנה הספר לתלמיד (המשך)‬
‫‪‬‬
‫‪‬‬
‫‪13‬‬
‫אוטומט המחסנית‬
‫טכני‬
‫‪ .5‬אוטומט המחסנית‬
‫‪ .6‬כוחו ומגבלותיו של אוטומט המחסנית תיאורטי‬
‫מכונת טיורינג‬
‫ט‪+‬ת‬
‫‪ .7‬מכונת טיורינג‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫המדריך למורה‬
‫‪ ‬מקביל במבנהו לספר לתלמיד‬
‫‪ ‬כולל דגשים תוכניים ודידקטיים‬
‫‪ ‬כולל את פתרונות התרגילים שבספר לתלמיד‬
‫‪ ‬כולל הצעות לתרגילים נוספים (עם פתרונות)‬
‫‪ ‬דגשים חשובים מופיעים לעיתים גם בפתרונות‬
‫‪14‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ציר המודלים‬
‫אוטומט סופי דטרמיניסטי‬
‫אוטומט סופי דטרמיניסטי לא מלא‬
‫אוטומט סופי לא דטרמיניסטי‬
‫אוטומט מחסנית‬
‫מכונת טיורינג‬
‫‪15‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ציר השאלות התיאורטיות‬
‫(פרקים ‪)7 ,6 ,4 ,3‬‬
‫‪ ‬השוואה בין מודל חדש לקודם‬
‫‪ ‬השוואה בין דטרמיניזם לאי‪-‬דטרמיניזם‬
‫‪ ‬דיון במגבלותיו של מודל‬
‫‪ ‬דיון בתכונות סגירות‪:‬‬
‫♦‬
‫♦‬
‫♦‬
‫♦‬
‫♦‬
‫♦‬
‫‪16‬‬
‫משלים‬
‫איחוד‬
‫חיתוך‬
‫שרשור‬
‫היפוך‬
‫חלקיות‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חלק ראשון‬
‫האוטומט הסופי‬
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
17
‫מבנה החלק הראשון‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪18‬‬
‫תיאור מערכות ופתרון חידות‬
‫(לא ממש שייך לחלק הראשון)‬
‫אוטומט סופי דטרמיניסטי‬
‫מילים ושפות פורמליות‬
‫מודלים נוספים של אוטומט סופי‬
‫טכני‬
‫טכני‬
‫תיאורטי‬
‫ט‪+‬ת‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 1‬תיאור מערכות ופתרון‬
‫חידות‬
‫‪ ‬פרק קצר‬
‫‪ ‬לא מוגדר בו מודל חישובי‬
‫‪ ‬לא מוזכרת בו המילה אוטומט‬
‫‪ ‬מטרה‪ :‬עריכת היכרות ראשונית עם המושגים‬
‫בהם משתמשים במהלך היחידה‬
‫‪ ‬המטרה מושגת על ידי שימוש בדיאגרמות מצבים‬
‫לתיאור מערכות ולפתרון חידות‬
‫‪19‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 1‬תיאור מערכות ופתרון‬
‫חידות (המשך)‬
‫‪ ‬מושגים‬
‫מצבים‪ ,‬מעברים‪ ,‬קלטים‪ ,‬מצב התחלתי‪ ,‬מצב‬
‫מקבל‪ ,‬לולאה עצמית‪ ,‬מצב מלכודת‪ ,‬מסלול‬
‫חישוב מקבל‬
‫‪ ‬חשיבות הפרק‪:‬‬
‫♦ יצירת האינטואיציות הראשוניות‬
‫♦ היכרות בסיסית עם המושגים‬
‫‪20‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 1‬תיאור מערכות ופתרון‬
‫חידות (המשך)‬
‫‪ ‬חלק גדול מהתיאורים בפרק ‪ 1‬אינם עונים על‬
‫הגדרת אוטומט סופי!‬
‫♦ אוטומט בודק קיום תנאי נתון‬
‫♦ דיאגרמת מצבים מתארת התרחשות במערכת‬
‫‪ ‬בדרך כלל‪ ,‬גם בפרק ‪ 1‬בכל מצב יכול להגיע כל‬
‫קלט‬
‫‪ ‬בעיות אופייניות‬
‫♦ הקשר "שלילי" למצב מלכודת‬
‫‪21‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 2‬אוטומט סופי דטרמיניסטי‬
‫‪ ‬פרק טכני (פרט להגדרת האוטומט)‬
‫‪ ‬מותאם לגישה הכללית‪ :‬קודם דוגמאות‬
‫ואינטואיציה ורק אחר כך ההגדרה הפורמלית‬
‫‪22‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 2‬אוטומט סופי דטרמיניסטי‬
‫‪ 2.1‬תיאור גרפי של אוטומט סופי‬
‫‪ 2.2‬הגדרת אוטומט סופי דטרמיניסטי‬
‫‪ 2.3‬דוגמאות‬
‫‪ 2.4‬אוטומט סופי דטרמיניסטי כמחשב פרימיטיבי‬
‫‪ 2.5‬סיכום‬
‫‪23‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫תיאור גרפי של אוטומט‬
‫‪ ‬ההבדל ביחס לפרק ‪ :1‬צורת ההתייחסות‬
‫(אוטומט ככלי לבדיקת תנאי)‬
‫‪ ‬חלק מהדוגמאות אינן פשוטות אך נבנות בשלבים‬
‫‪ ‬בתחילה‪ :‬מילים משמעותיות כשמות מצבים‬
‫ואותיות קלט (תיעוד ישיר)‬
‫‪24‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫טבלת מעברים‬
‫‪ ‬ניתן לתאר אוטומט על ידי‬
‫♦ תיאור גרפי‬
‫או‬
‫♦ טבלת מעברים ‪ +‬ציון מצב התחלתי ‪ +‬ציון‬
‫מצבים מקבלים‬
‫‪25‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
q0
a
b
q1
q0
‫טבלת מעברים‬
a
b
q1
q1
q2
q0
q2
q2
a
q1
a,b
b
q2
q2
– ‫מצב התחלתי‬
q2 :‫מצבים מקבלים‬
q0
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
26
‫הגדרת אוטומט סופי דטרמיניסטי‬
‫לאוטומט סופי דטרמיניסטי יש חמישה מרכיבים והם‪:‬‬
‫‪.1‬‬
‫א"ב – כל אותיות הקלט האפשריות עבור האוטומט‪ .‬מספר האותיות בא"ב זה חייב להיות‬
‫סופי וגדול מ‪( 0-‬בל יטעה אתכם המושג "אותיות"; מדובר בסימנים כלשהם‪ .‬ואולם‪ ,‬כפי‬
‫שציינו בסוף הסעיף הקודם‪ ,‬מעתה נקרא לסימנים אלו בשם אותיות)‪.‬‬
‫‪.2‬‬
‫מצבים – כל המצבים שבהם יכול האוטומט להימצא‪ .‬מספר המצבים חייב להיות סופי‬
‫וגדול מ‪.0-‬‬
‫‪.3‬‬
‫מצב התחלתי – המצב שממנו מתחיל האוטומט את מסלול החישוב על כל מילת קלט‪.‬‬
‫‪.4‬‬
‫קבוצת מצבים מקבלים – קבוצה מתוך קבוצת המצבים‪ ,‬המכילה ‪ 0‬מצבים או יותר‪.‬‬
‫‪.5‬‬
‫פונקציית מעברים – לכל זוג של מצב ואות‪ ,‬פונקציה זו מתאימה מצב (אחד ויחיד) שאליו‬
‫עובר האוטומט כאשר במצב זה נקראת אות זו‪.‬‬
‫כפי שכבר הזכרנו בסעיף הקודם‪ ,‬פונקציית המעברים היא דרך אחרת לתיאור טבלת המעברים‬
‫‪27‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת אוטומט סופי דטרמיניסטי‪:‬‬
‫דגשים‬
‫‪ ‬להרגיל‪ :‬חשוב להגדיר בצורה פורמלית ומדויקת‬
‫‪ ‬כבר בפרק ‪ ,3‬ההגדרה תיתן מסגרת להוכחות‬
‫סגירות‬
‫‪28‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמאות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪29‬‬
‫זיהוי שפה שמקבל אוטומט נתון‬
‫אוטומטי ספירה‬
‫♦ לפחות‬
‫♦ בדיוק‬
‫♦ לכל היותר‬
‫אוטומטי חיפוש‬
‫♦ בתחילת מילה‬
‫♦ בתוך מילה (מכיל)‬
‫♦ בסוף מילה‬
‫תנאים מורכבים‬
‫ועוד‪...‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמאות ‪ -‬דגשים‬
‫‪ ‬לא נדרש אוטומט יעיל (צמצום אוטומטים אינו‬
‫כלול בחומר היחידה)‬
‫‪ ‬זמנית‪ :‬התעלמות "מלאכותית" מהמילה הריקה‬
‫תרגיל ‪2.13‬‬
‫כיצד ייראה אוטומט המייצג משחק שבו נועה זוכה רק אם התוצאה‬
‫עץ התקבלה לפחות פעם אחת‪ ,‬אך לכל היותר ‪ 3‬פעמים (כלומר‪ ,‬פעם‬
‫אחת‪ ,‬פעמיים או שלוש)?‬
‫‪30‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫תיעוד אוטומטים‬
‫‪ ‬תפקידי מצבים‬
‫‪ ‬תפקידי קלטים‬
‫יתרונות‬
‫‪ ‬עבודה מסודרת‪ ,‬סיכוי קטן יותר לטעויות‬
‫‪ ‬בדיקה קלה יותר (לתלמיד ולמורה)‬
‫‪31‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בדיקה‪ :‬על ידי קלטים מייצגים‬
‫דוגמה ‪:1‬‬
‫הא"ב }‪.{a, b, c‬‬
‫שפת כל המילים המקיימות‪ :‬אפשר לחלק את‬
‫המילה לשני חלקים; בחלק הראשון מספר‬
‫האותיות ‪ a‬אי‪-‬זוגי‪ .‬בחלק השני מספר האותיות‬
‫‪ b‬אי‪-‬זוגי‪ .‬בין החלקים יש אות ‪.c‬‬
‫‪32‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמה ‪ :1‬תיעוד האוטומט‬
‫‪ – q0‬נראה מספר זוגי של ‪ ,a‬ועדיין לא נראתה ‪c‬‬
‫"מועמדת"‬
‫‪ - q1‬נראה מספר אי‪-‬זוגי של ‪ ,a‬ועדיין לא נראתה ‪c‬‬
‫"מועמדת"‬
‫‪ – q2‬נראה מספר אי‪-‬זוגי של ‪ ,a‬אחר כך נראתה ‪c‬‬
‫"מועמדת"‪ ,‬אח"כ מספר זוגי של ‪ a‬ומספר זוגי‬
‫של ‪b‬‬
‫‪ – q3‬נראה מספר אי‪-‬זוגי של ‪ ,a‬אחר כך נראתה ‪c‬‬
‫"מועמדת"‪ ,‬אח"כ מספר זוגי של ‪ a‬ומספר אי‪-‬זוגי‬
‫של ‪b‬‬
‫‪33‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמה ‪ :1‬תיעוד האוטומט (המשך)‬
‫‪ - q4‬נראה מספר אי‪-‬זוגי של ‪ ,a‬אחר כך נראתה ‪c‬‬
‫"מועמדת"‪ ,‬אח"כ מספר אי‪-‬זוגי של ‪ a‬ומספר זוגי‬
‫של ‪b‬‬
‫‪ – q5‬נראה מספר אי‪-‬זוגי של ‪ ,a‬אחר כך נראתה ‪c‬‬
‫"מועמדת"‪ ,‬אח"כ מספר אי‪-‬זוגי של ‪ a‬ומספר אי‪-‬‬
‫זוגי של ‪b‬‬
‫‪ – q6‬נראה מספר אי‪-‬זוגי של ‪ ,a‬אחר כך נראתה ‪c‬‬
‫"מועמדת"‪ ,‬אח"כ מספר זוגי של ‪ a‬ומספר אי‪-‬זוגי‬
‫של ‪ ,b‬ואחר כך ‪ c‬נוספת‬
‫‪34‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמה ‪ :1‬בדיקת האוטומט – מילים‬
‫מייצגות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪35‬‬
‫המילה הריקה ‪‬‬
‫מילה שאין בה ‪)abab( c‬‬
‫מילה שמקיימת את ההגדרה בדרך אחת (‪)abcba‬‬
‫מילה שמקיימת את ההגדרה ביותר מדרך אחת‬
‫(‪)abcababcb‬‬
‫מילה שמקיימת רק תנאי א' (‪)aabacbba‬‬
‫מילה שמקיימת רק תנאי ב' (‪)aabaacba‬‬
‫מילה שלא מקיימת אף תנאי (‪)baacabb‬‬
‫מילה שיש בה יותר מאות ‪ c‬אחת‪ ,‬אחת שמתאימה‬
‫להגדרה ואחרת שלא (‪)abaacbcabbb‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמה ‪2‬‬
‫הא"ב }‪.{1, 2, 3, 4, 5, 6‬‬
‫שפת כל המילים שהאות ‪ 5‬מופיעה בהן מספר אי‪-‬זוגי‬
‫של פעמים והאות ‪ 6‬מופיעה בהן מספר זוגי של פעמים‪.‬‬
‫דוגמאות קלט מייצגות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪36‬‬
‫המילה הריקה ‪‬‬
‫‪ – 5( 1525536‬אי‪-‬זוגי‪ – 6 ,‬אי‪-‬זוגי)‬
‫‪ – 5( 453515626‬אי‪-‬זוגי‪ – 6 ,‬זוגי)‬
‫‪ – 5( 515525366‬זוגי‪ – 6 ,‬זוגי)‬
‫‪ – 5( 153456166‬זוגי‪ – 6 ,‬אי‪-‬זוגי)‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמה ‪3‬‬
‫הא"ב }‪.{0, 1, 2, 3, 4, 5, 6, 7, 8, 9‬‬
‫שפת כל המילים המייצגות מספר שלם שמתחלק ב‪.3-‬‬
‫דוגמאות קלט מייצגות‬
‫‪37‬‬
‫‪‬‬
‫המילה הריקה ‪‬‬
‫‪‬‬
‫‪( 14‬שארית ‪)2‬‬
‫‪‬‬
‫‪( 307‬שארית ‪)1‬‬
‫‪‬‬
‫‪( 69‬שארית ‪)0‬‬
‫‪‬‬
‫‪( 258‬כדי לכסות את כל האותיות)‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמה ‪4‬‬
‫הא"ב }‪.{a, b‬‬
‫שפת כל המילים שמכילות בין ‪ 3‬ל‪ 6-‬פעמים את האות ‪.a‬‬
‫דוגמאות קלט מייצגות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪38‬‬
‫המילה הריקה ‪‬‬
‫‪ 0( bb‬פעמים)‬
‫‪( ab‬פחות מ‪ 3-‬פעמים)‬
‫‪ 3( aaa‬פעמים)‬
‫‪( abaaaa‬בין ‪ 3‬ל‪ 6-‬פעמים)‬
‫‪ 6( aabbaaaba‬פעמים)‬
‫‪( babaaabaaaa‬יותר מ‪ 6-‬פעמים)‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמה ‪5‬‬
‫הא"ב }‪.{0, 1‬‬
‫שפת כל המילים שמכילות גם את הרצף ‪ 010‬וגם את הרצף ‪.101‬‬
‫דוגמאות קלט מייצגות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪39‬‬
‫המילה הריקה ‪‬‬
‫‪( 01110‬אף לא רצף אחד)‬
‫‪( 110010‬רק ‪)010‬‬
‫‪( 110110‬רק ‪)101‬‬
‫‪( 1101110100‬שני הרצפים – סדר אחד)‬
‫‪( 0010010100‬שני הרצפים – סדר שני)‬
‫‪( 110100‬שני הרצפים בחפיפה – סדר אחד)‬
‫‪( 001011‬שני הרצפים בחפיפה – סדר שני)‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫דוגמה ‪6‬‬
‫הא"ב }‪.{0, 1‬‬
‫שפת כל המילים שמתחילות ב‪ 1-‬ואין בהן את הרצף‬
‫‪.100‬‬
‫דוגמאות קלט מייצגות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪40‬‬
‫המילה הריקה ‪‬‬
‫‪( 101‬שני התנאים)‬
‫‪( 11000‬רק תנאי א')‬
‫‪( 001100‬אף לא תנאי אחד)‬
‫‪( 00101‬רק תנאי ב')‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
1 ‫תרגיל‬
.{a, b} ‫הא"ב‬
‫ ומסתימות‬a ‫ אותיות‬3 ‫שפת כל המילים שמכילות לפחות‬
.ba ‫ברצף‬
b
a
b
b
a
q0
a
q1
a
q2
a
q3
b
q4
q5
b
a
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
41
2 ‫תרגיל‬
.{a, b, c} ‫הא"ב‬
‫ ומסתימות ברצף‬ab ‫שפת כל המילים שמתחילות ברצף‬
.bc
b, c
a
a
q0
q1
a, c
b
c
q2
a
a, c
b
q3
b
b
c
q4
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
42
3 ‫תרגיל‬
.{0, 1, 2} ‫הא"ב‬
.012 ‫ או מכילות את הרצף‬1 ‫שפת כל המילים שמכילות‬
2
0
0
q0
0, 1, 2
1
q1
2
q2
2
q3
0
1
1
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
43
4 ‫תרגיל‬
.{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ‫הא"ב‬
‫ או‬-‫ גדול מ‬,‫ זוגי‬,‫שפת כל המילים המייצגות מספר שלם‬
.10-‫שווה ל‬
q0
0, 2, 4, 6, 8
q2
1, 3, 5, 7, 9
1, 3, 5, 7, 9
0, 2, 4, 6, 8
q1
q3
1, 3, 5, 7, 9
0, 2, 4, 6, 8
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
44
‫אוטומט סופי דטרמיניסטי כמחשב‬
‫פרימיטיבי‬
‫‪ ‬מטרת הסעיף‪ :‬להדגיש כי אוטומט הוא מודל של‬
‫ישות חישובית (פרימיטיבית)‬
‫‪ ‬אכן יש דמיון בין בניית אוטומט לפתרון בעיה‬
‫נתונה לבין כתיבת אלגוריתם הפותר בעיה נתונה‬
‫‪ ‬ניתן לחזק את הדמיון על ידי כך שמראים‬
‫אוטומט כאלגוריתם‬
‫‪45‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ דוגמה‬- ‫אוטומט כאלגוריתם‬
q  q0
while not end-of-input do
read (letter)
case q
q0 : case letter
‘0’: q  q2
‘1’, ‘2’: q  q1
q1 : case letter
‘0’:
‘1’: q  q2
‘2’: q  q0
q2 : case letter
‘0’, ‘1’: q  q1
‘2’: q  q0
accept  (q=q1) or (q=q2)
0
q0
q2
2
2
1
0, 1
1, 2
q1
0
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
46
‫אלגוריתם אוניברסלי‬
‫‪ ‬מקבל כקלט אוטומט סופי דטרמיניסטי כלשהו‬
‫‪ ‬מבצע סימולציה שלו‬
‫‪ ‬מתאים כתרגיל בעיצוב תוכנה‬
‫‪47‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אלגוריתם אוניברסלי ‪ -‬המשך‬
‫‪‬‬
‫‪48‬‬
‫צריך להסכים על פורמט קלט‪:‬‬
‫♦ מספר מצבים (חיובי שלם)‬
‫♦ מצבים מקבלים (רשימת מספרים שלמים אי‪-‬‬
‫שליליים‪ ,‬קטנים ממספר המצבים‪ ,‬עם זקיף)‬
‫♦ א"ב קלט‪ :‬רשימת תווים עם זקיף תווי‬
‫♦ קבוצת מעברים‪ :‬רשימת שלשות עם זקיף‬
‫■ מספר שלם אי‪-‬שלילי‪ ,‬קטן ממספר המצבים‬
‫■ תו מתוך א"ב הקלט‬
‫■ מספר שלם אי‪-‬שלילי‪ ,‬קטן ממספר המצבים‬
‫♦ מילת קלט‪ :‬רשימת תווים מתוך א"ב הקלט עם זקיף‬
‫תווי‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 2‬בעיות אופייניות‬
‫‪ ‬פרק טכני עם משימות בעלות אופי תכנותי ולכן‬
‫בדרך כלל קל ומהנה‬
‫‪ ‬אבל‪ ...‬לשים לב למינוחים מדויקים‬
‫♦ לא "שפה מקבלת מילה" (אלא שפה מכילה‬
‫מילה או מילה שייכת לשפה)‬
‫♦ לא "מצב מכיל מילים" (אלא מצב זוכר תכונה‬
‫של מילה)‬
‫‪49‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 3‬מילים ושפות פורמליות‬
‫‪ ‬פרק תיאורטי‬
‫‪ ‬המעבר קשה‪ ,‬המוטיבציה עלולה לרדת‬
‫‪ ‬התמודדות אפשרית‪ :‬ספירה גבוהה יותר‬
‫♦ מתכנת ‪ ‬מפתח שפות תכנות וחוקר את‬
‫תכונותיהן‬
‫♦ בניית אוטומטים ‪ ‬חקר אוטומטים‬
‫‪50‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 3‬מבנה הפרק‬
‫‪ 3.1‬הגדרות ודוגמאות‬
‫‪ 3.2‬שפה רגולרית ואוטומט סופי דטרמיניסטי‬
‫‪ 3.3‬תכונות של משפחת השפות הרגולריות‬
‫‪51‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ – 3.1‬רשימת הגדרות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪52‬‬
‫א"ב‬
‫מילה‬
‫אורך מילה‬
‫מילה ריקה‬
‫פעולות על מילים‬
‫♦ שרשור‬
‫♦ חזקה‬
‫♦ היפוך‬
‫שפה פורמלית‬
‫שפה ריקה‬
‫פעולות על שפות‬
‫♦ שרשור‬
‫♦ חזקה‬
‫♦ היפוך‬
‫תחום מתמטי חייב‬
‫להיות מוגדר היטב‪,‬‬
‫בצורה מדויקת‪.‬‬
‫אחרת ניתן למשל‬
‫להוכיח דברים שאינם‬
‫נכונים‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ – 3.1‬הגדרות (המשך)‬
‫‪ ‬ההגדרות ניתנות באופן מילולי‪ ,‬רך יחסית‪ ,‬ולא‬
‫סימבולי קשיח‪ ,‬אבל מדויקות‬
‫‪ ‬עם מרביתן אין לתלמידים בעיה להתמודד‬
‫‪ ‬הגדרות קשות יותר להטמעה‪:‬‬
‫♦ מילה ריקה‬
‫♦ שפה ריקה‬
‫‪53‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ – 3.1‬הגדרות (המשך)‬
‫‪ ‬דוגמאות‪:‬‬
‫כפי שראינו בפרק הקודם‪ ,‬מילים בשפה מורכבות מסימנים‪ ,‬ולסימנים אלה קוראים‬
‫אותיות‪ .‬אלפבית‪ ,‬או א"ב‪ ,‬הוא קבוצה סופית של אותיות‪ ,‬המכילה לפחות אות אחת‪.‬‬
‫א"ב מסמנים‪ ,‬כנהוג לגבי קבוצות‪ ,‬באופן הבא‪ :‬רושמים את אותיות הא"ב בין‬
‫צומדיים כשפסיקים מפרידים בין האותיות‪ .‬למשל‪ ,‬הא"ב שמכיל את האותיות ‪ a‬ו‪b-‬‬
‫סימונו }‪ ,{a, b‬והא"ב שמכיל את האותיות ‪ 2 ,1‬ו‪ 3-‬סימונו {‪.}1, 2, 3‬‬
‫מילה היא סדרה של אותיות מא"ב נתון‪ ,‬הרשומות משמאל לימין‪ .‬למשל‪ ,‬כשהא"ב‬
‫הוא }‪ ,{a. b‬אז ‪ abbaa ,aa‬ו‪ aba-‬הן מילים המורכבות מאותיות א"ב זה‪ .‬נהוג לומר‬
‫שאלו מילים מעל א"ב זה‪.‬‬
‫‪54‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ – 3.1‬הגדרות (המשך)‬
‫‪ ‬דוגמאות‪:‬‬
‫האורך של מילה ‪ w‬הוא מספר האותיות בה‪ ,‬והוא מסומן ב‪ .|w|-‬למשל‪ |aba| = 3 ,‬ו‪-‬‬
‫‪.|baab| = 4‬‬
‫גם סדרה באורך ‪ 0‬אותיות היא מילה‪ .‬זוהי המילה הריקה‪ .‬המילה הריקה אינה‬
‫המצאה מתמטית גרידא‪ .‬היא עונה על צרכים מסוימים ויש סיבות להגדרתה‪ .‬במידה‬
‫מסוימת‪ ,‬תפקידה מקביל לתפקידו של המספר ‪ 0‬במספרים הטבעיים‪ .‬למשל‪,‬‬
‫בדוגמאות הבאות אנו זקוקים למילה כזאת‪.‬‬
‫‪55‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫המילה הריקה‬
‫‪ ‬הקבלה למספר הטבעי ‪0‬‬
‫‪ ‬ריבוי דוגמאות לשפות המכילות את המילה‬
‫הריקה‬
‫♦ מספר הופעות זוגי‬
‫♦ קניות בקיוסק‬
‫♦ סוגריים מאוזנים‬
‫‪ ‬קישור למחשב הפרימיטיבי‬
‫‪ ‬קישור לאוטומט (מצב התחלתי מקבל)‬
‫‪56‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫מילה ריקה מול שפה ריקה‬
‫דוגמה ‪1‬‬
‫הא"ב }‪.{a, b‬‬
‫♦ שפת כל המילים שאינן מכילות ‪ a‬ואינן מכילות ‪b‬‬
‫♦ שפת כל המילים באורך ‪ ,1 ‬שאינן מכילות ‪ a‬ואינן‬
‫מכילות ‪b‬‬
‫דוגמה ‪2‬‬
‫הא"ב }‪.{a, b‬‬
‫♦ שפת כל המילים שאורכן מתחלק ב‪4-‬‬
‫♦ שפת כל המילים שאורכן מתחלק ב‪ ,4-‬אך לא ב‪2-‬‬
‫‪57‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ – נקודות תורפה נוספות‬3.1 ‫סעיף‬
‫ עדיפות סדר פעולות על מילים ועל שפות‬
‫ הקבלות מוטעות מאלגברה‬
‫שרשור אינו כפל‬
anbn ≠ (ab)n ♦
L0 = {} 
{an n  0}  {bn n  0} ≠ {anbn n  0} 
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
58
‫סעיף ‪ – 3.2‬שפה רגולרית ואוטומט‬
‫סופי דטרמיניסטי‬
‫מבנה הסעיף‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪59‬‬
‫הגדרת שפה רגולרית‬
‫דוגמאות לשפות רגולריות‬
‫♦ שפה בת מילה אחת‬
‫♦ שפה ריקה‬
‫♦ שפה סופית‬
‫♦ שפת כל המילים‬
‫קיום שפות לא רגולריות‬
‫♦ דוגמה מרכזית‪{anbn n  0} :‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחות אי‪-‬רגולריות‬
‫‪ ‬הסעיף הקשה ביותר ביחידה כולה‪:‬‬
‫♦ הוכחה פורמלית‬
‫♦ בדרך השלילה‬
‫♦ שבתוכה חבויה שוב דרך השלילה‪...‬‬
‫‪ ‬מוטיבציה‪:‬‬
‫♦ הגדרנו מודל חישובי – האם אפשר בעזרתו‬
‫לעשות הכל? (ציר השאלות התיאורטיות)‬
‫‪60‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחות אי‪-‬רגולריות (המשך)‬
‫‪ ‬איננו משתמשים בלמת הניפוח‬
‫♦ סימבולית מאוד‬
‫♦ הבנת הלמה והוכחתה דורשת רמת הפשטה‬
‫גבוהה מאוד‬
‫♦ ניתן להשתמש בלמה להוכחות אי‪-‬רגולריות‬
‫בצורה טכנית‪ ,‬בלי להבין מה בשפה גורם לה‬
‫להיות אי‪-‬רגולרית‬
‫‪61‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫למת הניפוח ‪ -‬תזכורת‬
‫משפט ‪ :4.1‬למת הניפוח לשפות רגולריות‬
‫תהי ‪ L‬שפה רגולרית‪ .‬אז קיים מספר טבעי ‪ n‬כך שכל‬
‫מילה ‪ z‬ב‪ ,L-‬שאורכה לפחות ‪ ,n‬ניתנת לפירוק בצורה‬
‫‪ z=uvw‬באופן שמתקיימים התנאים האלה‪:‬‬
‫‪uv n .1‬‬
‫‪1  v .2‬‬
‫‪ uviw  L .3‬לכל ‪0  i‬‬
‫‪62‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫}‪ {anbn n  0‬אינה שפה רגולרית‬
‫הוכחה על ידי למת הניפוח‪:‬‬
‫נניח שהשפה רגולרית‪.‬‬
‫לכן‪ ,‬מלמת הניפוח‪ ,‬קיים מספר טבעי ‪ n‬שמקיים את תנאי הלמה‪.‬‬
‫נבחר את המילה ‪.z=anbn‬‬
‫על פי הלמה קיים פירוק ‪ z=anbn=uvw‬כך ש‪:‬‬
‫‪u=as‬‬
‫‪v=at, t ≥ 1‬‬
‫‪w=an-s-tbn‬‬
‫ומתקיים‪ ,‬לכל ‪.uviw  L :i ≥ 0‬‬
‫בפרט‪ ,‬עבור ‪:i = 0‬‬
‫‪uv0w = uw = asan-s-tbn = an-tbn‬‬
‫כלומר‪an-tbn L ,‬‬
‫אבל‪ n-t  n ,‬ולכן ‪an-tbn  L‬‬
‫סתירה!‬
‫‪63‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫מסגרת הוכחת אי‪-‬רגולריות בספר‬
‫לתלמיד‬
‫נניח שהשפה ‪ L‬רגולרית‪.‬‬
‫לכן קיים אוטומט סופי ‪ A‬שמקבל את ‪.L‬‬
‫נבחר קבוצת מילים אינסופית ‪ W‬ונראה‪:‬‬
‫על כל מילה בקבוצה ‪ ,W‬האוטומט ‪ A‬מגיע למצב שונה‪.‬‬
‫‪ ‬ל‪ A -‬אינסוף מצבים‪ ,‬בסתירה להיותו אוטומט סופי‪.‬‬
‫‪64‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫מסגרת הוכחת אי‪-‬רגולריות בספר‬
‫לתלמיד ‪ -‬המשך‬
‫הוכחת טענת העזר‬
‫על כל מילה בקבוצה ‪ ,W‬האוטומט ‪ A‬מגיע למצב שונה‪.‬‬
‫נניח שיש בקבוצה ‪ W‬שתי מילים – ‪ w1‬ו‪ – w2-‬שעליהן‬
‫מגיע האוטומט ‪ A‬לאותו מצב ‪:q‬‬
‫כעת נמצא מילה ‪ w‬המקיימת‪:‬‬
‫‪w1wL‬‬
‫‪w2wL‬‬
‫מאחר ש‪ w1wL-‬אז ‪ A‬מקבל את ‪ ,w1wL‬כלומר‪,‬‬
‫מהמצב ‪ q‬המילה ‪ w‬מובילה אותו למצב מקבל‪ .‬אך אז‬
‫בהכרח ‪ A‬מקבל גם את ‪.w2w‬‬
‫סתירה להיותו אוטומט המקבל את ‪.L‬‬
‫‪65‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחות אי‪-‬רגולריות ‪ -‬המשך‬
‫‪ ‬לא עבור כל שפה לא רגולרית שיטת ההוכחה‬
‫הזאת עובדת ‪ ‬אם לא מצליחים להוכיח זה עוד‬
‫לא אומר שהשפה לא רגולרית‬
‫‪ ‬למרות שההוכחות דומות אחת לשניה נדרשת‬
‫מיומנות ביישום מסגרת ההוכחה ‪ ‬חשוב‬
‫לתרגל‬
‫‪ ‬רק הוכחה מלאה נחשבת הוכחה‬
‫‪66‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחות אי‪-‬רגולריות ‪ -‬המשך‬
‫הלקח החשוב‪:‬‬
‫השפה מחייבת זיכרון אינסופי ולאוטומט זיכרון סופי‬
‫אבל גם למחשב יש זיכרון‬
‫סופי‪...‬‬
‫‪67‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחות אי‪-‬רגולריות – קשיים‬
‫אופייניים‬
‫‪ ‬הוכחות לא מלאות‪ ,‬המשתמשות בנימוקים‬
‫אינטואיטיביים ("השפה מחייבת זיכרון אינסופי")‬
‫‪ ‬היצמדות לתבנית בלי בחינת הפרטים ‪‬‬
‫מצליחים ל"הוכיח" ששפות רגולריות הן לא‬
‫רגולריות‬
‫‪68‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ – 3.3‬תכונות של משפחת‬
‫השפות הרגולריות‬
‫מטרות‬
‫‪ ‬היכרות עם שאלות תיאורטיות ועם אופי הדיון‬
‫בהן‬
‫‪ ‬כלי להוכחה ששפות נתונות הן רגולריות‬
‫‪ ‬כלי לבניית אוטומט עבור שפה רגולרית נתונה‬
‫‪69‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ – 3.3‬תכונות הסגירות‬
‫הנדונות‬
‫‪ ‬סגירות לחלקיות‬
‫‪ ‬סגירות למשלים‬
‫‪ ‬סגירות לחיתוך‬
‫‪ ‬סגירות לאיחוד‬
‫‪70‬‬
‫דוגמה נגדית‬
‫הוכחה קונסטרוקטיבית‬
‫הוכחה קונסטרוקטיבית‬
‫הוכחה קונסטרוקטיבית‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחת תכונות סגירות ‪ -‬המשך‬
‫‪ ‬כל אחת מההוכחות מתחילה או מלווה בדוגמה‬
‫‪ ‬ההוכחות הקונסטרוקטיביות אינן פורמליות‬
‫לחלוטין (אין הוכחת שוויון קבוצות של השפה‬
‫שמתקבלת על ידי האוטומט והשפה הדרושה)‬
‫‪ ‬סימבוליקה רכה (אין שימוש בסימן המכפלה‬
‫הקרטזית)‬
‫‪71‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫שימושים לתכונות סגירות ‪-‬‬
‫דוגמאות‬
‫‪‬‬
‫גם שאלות בנייה וגם שאלות הוכחה‬
‫‪‬‬
‫שאלות הוכחה שאינן מחייבות בניה הן שאלות‬
‫תיאורטיות‪ ,‬ברמת הפשטה גבוהה יותר‬
‫♦ הוכחה קיומית ולא קונסטרוקטיבית‬
‫♦ יש בהן מרכיב טכני‪ ,‬ניתוח והסקה‬
‫♦ אין הרבה עבודה טכנית‬
‫♦ מוודאות הבנה משמעותית של החומר‬
‫♦ שאלות טובות לבחינות‬
‫‪‬‬
‫‪72‬‬
‫ליבון סוגיית השפה הריקה מכיוון החיתוך (נורית רייך)‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחת תכונות סגירות – בעיות‬
‫אופייניות‬
‫‪‬‬
‫‪‬‬
‫‪73‬‬
‫התעלמות מהטכניקות המוצעות ובניית אוטומט "ישיר"‬
‫חינוך לחשיבה רדוקטיבית‬
‫♦ להדגיש יתרונות‪:‬‬
‫■ בניית אוטומטים פשוטים מאוד ואחר כך הליך טכני‪ ,‬הפעלת‬
‫אלגוריתם‬
‫■ במקרים מסוימים – שימוש בקיים‬
‫■ פחות מאמץ‬
‫■ סיכוי קטן יותר לטעויות‬
‫♦ להקביל לתכנות – מודולריות‬
‫המצאת "תכונות" חדשות (שפת החיתוך של שפה רגולרית עם שפה‬
‫לא רגולרית היא רגולרית)‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 4‬מודלים נוספים של‬
‫אוטומט סופי‬
‫מטרות‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪74‬‬
‫היכרות עם אופי העבודה התיאורטית‬
‫♦ משחק עם הגדרות פורמליות שצמחו על‬
‫רקע מציאותי‪ ,‬תוך התנתקות מהמציאות‬
‫הצגת מושג האי‪-‬דטרמיניזם‬
‫הצגת מושג ההשוואה בין כוח חישוב של‬
‫מודלים שונים‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 4‬מבנה הפרק‬
‫מטרה ‪1‬‬
‫‪ 4.1‬אוטומט סופי דטרמיניסטי לא מלא‬
‫מטרות ‪ 1‬ו‪2-‬‬
‫‪ 4.2‬אוטומט סופי לא דטרמיניסטי‬
‫מטרה ‪3‬‬
‫‪ 4.3‬כוחם של המודלים החדשים‬
‫‪ 4.4‬תכונות נוספות של משפחת השפות הרגולריות‬
‫מטרה ‪1‬‬
‫‪ 4.5‬סיכום‬
‫‪75‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט סופי דטרמיניסטי לא מלא‪:‬‬
‫יתרונות דידקטיים‬
‫‪ ‬מאפשר מעבר הדרגתי ורך אל המודל הלא‬
‫דטרמיניסטי תוך "בידוד" אי‪-‬דטרמיניזם אמיתי‬
‫‪ ‬מעשיר את מגוון המודלים ומאפשר תרגול של‬
‫ההשוואה של כוח החישוב של מודלים (סעיף‬
‫‪)4.3‬‬
‫‪76‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת אוטומט סופי דטרמיניסטי לא מלא‬
‫לאוטומט סופי דטרמיניסטי לא מלא יש חמישה מרכיבים והם‪:‬‬
‫‪.1‬‬
‫א"ב – כל אותיות הקלט האפשריות עבור האוטומט‪ .‬מספר אותיות זה חייב להיות סופי‬
‫וגדול מ‪.0-‬‬
‫‪.2‬‬
‫מצבים – כל המצבים בהם יכול האוטומט להימצא‪ .‬מספר המצבים חייב להיות סופי וגדול‬
‫מ‪.0-‬‬
‫‪.3‬‬
‫מצב התחלתי – אחד מהמצבים‪ ,‬ממנו מתחיל האוטומט את מסלול החישוב על כל מילת‬
‫קלט‪.‬‬
‫‪.4‬‬
‫קבוצת מצבים מקבלים – קבוצה מתוך קבוצת המצבים‪ ,‬המכילה ‪ 0‬מצבים או יותר‪.‬‬
‫‪.5‬‬
‫קבוצת מעברים – קבוצת שלשות‪ .‬כל שלשה מורכבת ממצב‪ ,‬אות קלט ומצב (משמעות‬
‫שלשה )‪ (qi, x, qj‬היא כי כאשר האוטומט נמצא במצב ‪ qi‬ונקראת האות ‪ ,x‬הוא עובר למצב‬
‫‪ .)qj‬בקבוצה זו לא קיימות שלשות )‪ (qi, x, qj‬ו‪ (qk, x, q)-‬כך שמתקיים ‪ qi=qk‬ו‪x=y-‬‬
‫(כלומר‪ ,‬אין יותר ממעבר אחד לכל זוג של מצב ואות קלט)‪.‬‬
‫‪77‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת קבלה ודחייה של מילים על ידי‬
‫אוטומט סופי דטרמיניסטי לא מלא‬
‫א‪.‬‬
‫אוטומט סופי דטרמיניסטי לא מלא מקבל מילה כאשר היא נקראת עד סופה‪,‬‬
‫ובתום קריאתה נמצא האוטומט במצב מקבל‪.‬‬
‫ב‪.‬‬
‫אוטומט סופי דטרמיניסטי לא מלא דוחה מילה במקרים הבאים‪:‬‬
‫‪.1‬‬
‫המילה נקראת עד סופה ובתום קריאתה נמצא האוטומט במצב לא מקבל‪.‬‬
‫‪.2‬‬
‫במהלך קריאת המילה מגיע האוטומט למצב אשר ממנו אין מעבר המתאים‬
‫לאות הקלט הבאה (והאוטומט נתקע)‪.‬‬
‫כמו במודל הקודם‪ ,‬השפה המתקבלת על ידי אוטומט סופי דטרמיניסטי לא מלא היא‬
‫השפה המכילה בדיוק את כל המילים המתקבלות על ידי האוטומט‪.‬‬
‫‪78‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫יתרונות העבודה עם המודל החדש‬
‫‪ ‬תכנון קל יותר וקומפקטי יותר‬
‫‪" ‬חוסך" מצבי מלכודת לא מקבלים‬
‫‪79‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫התמודדות התלמידים עם המודל‬
‫החדש‬
‫‪ ‬בדרך כלל ההתמודדות פשוטה‬
‫♦ למרות שסעיף זה אינו דן בהשוואת כוח‬
‫החישוב של המודל החדש מול הקודם‪,‬‬
‫האינטואיציה מובילה אותם כבר לחשוב שזה‬
‫אותו דבר‪ ,‬בלי מצבי מלכודת לא מקבלים‬
‫‪ ‬בעיה שכיחה‪ :‬התייחסות לאופי המצב בו נתקע‬
‫האוטומט‬
‫היתקעות משמעותה תמיד דחייה!‬
‫‪80‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט סופי לא דטרמיניסטי‬
‫מוטיבציה להרחבה‪:‬‬
‫‪ ‬המשחק התיאורטי‬
‫‪ ‬במקרים מסוימים – הלך מחשבה טבעי (דוגמה‬
‫פותחת)‬
‫‪ ‬הוכחות קלות יותר לרגולריות (תכנון קל יותר)‬
‫‪ ‬הוכחות קלות יותר של תכונות סגירות נוספות‬
‫(סעיף ‪)4.4‬‬
‫מתאים לדיון רטרוספקטיבי‬
‫‪81‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט סופי לא דטרמיניסטי‬
‫אין מעברי ‪!‬‬
‫‪ ‬דורשים רמת הפשטה גבוהה יותר‬
‫♦ רמת אי‪-‬דטרמיניזם "גבוהה" יותר‬
‫♦ רחוקים יותר ממודל מציאותי של מכונה‬
‫המגיבה לקלטים‬
‫‪ ‬הרחבת המודל תדרוש גם דיון בכוחו‪ ,‬כלומר‬
‫השוואת כוח החישוב של מודל עם מעברי ‪‬‬
‫ומודל ללא מעברי ‪ .‬אין זמן במגבלות היחידה‪.‬‬
‫‪82‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט סופי לא דטרמיניסטי –‬
‫בעיות הטמעה‬
‫‪ ‬המודל אינו מציאותי‪ ,‬קשה לתלמידים להתמודד‬
‫עימו‬
‫♦ הימנעות משימוש באי‪-‬דטרמיניזם‬
‫♦ קושי להתרגל לטכניקה‬
‫■ ניצול חלקי של אי‪-‬דטרמיניזם‬
‫■ איכות נמוכה של אי‪-‬דטרמיניזם‬
‫♦ הבנה "לא דטרמיניסטית" של המודל – עבודה‬
‫ברמת הפשטה נמוכה‬
‫‪" ‬האנשת" האוטומט‪ :‬סימטריה בין דחייה לקבלה‬
‫‪83‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת אוטומט סופי לא דטרמיניסטי‬
‫לאוטומט סופי לא דטרמיניסטי חמישה מרכיבים והם‪:‬‬
‫‪.1‬‬
‫א"ב – כל אותיות הקלט האפשריות עבור האוטומט‪ .‬מספר אותיות זה חייב להיות‬
‫סופי וגדול מ‪.0-‬‬
‫‪.2‬‬
‫מצבים – כל המצבים בהם יכול האוטומט להימצא‪ .‬מספר המצבים חייב להיות‬
‫סופי וגדול מ‪.0-‬‬
‫‪.3‬‬
‫מצב התחלתי – אחד מהמצבים‪ ,‬ממנו מתחיל האוטומט את מסלול החישוב על כל‬
‫מילת קלט‪.‬‬
‫‪.4‬‬
‫קבוצת מצבים מקבלים – קבוצה מתוך קבוצת המצבים‪ ,‬המכילה ‪ 0‬מצבים או יותר‪.‬‬
‫‪.5‬‬
‫קבוצת מעברים – קבוצת שלשות‪ .‬כל שלשה מורכבת ממצב‪ ,‬אות קלט ומצב‬
‫(משמעות שלשה )‪ (qi, x, qj‬היא כי כאשר האוטומט נמצא במצב ‪ qi‬ונקראת האות ‪,x‬‬
‫הוא עובר למצב ‪.)qj‬‬
‫‪84‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת קבלה ודחייה של מילים על ידי‬
‫אוטומט סופי לא דטרמיניסטי‬
‫א‪ .‬אוטומט סופי לא דטרמיניסטי מקבל מילה אם קיים מסלול חישוב המתאים למילה‬
‫זו ומסתיים (עם תום המילה) במצב מקבל‪.‬‬
‫ב‪.‬‬
‫אוטומט סופי לא דטרמיניסטי דוחה מילה אם לא קיים מסלול חישוב מקבל‬
‫המתאים למילה זו‪ .‬בכל מסלול חישוב אפשרי למילה זו האוטומט נתקע‪ ,‬או‬
‫שהמסלול מסתיים במצב שאינו מקבל‪.‬‬
‫וכתמיד‪ ,‬השפה המתקבלת על ידי אוטומט סופי לא דטרמיניסטי היא השפה המכילה‬
‫בדיוק את כל המילים אותן האוטומט מקבל‪ ,‬כלומר‪ ,‬שפת כל המילים עבורן קיים‬
‫באוטומט זה מסלול חישוב מקבל‪.‬‬
‫‪85‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט סופי לא דטרמיניסטי –‬
‫תיעוד ובדיקה‬
‫‪ ‬אוטומט סופי לא דטרמיניסטי מגיע למצב מסוים‬
‫לא רק ע"פ המילה שקרא אלא גם ע"פ הבחירות‬
‫שעשה במהלך הדרך‪ .‬התיעוד צריך להתייחס גם‬
‫לניחושים‬
‫‪ ‬בבחירת דוגמאות קלט חשוב עוד יותר להקפיד‬
‫על בדיקת מילים שאינן בשפה‬
‫‪86‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט סופי לא דטרמיניסטי –‬
‫דוגמת תיעוד‬
‫לאוטומט שלושה מצבים‪:‬‬
‫‪ – q0‬המצב ההתחלתי‬
‫‪ – q1‬זוכר כי האות האחרונה שנקראה היתה ‪ a‬וכי האוטומט ניחש שאות זו מתחילה את‬
‫הרצף ‪ ac‬ושרצף זה מסיים את מילת הקלט‬
‫‪ – q2‬זוכר כי האות האחרונה שנקראה היתה ‪ b‬או ששתי האותיות האחרונות שנקראו‬
‫היו ‪ .ac‬האוטומט "מעוניין" להגיע למצב זה בד בבד עם סיום מילת הקלט‪.‬‬
‫‪a, b, c‬‬
‫‪b‬‬
‫‪q2‬‬
‫‪c‬‬
‫‪q0‬‬
‫‪a‬‬
‫‪q1‬‬
‫‪87‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
– ‫אוטומט סופי לא דטרמיניסטי‬
‫בדיקת דוגמאות קלט‬
.{0, 1, 2} :‫הא"ב‬
{w 20 ‫ מכילה את הרצף‬w} :‫השפה‬
0, 1, 2
q0
0, 1, 2
2
q1
0
q2
.{0, 1, 2} :‫הא"ב‬
{w 20 ‫ אינה מכילה את הרצף‬w} :‫השפה‬
0, 1, 2
q0
0, 1, 2
2
q1
0
q2
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
88
‫בעיות בהטמעת אי‪-‬דטרמיניזם ‪-‬‬
‫דוגמה‬
‫בנה אוטומט המקבל את השפה מעל הא"ב }‪{a, b, c‬‬
‫המכילה בדיוק את כל המילים שמקיימות לפחות‬
‫אחד מבין שני התנאים הבאים‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪89‬‬
‫המילה מסתיימת ברצף ‪.bc‬‬
‫המילה מורכבת משני חלקים‪ ,‬כאשר החלק‬
‫הראשון מכיל את הרצף ‪ ,ba‬והחלק השני מכיל‬
‫את הרצף ‪.ab‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פתרון דטרמיניסטי ישיר‬
a, c
b
c
a
a, b, c
a
b
q0
a
q1
q3
q4
b
q5
c
a, c
b
c
b
a
a
c
c
q2
q6
q7
b
b
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
90
‫פתרון לא דטרמיניסטי ישיר‬
a, b, c
q1
c
q2
b
a, b, c
q0
a, b, c
b
q3
a
q4
a
q5
b
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
q6
91
‫פתרון רדוקטיבי לא דטרמיניסטי‬
a, b, c
q0
b
q1
c
q2
a, b, c
a, b, c
b
t0
t1
a
t2
a, b, c
s0
a, b, c
a
s1
b
s2
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
92
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :1‬פתרונות דטרמיניסטיים‬
‫עם אי‪-‬דטרמיניזם לוקלי‬
‫דוגמה ‪ – 1‬פתרון ישיר עם פירוק חבוי ל‪ 3-‬שפות‬
‫‪93‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :1‬פתרונות דטרמיניסטיים‬
‫עם אי‪-‬דטרמיניזם לוקלי‬
‫דוגמה ‪ – 2‬פירוק מלא ל‪ 3-‬שפות בסיס‬
‫‪94‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :1‬פתרונות דטרמיניסטיים‬
‫עם אי‪-‬דטרמיניזם לוקלי‬
‫דוגמה ‪ – 3‬פתרון ישיר‬
‫‪95‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :1‬פתרונות דטרמיניסטיים‬
‫עם אי‪-‬דטרמיניזם לוקלי‬
‫דוגמה ‪ – 4‬פתרון ישיר עם פירוק חבוי ל‪ 3-‬שפות‬
‫‪96‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫משפחה ‪ - 1‬סיכום‬
‫‪ ‬אוטומט דטרמיניסטי בבסיסו‬
‫‪ ‬מעברים אי‪-‬דטרמיניסטיים מיותרים‬
‫‪ ‬תופעה חוזרת‪ :‬מעבר אי‪-‬דטרמיניסטי מיותר‬
‫שהוא לולאה עצמית עם כל אותיות הא"ב במצב‬
‫ההתחלתי‬
‫‪97‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :2‬פתרונות אי‪-‬דטרמיניסטיים‬
‫עם סממנים דטרמיניסטיים‬
‫דוגמה ‪ – 1‬פירוק מלא לשלוש שפות בסיס‬
‫‪98‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :2‬פתרונות אי‪-‬דטרמיניסטיים‬
‫עם סממנים דטרמיניסטיים‬
‫דוגמה ‪ – 2‬פירוק מלא לשלוש שפות בסיס‬
‫‪99‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :2‬פתרונות אי‪-‬דטרמיניסטיים‬
‫עם סממנים דטרמיניסטיים‬
‫דוגמה ‪ – 3‬פתרון ישיר‬
‫‪100‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ סיכום‬- 2 ‫משפחה‬
‫דטרמיניסטי‬-‫דטרמיניסטי או כמעט אי‬-‫ אוטומט אי‬
‫ דטרמיניזם לוקאלי‬
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
101
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :3‬פתרונות תהליכיים‪:‬‬
‫מאי‪-‬דטרמיניזם אל דטרמיניזם‬
‫דוגמה ‪ – 1‬נסיגה במהלך בנייה ישירה‬
‫‪a, c‬‬
‫‪b‬‬
‫‪c‬‬
‫‪b‬‬
‫‪b‬‬
‫‪a‬‬
‫‪a, c‬‬
‫‪a‬‬
‫‪q2‬‬
‫‪b‬‬
‫‪a‬‬
‫‪b‬‬
‫‪a‬‬
‫‪a, b‬‬
‫‪102‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :3‬פתרונות תהליכיים‪:‬‬
‫מאי‪-‬דטרמיניזם אל דטרמיניזם‬
‫דוגמה ‪ – 1‬נסיגה במהלך בנייה ישירה ‪ -‬המשך‬
‫‪103‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :3‬פתרונות תהליכיים‪:‬‬
‫מאי‪-‬דטרמיניזם אל דטרמיניזם‬
‫דוגמה ‪ – 1‬נסיגה במהלך בנייה ישירה ‪ -‬המשך‬
‫‪104‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :3‬פתרונות תהליכיים‪:‬‬
‫מאי‪-‬דטרמיניזם אל דטרמיניזם‬
‫דוגמה ‪ – 1‬נסיגה במהלך בנייה ישירה ‪ -‬המשך‬
‫‪105‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :3‬פתרונות תהליכיים‪:‬‬
‫מאי‪-‬דטרמיניזם אל דטרמיניזם‬
‫דוגמה ‪ – 2‬נסיגה במהלך ביצוע רדוקציה‬
‫‪106‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :3‬פתרונות תהליכיים‪:‬‬
‫מאי‪-‬דטרמיניזם אל דטרמיניזם‬
‫דוגמה ‪ – 2‬נסיגה במהלך ביצוע רדוקציה‬
‫‪107‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫משפחה ‪ - 3‬סיכום‬
‫‪ ‬מעבר דרך אוטומט לא דטרמיניסטי נכון או כמעט‬
‫נכון‬
‫‪ ‬החלפתו באוטומט דטרמיניסטי (באופן מפורש או‬
‫באופן סמוי)‬
‫‪108‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :4‬פתרונות דטרמיניסטיים‬
‫לא מלאים‬
‫דוגמה ‪ – 1‬פירוק לשתי שפות בסיס‬
‫‪109‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
– ‫דטרמיניזם‬-‫בעיות בהטמעת אי‬
‫ פתרונות דטרמיניסטיים‬:4 ‫משפחה‬
‫לא מלאים‬
‫ – פתרון ישיר עם עקבות פירוק‬2 ‫דוגמה‬
a, c
q0
b
b
q
b, c
a
q2
a, c
a
q3
b
q4
c
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
110
‫בעיות בהטמעת אי‪-‬דטרמיניזם –‬
‫משפחה ‪ :4‬פתרונות דטרמיניסטיים‬
‫לא מלאים‬
‫דוגמה ‪ – 3‬פתרון ישיר‬
‫‪111‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫משפחה ‪ - 4‬סיכום‬
‫‪ ‬נטייה הפוכה לזו שהודגמה במשפחה ‪ – 1‬חסרון‬
‫מעברים לולאתיים חיוניים‬
‫‪ ‬ייתכן כי תלמידים "מוכנים" לקבל את המודל‬
‫הדטרמיניסטי הלא‪-‬מלא אך קשה להם להתמודד‬
‫עם המודל הלא דטרמיניסטי‬
‫‪112‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ :4.3‬כוחם של המודלים‬
‫החדשים‬
‫‪ ‬השוואה בין כוח החישוב של אוטומט סופי‬
‫דטרמיניסטי לאוטומט סופי לא דטרמיניסטי‬
‫‪ ‬השוואה בין כוח החישוב של אוטומט סופי‬
‫דטרמיניסטי לאוטומט סופי דטרמיניסטי לא מלא‬
‫(תרגיל)‬
‫‪113‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫השוואת כוח החישוב של מודלים‬
‫כדי להראות שמודל ‪ X‬שקול למודל ‪:Y‬‬
‫א‪ .‬כל בעיה ש‪ X-‬פותר גם ‪ Y‬יכול לפתור‬
‫ב‪ .‬כל בעיה ש‪ Y-‬פותר גם ‪ X‬יכול לפתור‬
‫בדרך כלל‪ ,‬מוכיחים א' ו‪-‬ב' בצורה קונסטרוקטיבית‬
‫כדי להראות שכוח החישוב של מודל ‪ Y‬גדול מכוח החישוב‬
‫של מודל ‪:X‬‬
‫א‪ .‬כל בעיה ש‪ X-‬פותר גם ‪ Y‬יכול לפתור‬
‫ב‪ .‬יש בעיה ש‪ X-‬לא יכול לפתור‪ ,‬אך ‪ Y‬יכול לפתור‬
‫בדרך כלל‪ ,‬מוכיחים א' בצורה קונסטרוקטיבית‪.‬‬
‫ב' מוכח על‪-‬ידי דוגמה‬
‫‪114‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ההשוואה בין אוטומט סופי‬
‫דטרמיניסטי לאוטומט סופי לא‬
‫דטרמיניסטי‬
‫א‪ .‬כל בעיה שאפשר לפתור על ידי המודל הדטרמיניסטי‬
‫אפשר לפתור גם על ידי המודל הלא דטרמיניסטי‪:‬‬
‫מיידי‪ ,‬מהגדרת אוטומט דטרמיניסטי כמקרה פרטי של‬
‫אי‪-‬דטרמיניסטי‬
‫ב‪ .‬כל בעיה שאפשר לפתור על ידי המודל הלא‬
‫דטרמיניסטי אפשר לפתור גם על ידי המודל‬
‫הדטרמיניסטי‪:‬‬
‫אין הוכחה פורמלית אלא הדגמה של התרגום‪.‬‬
‫המטרה‪ :‬הבנה אינטואיטיבית‬
‫‪115‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ :4.4‬תכונות נוספות של‬
‫משפחת השפות הרגולריות‬
‫מטרות‬
‫‪ ‬להציג יתרון נוסף של המודל הלא דטרמיניסטי‬
‫‪ ‬להוכיח תכונות סגירות נוספות‬
‫התכונות הנדונות‬
‫‪ ‬סגירות להיפוך – הקשה ביותר‬
‫‪ ‬סגירות לשרשור – יותר אינטואיטיבית‬
‫‪ ‬סגירות לאיחוד – קלה למדי ומוכיחה תכונה‬
‫מוכרת בדרך פשוטה יותר‬
‫‪116‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחת תכונות סגירות נוספות ‪-‬‬
‫המשך‬
‫‪ ‬התכונות אינן מוכחות פורמלית‪ .‬הדיון מבוסס‬
‫דוגמאות‬
‫‪ ‬בגלל שאין מעברי ‪ ,‬הבניות מעט יותר מסובכות‬
‫טכנית (חיקוי מעברים)‬
‫‪117‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחת תכונות סגירות נוספות –‬
‫דגשים דידקטיים‬
‫‪‬‬
‫‪‬‬
‫‪118‬‬
‫להדגיש את האינטואיציה מאחורי הבניות‬
‫♦ היפוך – לבצע על כל מילה מסלול חישוב הפוך‬
‫♦ שרשור – לחבר מסלולי חישוב‬
‫♦ איחוד – להחליט באופן לא דטרמיניסטי לאיזה‬
‫אוטומט לעבור‬
‫להדגיש היכן נכנס אי‪-‬דטרמיניזם‬
‫♦ היפוך – בכל מצב‪ ,‬מהיפוך כיווני המעברים‬
‫♦ שרשור – במצבים המקבלים של האוטומט הראשון‪,‬‬
‫נקודות החיבור בין האוטומטים‬
‫♦ איחוד – במצב ההתחלתי החדש‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הוכחת תכונות סגירות נוספות‪:‬‬
‫קשיים אופייניים‬
‫‪‬‬
‫איחוד – לעיתים תלמידים מבצעים "איחוד" המצבים‬
‫ההתחלתיים במקום הוספת מצב התחלתי חדש‬
‫‪‬‬
‫שרשור – מתי לבטל מצב התחלתי של האוטומט השני?‬
‫‪‬‬
‫שרשור – לעיתים תלמידים מכניסים מעברים חדשים‬
‫במקום הקיימים ולא בנוסף לקיימים‬
‫‪‬‬
‫כמו ביחס לתכונות הקודמות‪:‬‬
‫♦ העדפת פתרונות ישירים‬
‫♦ העדפת פתרונות קונסטרוקטיביים על קיומיים‬
‫חינוך לחשיבה רדוקטיבית‬
‫‪119‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית ‪-‬‬
‫דוגמאות‬
‫שאלה ‪1‬‬
‫נתבונן בשפה מעל הא"ב }‪ {a, b, c‬המכילה בדיוק את כל‬
‫המילים שמקיימות לפחות אחד מבין שני התנאים‬
‫הבאים‪:‬‬
‫‪ .1‬מספר האותיות ‪ a‬במילה שווה למספר האותיות ‪b‬‬
‫במילה‪ ,‬והסכום של מספר האותיות ‪ a‬ומספר האותיות ‪b‬‬
‫הוא לכל היותר ‪.6‬‬
‫‪ .2‬המילה מכילה את הרצף ‪ abc‬ומסתיימת ברצף ‪.bb‬‬
‫האם שפה זו היא רגולרית? הוכח את תשובתך‪.‬‬
‫‪120‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ – פתרון ישיר‬1 ‫שאלה‬
c
c
a
a
q0
q2
b
b
c
a
a
q5
q6
b
b
c
a
a
q9
q10
b
q11
b
c
b
c
a
c
c
a
q13
c
c
a
q8
b
q7
b
c
c
c
a
q4
b
q3
b
c
q12
a
q1
b
c
c
a
q14
q15
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
121
‫ – פתרון רדוקטיבי ראשון‬1 ‫שאלה‬
L0  {w |#a ( w) #b ( w)  0}
L1  {w |#a ( w) #b ( w)  1}
L2  {w |#a ( w) # b ( w)  2}
L3  {w |#a ( w) #b ( w)  3}
L  L0  L1  L2  L3
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
122
‫פתרון ראשון – האוטומטים המתאימים‬
c
c
c
c
c
c
c
a
q0
a
q1
a
a q2
q0
q3
q1
q0
b
b
c
c
q0
a q4
q1
a
c
q3
b
a q8
q4
b
b
c
q6
b
c
a
q7
a q
12
a
a
q8
a
q13
q3
a
b
q14
b
a
c
q11
c
a
c
q7
b
q10
c
c
a
c
b
cb
c
b
q9
q5
b
bc
a q
6
c
c
c
a
q2
q2
cb
b
a
q5
b
b
c
c
c
a
b
cb
c
q15
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
123
c
c
c
a
q0
q1
b
b
c
c
q2
a
q3
a
q0
b
a
q1
b
c
q2
b
c
a
q3
b
a
q4
b
c
q6
c
c
q5
b
c
a
q7
a
c
c
q8
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
124
a
q0
a
q1
c
c
a
q3
q2
b
b
b
a
q4
c
c
a
q7
a
q8
c
c
c
a
q0
b
b
b
c
a
b
a
a
b
c
q13
b
q10
q14
b
a
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
c
q11
c
a
c
q7
c
b
a
a
b
q9
c
b
q6
c
a
q3
c
b
q8
q12
b
q5
c
a
q2
c
a
c
c
a
q1
c
q4
q5
b
b
b
q6
c
c
c
c
q15
125
‫ – פתרון רדוקטיבי שני‬1 ‫שאלה‬
L0  {w |#a ( w) #b ( w)  0}
L4  {w |#a ( w)  1}
L5  {w |#b ( w)  1}
L6  {w |#a ( w)  2}
L7  {w |#b ( w)  2}
L8  {w |#a ( w)  3}
L9  {w |#b ( w)  3}
L  L0  ( L4  L5 )  ( L6  L7 )  ( L8  L9 )
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
126
‫פתרון שני – האוטומטים המתאימים‬
c
b, c
a
q0
b, c
q0
b, c
a
q1
b, c
a
q1
q2
b
a, c
q2
b, c
a
q3
a, c
q0
q1
a, c
b
q0
b, c
a
a, c
q0
b, c
a
a, c
q1
b, c
q0
q0
b, c
a, c
b
q1
a, c
b
q1
q2
a, c
b
q2
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
a, c
b
q3
127
‫ – פתרון רדוקטיבי שלישי‬1 ‫שאלה‬
c
L0  {w |#a ( w) #b ( w)  0}
q0
c
L10  {w |#a ( w)  1 and #b ( w)  0}
c
a
q0
q1
c
L11  {w |#a ( w)  0 and # b ( w)  1}
q0
c
b
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
q1
128
L  L0  ( L10  L11 )  ( L11  L10 ) 
( L10  L10  L11  L11 )  ( L10  L11  L10  L11 ) 
( L10  L11  L11  L10 )  ( L11  L10  L10  L11 ) 
( L11  L10  L11  L10 )  ( L11  L11  L10  L10 ) 
( L10  L10  L10  L11  L11  L11 )  ( L10  L10  L11  L10  L11  L11 ) 
( L10  L10  L11  L11  L10  L11 )  ( L10  L10  L11  L11  L11  L10 ) 
( L10  L11  L10  L10  L11  L11 )  ( L10  L11  L10  L11  L10  L11 ) 
( L10  L11  L10  L11  L11  L10 )  ( L10  L11  L11  L10  L10  L11 ) 
( L10  L11  L11  L10  L11  L10 )  ( L10  L11  L11  L11  L10  L10 ) 
( L11  L10  L10  L10  L11  L11 )  ( L11  L10  L10  L11  L10  L11 ) 
( L11  L10  L10  L11  L11  L10 )  ( L11  L10  L11  L10  L10  L11 ) 
( L11  L10  L11  L10  L11  L10 )  ( L11  L10  L11  L11  L10  L10 ) 
( L11  L11  L10  L10  L10  L11 )  ( L11  L11  L10  L10  L11  L10 ) 
( L11  L11  L10  L11  L10  L10 )  ( L11  L11  L11  L10  L10  L10 )
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
129
‫עקרון ה‪Trade-off-‬‬
‫פתרונות מתוחכמים יותר (רמת חשיבה‬
‫רדוקטיבית גבוהה יותר) משרים‬
‫סיבוכיות בנייה נמוכה יותר‬
‫‪130‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית ‪-‬‬
‫דוגמאות‬
‫שאלה ‪2‬‬
‫יהיו ‪ L1‬ו‪ L2-‬השפות הבאות מעל הא"ב }‪:{a, b‬‬
‫‪ L1‬היא שפת כל המילים המכילות אך ורק מספר זוגי‬
‫של אותיות ‪.b‬‬
‫‪ L2‬היא השפה }‪.{ba n n  0‬‬
‫‪2‬‬
‫‪L‬‬
‫‪‬‬
‫‪L‬‬
‫מהן ‪ ? 1 2 , L1‬האם הן רגולריות? הוכח‪.‬‬
‫‪131‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית ‪-‬‬
‫דוגמאות‬
‫שאלה ‪3‬‬
‫נתבונן בשפה מעל הא"ב }‪ {a, b, c‬המכילה את כל המילים שמקיימות‬
‫את שני התנאים הבאים‪:‬‬
‫‪ .1‬אחד התנאים הבאים מתקיים‪:‬‬
‫א‪ .‬החלק הראשון של המילה מכיל את הרצף ‪ aa‬והחלק השני של‬
‫המילה מכיל את הרצף ‪.bb‬‬
‫ב‪ .‬המילה מסתיימת ברצף ‪.cc‬‬
‫‪ .2‬המילה מתחילה ברצף ‪.aaba‬‬
‫האם שפה זו היא רגולרית? הוכח את תשובתך‪.‬‬
‫‪132‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית ‪-‬‬
‫דוגמאות‬
‫שאלה ‪4‬‬
‫נתבונן בשפה מעל הא"ב }‪ {a, b, c‬המכילה בדיוק את כל המילים‬
‫שמקיימות את שני התנאים הבאים‪:‬‬
‫‪ .1‬מקיימות לפחות אחד מבין שני התנאים הבאים‪:‬‬
‫א‪ .‬מורכבות משני חלקים‪ ,‬כאשר בחלק הראשון של המילה מופיע‬
‫הרצף ‪ ba‬ובחלק השני מופיע הרצף ‪.ab‬‬
‫ב‪ .‬מסתיימות ברצף ‪.babc‬‬
‫‪ .2‬מכילות את הרצף ‪ ba‬וגם את הרצף ‪.ab‬‬
‫האם שפה זו היא רגולרית? הוכח את תשובתך‪.‬‬
‫‪133‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית ‪-‬‬
‫דוגמאות‬
‫שאלה ‪5‬‬
‫נתונה שפת כל המילים מהצורה ‪, a n bm c k n, m, k  0‬‬
‫כך שמספר האותיות ‪ a‬בכל מילה זוגי או שמספר‬
‫האותיות ‪ c‬בכל מילה הוא לפחות ‪ .3‬האם שפה זו‬
‫רגולרית? הוכח את תשובתך‪.‬‬
‫‪134‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית ‪-‬‬
‫דוגמאות‬
‫שאלה ‪6‬‬
‫נתבונן בשפת כל המילים מעל הא"ב }‪{a, b, c‬‬
‫שמקיימות לפחות אחד מבין שני התנאים הבאים‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪135‬‬
‫אחרי כל ‪ a‬מופיע ‪ bb‬וגם מספר האותיות ‪ a‬זוגי‪.‬‬
‫המילה מורכבת משני חלקים כך שבחלק הראשון‬
‫מספר האותיות ‪ a‬זוגי ובחלק השני מספר‬
‫האותיות ‪ b‬זוגי‪.‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
- ‫חינוך לחשיבה רדוקטיבית‬
‫דוגמאות‬
7 ‫שאלה‬
‫ ({ מעל הא"ב‬ab) n (ba) m n, m  0} ‫האם השפה‬
.‫{ היא רגולרית? הוכח את תשובתך‬a, b}
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
136
- ‫חינוך לחשיבה רדוקטיבית‬
‫דוגמאות‬
8 ‫שאלה‬
‫{ מעל הא"ב‬a i b j c k k  i mod 3} ‫האם השפה‬
.‫{ היא רגולרית? הוכח את תשובתך‬a, b, c}
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
137
‫חלק שני‬
‫אוטומט המחסנית‬
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
138
‫מבנה החלק השני‬
‫טכני‬
‫ אוטומט המחסנית‬.5
‫ כוחו ומגבלותיו של אוטומט המחסנית תיאורטי‬.6
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
139
‫המוטיבציה להרחבה‬
‫‪ ‬המשחק התיאורטי – שינוי ההגדרות ובדיקת‬
‫ההשפעה‬
‫‪ ‬ניסיון להתגבר על מגבלות מודל האוטומט הסופי‬
‫‪140‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ – אוטומט המחסנית‬5 ‫פרק‬
‫ פרק טכני‬
:‫ מבנה הפרק‬
‫ המחסנית‬5.1
‫ אוטומט המחסנית‬5.2
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
141
‫סעיף ‪ :5.1‬המחסנית‬
‫‪ ‬המחסנית כמבנה נתונים מופשט שאפשר לפתור‬
‫בעזרתו בעיות שונות‬
‫♦ כיצד בודקים בעזרת מחסנית שרצף של‬
‫אותיות ‪ a‬שווה באורכו לרצף של אותיות ‪?b‬‬
‫♦ כיצד בודקים בעזרת מחסנית שבסדרה‬
‫המורכבת מאותיות ‪ a‬ו‪ b-‬בסדר כלשהו מספר‬
‫האותיות ‪ a‬שווה למספר האותיות ‪?b‬‬
‫‪ ‬לתלמידים שכבר מכירים מחסנית מהיחידה‬
‫"עיצוב תוכנה" הסעיף קל ופשוט ואפילו מפורט‬
‫מדי‬
‫‪142‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ :5.2‬אוטומט המחסנית‬
‫‪ ‬כדי להתגבר על מגבלת הזיכרון הסופי מוסיפים‬
‫לאוטומט סופי מחסנית אינסופית כטיוטה‪.‬‬
‫‪ ‬כרגיל – היכרות בעזרת דוגמה (}‪){anbn n  0‬‬
‫‪ ‬מאחר שהמודל הוא הרחבה של המודל האחרון‬
‫בשרשרת‪ ,‬הוא מודל לא דטרמיניסטי‬
‫♦ רוב הדוגמאות מציגות אוטומט דטרמיניסטי‬
‫♦ כאשר תלמיד מתבקש לבנות אוטומט מחסנית‬
‫הוא יכול לבחור במודל דטרמיניסטי או לא‬
‫דטרמיניסטי כראות עיניו‬
‫‪143‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת אוטומט מחסנית לא דטרמיניסטי‬
‫לאוטומט מחסנית לא דטרמיניסטי שישה מרכיבים והם‪:‬‬
‫‪.1‬‬
‫א"ב הקלט – כל אותיות הקלט האפשריות עבור האוטומט‪ .‬מספר אותיות זה חייב להיות‬
‫סופי וגדול מ‪.0-‬‬
‫‪.2‬‬
‫א"ב המחסנית – האותיות שאותן יכול האוטומט לדחוף למחסנית‪ .‬זהו מרכיב חדש‪ ,‬שלא‬
‫היה קיים בהגדרת אוטומט סופי‪ .‬גם מספר אותיות אלה סופי‪.‬‬
‫‪.3‬‬
‫מצבים – כל המצבים בהם יכול האוטומט להימצא‪ .‬מספר המצבים חייב להיות סופי‬
‫וגדול מ‪.0-‬‬
‫‪.4‬‬
‫מצב התחלתי – אחד מהמצבים‪ ,‬ממנו מתחיל האוטומט את מסלול החישוב על כל מילת‬
‫קלט‪.‬‬
‫‪.5‬‬
‫קבוצת מצבים מקבלים – קבוצה מתוך קבוצת המצבים‪ ,‬המכילה ‪ 0‬מצבים או יותר‪.‬‬
‫‪.6‬‬
‫קבוצת מעברים – קבוצת חמישיות‪ .‬כל חמישייה מורכבת ממצב‪ ,‬אות קלט‪ ,‬אות מא"ב‬
‫המחסנית (או סימן המציין כי המחסנית ריקה)‪ ,‬מצב ומילה מעל א"ב המחסנית‪.‬‬
‫‪144‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט מחסנית ‪ -‬ההגדרה‬
‫ההגדרה נבנתה כך שתהיה‬
‫♦ הרחבה של ההגדרה האחרונה הקיימת‪.‬‬
‫♦ פשוטה ככל שניתן‬
‫‪ ‬ייתכנו הבדלים בינה לבין הגדרות מוכרות‬
‫לכם‪ ,‬אבל ההגדרות השונות שקולות‬
‫‪145‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת אוטומט המחסנית ‪ -‬המשך‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪146‬‬
‫סימן תחתית המחסנית אינו חלק מא"ב המחסנית‬
‫♦ לא ניתן להכניסו למחסנית‬
‫♦ הוא מתאר את מצב המחסנית עם תחילת החישוב‬
‫הגדרת קבלה על ידי מצב מקבל ולא על ידי מחסנית ריקה‬
‫♦ "נחסכת" ההשוואה בכוח החישוב בין שתי ההגדרות‬
‫בכל צעד – "נשלפת" האות שבראש המחסנית‪ ,‬ובמקומה "נדחפת"‬
‫המילה שהיא הרכיב החמישי‪ .‬צורת כתיבה זו מאפשרת אחידות‪.‬‬
‫♦ אפשר לבצע שליפה לא הכנסה‬
‫♦ אפשר לבצע החלפת ראש המחסנית באות או במילה‬
‫♦ אפשר לדחוף מעל ראש המחסנית אות או מילה‬
‫♦ אפשר להשאיר את המחסנית ללא שינוי‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫תיאור אוטומט מחסנית‬
‫‪ ‬אפשר באופן גרפי‬
‫♦ התיאורים על המעברים יכולים להיות‬
‫מילוליים‪ ,‬בתנאי שברורים וחד‪-‬משמעיים‬
‫ויכולים להיות סימבוליים‬
‫‪ ‬אפשר על ידי פירוט מרכיבים (ובפרט‪ ,‬רשימת‬
‫מעברים)‬
‫מספיק לבחור מאחד מאופני התיאור!‬
‫‪147‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט המחסנית – קשיים אופייניים‬
‫‪ ‬בעיות שנובעות מחוסר הבנה של מושג האי‪-‬‬
‫דטרמיניזם‪ ,‬אך צפות בהקשר של אוטומט‬
‫מחסנית‪ ,‬בגלל מורכבות האוטומטים‬
‫‪ ‬סימון מיותר של תחתית המחסנית (היצמדות‬
‫לתבנית)‬
‫‪ ‬התעקשות על הכנסת אות בודדת למחסנית בכל‬
‫צעד‬
‫‪148‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫אוטומט מחסנית לא דטרמיניסטי‬
‫ה"מקבל" את }‪ {anbn n  0‬ללא‬
‫סימון תחתית המחסנית‬
‫‪ – q0‬לא נקראה אף אות‬
‫‪ – q1‬נקראה ‪ a‬אחת‬
‫‪ – q2‬נקרא רצף אותיות ‪ ,a‬באורך > ‪1‬‬
‫‪ – q3‬נקרא רצף אותיות ‪ ,a‬באורך > ‪ ,1‬ואחריו רצף אותיות ‪ ,b‬כנראה קצר ממנו‬
‫‪ – q4‬נקרא רצף אותיות ‪ ,a‬ואחריו רצף אותיות ‪ ,b‬כנראה שווה לו באורכו‬
‫‪149‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ :6‬כוחו ומגבלותיו של אוטומט‬
‫המחסנית‬
‫‪ ‬פרק לא פשוט‬
‫♦ כולו תיאורטי‬
‫♦ עמוס – מרוכזים בו דיונים המקבילים לאלו‬
‫שנערכו גם בפרק ‪ 3‬וגם בפרק ‪4‬‬
‫♦ חלק מהתוצאות ניתנות (לשם השלמות) ללא‬
‫הוכחה ולעיתים אפילו ללא הסבר אינטואיטיבי‬
‫‪150‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ :6‬כוחו ומגבלותיו של אוטומט‬
‫המחסנית – מבנה הפרק‬
‫‪ 6.1‬אוטומט מחסנית לעומת אוטומט סופי‬
‫‪ .6.2‬אוטומט מחסנית דטרמיניסטי‬
‫‪ 6.3‬מגבלותיו של המודל‬
‫‪ 6.4‬תכונות של משפחת השפות חופשיות ההקשר‬
‫‪ 6.5‬סיכום‬
‫‪151‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ – 6‬כוחו ומגבלותיו של‬
‫אוטומט המחסנית ‪ -‬המשך‬
‫מטרות‬
‫לבדוק את המודל החדש בכל האספקטים המוכרים‬
‫‪ ‬השוואה בינו לבין מודל קודם‪ ,‬מבחינת כוח‬
‫החישוב (סעיף ‪)6.1‬‬
‫‪ ‬השפעת אי‪-‬דטרמיניזם על המודל (סעיף ‪)6.2‬‬
‫‪ ‬מגבלות המודל (סעיף ‪)6.3‬‬
‫‪ ‬תכונות הסגירות של המודל (סעיף ‪)6.4‬‬
‫‪152‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ - 6‬ההוכחות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪153‬‬
‫ההשוואה למודל קודם – הוכחה מלאה‬
‫השפעת האי‪-‬דטרמיניזם – דוגמה‪ ,‬ללא הוכחה‬
‫מגבלות המודל – דיון אינטואיטיבי‪ ,‬עם שתי דוגמאות‬
‫תכונות סגירות‪:‬‬
‫הוכחה מלאה (דוגמה)‬
‫♦ חלקיות‪:‬‬
‫הוכחה מלאה (דוגמה)‬
‫♦ משלים‪:‬‬
‫הוכחה מלאה (דוגמה)‬
‫♦ חיתוך ‪:‬‬
‫הוכחה קונסטרוקטיבית (כתרגיל)‬
‫♦ איחוד‪ :‬‬
‫אין הוכחה ואין נימוק (דקדוקים)‬
‫♦ היפוך‪ :‬‬
‫נימוק אינטואיטיבי (במדריך למורה)‬
‫♦ שרשור‪ :‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ :6.3‬מגבלות המודל‬
‫משחקים תיאורטיים שמביאים למודלים חדשים‪:‬‬
‫‪ ‬תור במקום מחסנית‬
‫‪ ‬שתי מחסניות‬
‫‪ ‬א"ב מחסנית אינסופי‬
‫אלו מודלים אחרים וחזקים מאוד‪.‬‬
‫לא ניתן להשתמש בהם כשנדרשים להשתמש‬
‫באוטומט מחסנית!‬
‫‪154‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ פיתוח חשיבה‬ ‫תכונות סגירות‬
‫רדוקטיבית‬
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
155
‫חינוך לחשיבה רדוקטיבית –‬
‫דוגמאות במודל אוטומט המחסנית‬
‫שאלה ‪9‬‬
‫א‪ .‬בנה אוטומט מחסנית המקבל את השפה‬
‫}‪ {a n b m c m a n n, m  0‬מעל הא"ב }‪.{a, b, c‬‬
‫‪n m m k‬‬
‫ב‪ .‬האם השפה }‪ {a b c a n, m  0, k  n‬מעל‬
‫הא"ב }‪ {a, b, c‬היא חופשית הקשר? הוכח את‬
‫תשובתך‪.‬‬
‫‪156‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
– ‫חינוך לחשיבה רדוקטיבית‬
‫דוגמאות במודל אוטומט המחסנית‬
10 ‫שאלה‬
n m k
{a b c n, m, k  0, m  n  k  3} ‫הוכח כי השפה‬
.‫{ היא חופשית הקשר‬a, b, c} ‫מעל הא"ב‬
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
157
‫חינוך לחשיבה רדוקטיבית –‬
‫דוגמאות במודל אוטומט המחסנית‬
‫שאלה ‪11‬‬
‫הוכח כי השפה }‪ {a n b n7 n  0‬מעל הא"ב }‪{a, b‬‬
‫היא חופשית הקשר‪.‬‬
‫‪158‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית –‬
‫דוגמאות במודל אוטומט המחסנית‬
‫שאלה ‪12‬‬
‫האם השפה }‪ {a n bk a r k  n  m, n  0, r  m‬מעל‬
‫הא"ב }‪ {a, b, c‬היא חופשית הקשר? הוכח את‬
‫תשובתך‪.‬‬
‫‪159‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית –‬
‫דוגמאות במודל אוטומט המחסנית‬
‫שאלה ‪13‬‬
‫נתבונן בשפה מעל הא"ב }‪ {a, b, c‬המכילה בדיוק את‬
‫כל המילים שהן מהצורה ‪n, m  0 , a n b m c n m  2‬‬
‫או מהצורה ‪ , c n  m  2 b m a n‬כאשר ‪. n, m  0‬‬
‫הוכח כי זו שפה חופשית הקשר‪.‬‬
‫‪160‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫חינוך לחשיבה רדוקטיבית –‬
‫דוגמאות במודל אוטומט המחסנית‬
‫שאלה ‪14‬‬
‫נתבונן בשפה מעל הא"ב }‪ {a, b‬המכילה בדיוק את כל‬
‫המילים שמורכבות משני חלקים‪ ,‬כך שבחלק הראשון‬
‫מספר האותיות ‪ a‬שווה למספר האותיות ‪ ,b‬ובחלק השני‬
‫מספר האותיות ‪ a‬שונה ממספר האותיות ‪ .b‬למשל‪,‬‬
‫המילה ‪ aaba‬בשפה‪ ,‬כי ניתן לחלקה כך‪ ;ab-aa :‬המילה‬
‫‪ aab‬בשפה‪ ,‬כי ניתן לחלקה כך ‪( -aab‬החלק הראשון הוא‬
‫‪ ;)‬המילים ‪ abab‬ו‪ aabb-‬אינן בשפה‪ ,‬כי בכל חלוקה‬
‫שבה בחלק הראשון מספר האותיות ‪ a‬שווה למספר‬
‫האותיות ‪ ,b‬בהכרח גם בחלק השני מספר האותיות ‪a‬‬
‫שווה למספר האותיות ‪ .b‬האם שפה זו היא חופשית‬
‫הקשר? הוכח את תשובתך‪.‬‬
‫‪161‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
– ‫חינוך לחשיבה רדוקטיבית‬
‫דוגמאות במודל אוטומט המחסנית‬
15 ‫שאלה‬
{a b c n, k  0, m  n  r, r  k , r  0} ‫הוכח כי השפה‬
n
m k
.‫{ היא חופשית הקשר‬a, b, c} ‫מעל הא"ב‬
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
162
‫חלק שלישי‬
‫מכונת טיורינג‬
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
163
‫מבנה החלק השלישי‬
‫ תיאורטי‬+ ‫טכני‬
‫ מכונת טיורינג‬.7
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
164
‫המוטיבציה להרחבה‬
‫‪ ‬המשחק התיאורטי – שינוי ההגדרות ובדיקת‬
‫ההשפעה‬
‫‪ ‬ניסיון להתגבר על מגבלות הזיכרון של מודל‬
‫אוטומט המחסנית‬
‫‪165‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ההקשר ההיסטורי‬
‫‪ ‬אלן טיורינג הגדיר את המודל כדי לנסות ולתפוס‬
‫את כל הבעיות שניתן לפתור באופן אלגוריתמי‬
‫‪ ‬לשם כך הגדיר מכונה עם אוצר פעולות בסיס‬
‫מאוד‪ ,‬אך שניתן בעזרתו לפתור כל בעיה‬
‫שניתנת לפתרון אלגוריתמי‬
‫‪ ‬זה אינו המודל המתמטי היחיד שהוגדר עבור כל‬
‫הבעיות שניתנות לפתרון (תחשיב‪ ,-‬פונקציות‬
‫רקורסיביות)‬
‫‪166‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫פרק ‪ :7‬מכונת טיורינג – מבנה‬
‫הפרק‬
‫טכני‬
‫‪ 7.1‬הכרת המודל‬
‫טכני‬
‫‪ .7.2‬דוגמאות‬
‫טכני בסיס תיאורטי‬
‫‪ 7.3‬אי‪-‬עצירה של מכונות טיורינג‬
‫‪ 7.4‬חישובים בעזרת מכונות טיורינג טכני‬
‫‪ 7.5‬כוחו של מודל מכונת טיורינג תיאורטי‬
‫תיאורטי‬
‫‪ 7.6‬המחשב אינו כל יכול‬
‫פרט להגדרה‬
‫‪167‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סיכום ההבדלים בין מודל אוטומט‬
‫המחסנית למודל מכונת טיורינג‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪168‬‬
‫הזיכרון מצויר פרוש הצידה‬
‫תאים ריקים מסומנים במפורש על ידי הסימן ‪‬‬
‫קצה הסרט מסומן על ידי הסימן המיוחד ‪‬‬
‫יש ראש קורא וכותב‬
‫מילת הקלט רשומה על הסרט‬
‫המכונה עוצרת רק כאשר אין מעבר מתאים‪ .‬קבלת‬
‫המילה או דחייתה נקבעות על פי המצב בו נמצאת‬
‫המכונה עם עצירתה‬
‫המודל הוא הרחבה של אוטומט מחסנית דטרמיניסטי‪.‬‬
‫הדיון בתוספת אי‪-‬דטרמיניזם הוא בסעיף ‪7.5‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ :7.1‬הכרת המודל‬
‫‪ ‬דרך דוגמאות פשוטות של שפות רגולריות‬
‫‪ ‬אחר כך ההגדרה הפורמלית‬
‫סעיף ‪ :7.2‬דוגמאות‬
‫‪ ‬שפות שאינן חופשיות הקשר‬
‫‪ ‬נדרש יישום (בניית מכונות) ברמה פשוטה‬
‫‪ ‬נדרשת הבנה – של הגדרת המודל ושל מכונות‬
‫נתונות‬
‫‪169‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת מכונת טיורינג‬
‫למכונת טיורינג שישה מרכיבים והם‪:‬‬
‫‪.1‬‬
‫א"ב הקלט – כל האותיות שיכולות להיות רשומות על הסרט לפני תחילת תהליך‬
‫החישוב‪ .‬מספר אותיות זה חייב להיות סופי וגדול מ‪.0-‬‬
‫‪.2‬‬
‫א"ב המכונה – אותיות נוספות‪ ,‬בהן יכולה המכונה להיעזר במהלך עבודתה‪ .‬מספר‬
‫אותיות אלה סופי‪.‬‬
‫‪.3‬‬
‫מצבים – כל המצבים בהם יכולה המכונה להימצא‪ .‬מספר המצבים חייב להיות‬
‫סופי וגדול מ‪.0-‬‬
‫‪.4‬‬
‫מצב התחלתי – אחד מהמצבים‪ ,‬ממנו מתחילה תמיד המכונה את מסלול החישוב‪.‬‬
‫‪.5‬‬
‫קבוצת מצבים מקבלים – קבוצה מתוך קבוצת המצבים‪ ,‬המכילה ‪ 0‬מצבים או‬
‫יותר‪.‬‬
‫‪.6‬‬
‫‪170‬‬
‫קבוצת מעברים – קבוצת חמישיות‪ .‬בכל חמישייה הרכיבים הבאים‪:‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫הגדרת מכונת טיורינג ‪ -‬המשך‬
‫‪.6‬‬
‫קבוצת מעברים – קבוצת חמישיות‪ .‬בכל חמישייה הרכיבים הבאים‪:‬‬
‫א‪ .‬מצב‪.‬‬
‫ב‪ .‬אות מא"ב הקלט‪ ,‬או מא"ב המכונה‪ ,‬או אחד הסימנים ‪ ‬או ‪. ‬‬
‫ג‪ .‬מצב‪.‬‬
‫ד‪ .‬אות מא"ב הקלט‪ ,‬או מא"ב המכונה‪ ,‬או אחד הסימנים ‪ ‬או ‪. ‬‬
‫ה‪ .‬אחת מההוראות – ימין או שמאל‪.‬‬
‫קבוצת המעברים צריכה לקיים את המגבלות הבאות‪:‬‬
‫א‪ .‬אין שני מעברים שיש להם אותם רכיבים א' ו‪-‬ב'‪ .‬כלומר‪ ,‬לכל צירוף של‬
‫מצב ואות יש לכל היותר מעבר מתאים אחד‪.‬‬
‫ב‪ .‬בכל מעבר בו הרכיב השני הוא ‪ , ‬הרכיב הרביעי חייב להיות ‪ ‬והרכיב‬
‫החמישי חייב להיות ימין‪.‬‬
‫ג‪ .‬אין מעבר בו הרכיב הרביעי הוא ‪ ‬והרכיב השני איננו ‪. ‬‬
‫‪171‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫שלבי תכנון מכונת טיורינג‬
‫‪ ‬תכנון האלגוריתם‬
‫‪ ‬הגדרת קבוצת המצבים‬
‫‪ ‬הגדרת קבוצת המעברים‬
‫איטרטיבי‬
‫אפשר תיאור גרפי‬
‫או‬
‫על ידי פירוט ששת המרכיבים‬
‫‪172‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ :7.3‬אי‪-‬עצירה של מכונות טיורינג‬
‫‪ ‬נדרש יישום (בניית מכונות עוצרות ‪ /‬לא עוצרות)‬
‫ברמה פשוטה‬
‫‪ ‬נדרשת הבנה – של מכונות נתונות מבחינת‬
‫היבט העצירה שלהן‬
‫סעיף ‪ :7.4‬חישובים בעזרת מכונות טיורינג‬
‫‪ ‬נדרש יישום – בניית מכונות המחשבות פונקציות‬
‫פשוטות‬
‫‪173‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ – 7.5‬כוחו של מודל מכונת‬
‫טיורינג‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪174‬‬
‫השוואה למודל קודם‪ :‬פשוטה יחסית אך אינה מוכחת‬
‫באופן מלא‬
‫♦ כל מה שאוטומט מחסנית יכול לעשות גם מכונת‬
‫טיורינג יכולה לעשות – סימולציה טכנית ומייגעת‬
‫שאינה מופיעה בספר‬
‫♦ יש בעיה שאוטומט מחסנית לא יכול לפתור ומכונת‬
‫טיורינג יכולה‪{anbncnn  0} :‬‬
‫השפעת אי‪-‬דטרמיניזם (נדונה באופן מינימלי‪ ,‬למעשה‬
‫ללא הוכחה)‬
‫השוואה למחשב אידיאלי – מרכז הסעיף‪ .‬נימוקים‬
‫אינטואיטיביים‬
‫התיזה של צ'רץ' – דיון כללי מאוד ואינטואיטיבי‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫סעיף ‪ – 7.6‬מחשב אינו כל יכול‬
‫‪ ‬דוגמה לבעיה שלא ניתן לפתור בעזרת המודל –‬
‫בעיית העצירה‬
‫‪ ‬למעשה הדיון הזה אינו משתמש בהגדרה‬
‫הפורמלית של המודל‬
‫‪ ‬כדי להראות שהמודל מוגבל מספיק להראות‬
‫דוגמה של שפה שאינה ניתנת לקבלה‪ ,‬כמו שפת‬
‫האי‪-‬עצירה‬
‫‪ ‬בגלל ההשלכות על מחשב מראים גם שפה‬
‫שאינה ניתנת להכרעה‬
‫‪175‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫ציר השאלות התיאורטיות‬
‫אין דיון בתכונות סגירות עבור מודל מכונת‬
‫טיורינג‬
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
176
‫לא קיימת תוכנית מחשב שפותרת‬
‫את בעיית העצירה‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪177‬‬
‫נניח שקיימת תוכנית )‪ A(P, x‬שפותרת את בעיית העצירה‪.‬‬
‫נבנה )‪:D(S‬‬
‫‪ .1‬אם "לא" = )‪ A(S, S‬עצור‬
‫‪ .2‬אחרת – בצע‪:‬‬
‫‪ 2.1‬כל עוד ‪ 3 < 2‬בצע ‪y  1‬‬
‫האם )‪ D(D‬עוצרת?‬
‫אם כן‪" :‬לא" = )‪ D(D)  A(D, D‬לא עוצרת‬
‫♦‬
‫אם לא‪" :‬כן" = )‪ D(D)  A(D, D‬עוצרת‬
‫♦‬
‫סתירה!‬
‫‪ D ‬לא קיימת‬
‫‪ A ‬לא קיימת‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫מכונות טיורינג‬
‫שלא תמיד עוצרות‬
‫מכונה שפותרת‬
‫את בעיית‬
‫העצירה‬
‫מכונות‬
‫טיורינג‬
‫שעוצרות‬
‫תמיד‬
‫‪178‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
‫שפת האי‪-‬עצירה‬
‫‪RE‬‬
‫‪R‬‬
‫שפת העצירה‬
‫‪ – R‬השפות הניתנות להכרעה (רקורסיביות)‬
‫‪ – RE‬השפות הניתנות לקבלה (ניתנות למנייה רקורסיבית)‬
‫‪179‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬
"‫תהליך ה"אבולוציה‬
{anbn  0  n  5} {an  n  0}
)‫שפות רגולריות (אוטומט סופי‬
{anbn  n  0 }
‫שפות חופשיות הקשר (אוטומט‬
)‫מחסנית‬
{anbncn  n  0}
/ ‫שפות הניתנות להכרעה‬
)‫רקורסיביות (מכונת טיורינג‬
{wcR(w)  |w|  3, {a, b} ‫ מעל‬w} {wc {a, b} ‫ מעל‬w}
{wcR(w)  {a, b} ‫ מעל‬w}
{wcw  {a, b} ‫ מעל‬w}
Michal Armoni – Department of Science Teaching, Weizmann Institute of Science
180
‫היררכית השפות של חומסקי‬
‫שם משפחה‬
‫סוג אוטומט‬
‫סוג דקדוק‬
‫מכונת טיורינג דקדוק כללי‬
‫ניתנות למניה‬
‫השפות‬
‫מטיפוס ‪ 0‬רקורסיבית‬
‫(ניתנות לקבלה)‬
‫אוטומט חסום דקדוק תלוי‬
‫תלויות הקשר‬
‫השפות‬
‫הקשר‬
‫ליניארית‬
‫מטיפוס ‪1‬‬
‫יחס הכלה ממש‬
‫אי‪-‬‬
‫דטרמיניזם‬
‫מוסיף כוח?‬
‫לא‬
‫?‬
‫השפות‬
‫מטיפוס ‪2‬‬
‫חופשיות הקשר‬
‫אוטומט‬
‫מחסנית‬
‫דקדוק חסר‬
‫הקשר‬
‫כן‬
‫השפות‬
‫מטיפוס ‪3‬‬
‫רגולריות‬
‫אוטומט סופי‬
‫דקדוק‬
‫רגולרי‬
‫לא‬
‫בין השפות מטיפוס ‪ 3‬לשפות מטיפוס ‪ 2‬נמצאות השפות חופשיות ההקשר‬
‫הדטרמיניסטיות‪ ,‬המתקבלות על ידי אוטומט מחסנית דטרמיניסטי ודקדוק )‪LR(0‬‬
‫‪181‬‬
‫‪Michal Armoni – Department of Science Teaching, Weizmann Institute of Science‬‬