המצגת של ד ר מיכל ארמוני
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המקיימת:
w1wL
w2wL
מאחר ש w1wL-אז Aמקבל את ,w1wLכלומר,
מהמצב qהמילה wמובילה אותו למצב מקבל .אך אז
בהכרח Aמקבל גם את .w2w
סתירה להיותו אוטומט המקבל את .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 n7 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
השוואה למודל קודם :פשוטה יחסית אך אינה מוכחת
באופן מלא
♦ כל מה שאוטומט מחסנית יכול לעשות גם מכונת
טיורינג יכולה לעשות – סימולציה טכנית ומייגעת
שאינה מופיעה בספר
♦ יש בעיה שאוטומט מחסנית לא יכול לפתור ומכונת
טיורינג יכולה{anbncnn 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}
/ שפות הניתנות להכרעה
)רקורסיביות (מכונת טיורינג
{wcR(w) |w| 3, {a, b} מעלw} {wc {a, b} מעלw}
{wcR(w) {a, b} מעלw}
{wcw {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