1 / 26

דידקטיקה של מודלים חישוביים

דידקטיקה של מודלים חישוביים. מיכל ארמוני המחלקה להוראת המדעים מכון ויצמן למדע. חלק ראשון האוטומט הסופי. פרק 3 – מילים ושפות פורמליות. פרק תיאורטי המעבר קשה, המוטיבציה עלולה לרדת התמודדות אפשרית: ספירה גבוהה יותר מתכנת  מפתח שפות תכנות וחוקר את תכונותיהן

jasper
Download Presentation

דידקטיקה של מודלים חישוביים

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. דידקטיקה של מודלים חישוביים מיכל ארמוני המחלקה להוראת המדעים מכון ויצמן למדע

  2. חלק ראשון האוטומט הסופי

  3. פרק 3 – מילים ושפות פורמליות • פרק תיאורטי • המעבר קשה, המוטיבציה עלולה לרדת • התמודדות אפשרית: ספירה גבוהה יותר • מתכנת  מפתח שפות תכנות וחוקר את תכונותיהן • בניית אוטומטים  חקר אוטומטים

  4. פרק 3 – מבנה הפרק 3.1 הגדרות ודוגמאות 3.2 שפה רגולרית ואוטומט סופי דטרמיניסטי 3.3 תכונות של משפחת השפות הרגולריות

  5. א"ב מילה אורך מילה מילה ריקה פעולות על מילים שרשור חזקה היפוך שפה פורמלית שפה ריקה פעולות על שפות שרשור חזקה היפוך תחום מתמטי חייב להיות מוגדר היטב, בצורה מדויקת. אחרת ניתן למשל להוכיח דברים שאינם נכונים סעיף 3.1 – רשימת הגדרות

  6. סעיף 3.1 – הגדרות (המשך) • ההגדרות ניתנות באופן מילולי, רך יחסית, ולא סימבולי קשיח, אבל מדויקות • עם מרביתן אין לתלמידים בעיה להתמודד • הגדרות קשות יותר להטמעה: • מילה ריקה • שפה ריקה

  7. סעיף 3.1 – הגדרות (המשך) • דוגמאות: כפי שראינו בפרק הקודם, מילים בשפה מורכבות מסימנים, ולסימנים אלה קוראים אותיות. אלפבית, או א"ב, הוא קבוצה סופית של אותיות, המכילה לפחות אות אחת. א"ב מסמנים, כנהוג לגבי קבוצות, באופן הבא: רושמים את אותיות הא"ב בין צומדיים כשפסיקים מפרידים בין האותיות. למשל, הא"ב שמכיל את האותיות a ו-b סימונו {a, b}, והא"ב שמכיל את האותיות 1, 2 ו-3 סימונו {3 ,2 ,1}. מילה היא סדרה של אותיות מא"ב נתון, הרשומות משמאל לימין. למשל, כשהא"ב הוא {a. b}, אז aa, abbaa ו-aba הן מילים המורכבות מאותיות א"ב זה. נהוג לומר שאלו מילים מעל א"ב זה.

  8. סעיף 3.1 – הגדרות (המשך) • דוגמאות: האורך של מילה w הוא מספר האותיות בה, והוא מסומן ב-|w|. למשל, 3|aba| = ו- 4|baab| =. גם סדרה באורך 0 אותיות היא מילה. זוהי המילה הריקה. המילה הריקה אינה המצאה מתמטית גרידא. היא עונה על צרכים מסוימים ויש סיבות להגדרתה. במידה מסוימת, תפקידה מקביל לתפקידו של המספר 0 במספרים הטבעיים. למשל, בדוגמאות הבאות אנו זקוקים למילה כזאת.

  9. המילה הריקה • הקבלה למספר הטבעי 0 • ריבוי דוגמאות לשפות המכילות את המילה הריקה • מספר הופעות זוגי • קניות בקיוסק • סוגריים מאוזנים • קישור למחשב הפרימיטיבי • קישור לאוטומט (מצב התחלתי מקבל)

  10. מילה ריקה מול שפה ריקה דוגמה 1 הא"ב {a, b}. • שפת כל המילים שאינן מכילות a ואינן מכילות b • שפת כל המילים באורך  1, שאינן מכילות a ואינן מכילות b דוגמה 2 הא"ב {a, b}. • שפת כל המילים שאורכן מתחלק ב-4 • שפת כל המילים שאורכן מתחלק ב-4, אך לא ב-2

  11. סעיף 3.1 – נקודות תורפה נוספות • עדיפות סדר פעולות על מילים ועל שפות • הקבלות מוטעות מאלגברה • anbn ≠ (ab)n שרשור אינו כפל • L0 = {} • {an n  0}  {bn n  0} ≠ {anbn n  0}

  12. סעיף 3.2 – שפה רגולרית ואוטומט סופי דטרמיניסטי מבנה הסעיף • הגדרת שפה רגולרית • דוגמאות לשפות רגולריות • שפה בת מילה אחת • שפה ריקה • שפה סופית • שפת כל המילים • קיום שפות לא רגולריות • דוגמה מרכזית: {anbn n  0}

  13. הוכחות אי-רגולריות • הסעיף הקשה ביותר ביחידה כולה: • הוכחה פורמלית • בדרך השלילה • שבתוכה חבויה שוב דרך השלילה... • מוטיבציה: • הגדרנו מודל חישובי – האם אפשר בעזרתו לעשות הכל? (ציר השאלות התיאורטיות)

  14. הוכחות אי-רגולריות (המשך) • איננו משתמשים בלמת הניפוח • סימבולית מאוד • הבנת הלמה והוכחתה דורשת רמת הפשטה גבוהה מאוד • ניתן להשתמש בלמה להוכחות אי-רגולריות בצורה טכנית, בלי להבין מה בשפה גורם לה להיות אי-רגולרית

  15. למת הניפוח - תזכורת משפט 4.1: למת הניפוח לשפות רגולריות תהי L שפה רגולרית. אז קיים מספר טבעי n כך שכל מילה z ב-L, שאורכה לפחות n, ניתנת לפירוק בצורה z=uvw באופן שמתקיימים התנאים האלה: 1. uv n 2. 1  v 3. uviw  L לכל 0  i

  16. {anbn n  0} אינה שפה רגולרית הוכחה על ידי למת הניפוח: נניח שהשפה רגולרית. לכן, מלמת הניפוח, קיים מספר טבעי n שמקיים את תנאי הלמה. נבחר את המילה z=anbn. על פי הלמה קיים פירוק z=anbn=uvw כך ש: u=as v=at, t ≥ 1 w=an-s-tbn ומתקיים, לכל i ≥ 0: uviw  L. בפרט, עבור i = 0: uv0w = uw = asan-s-tbn = an-tbn כלומר, an-tbn L אבל, n-t  n ולכן an-tbn  L סתירה!

  17. מסגרת הוכחת אי-רגולריות בספר לתלמיד נניח שהשפה L רגולרית. לכן קיים אוטומט סופי A שמקבל את L. נבחר קבוצת מילים אינסופית W ונראה: על כל מילה בקבוצה W, האוטומט A מגיע למצב שונה. • ל- A אינסוף מצבים, בסתירה להיותו אוטומט סופי.

  18. מסגרת הוכחת אי-רגולריות בספר לתלמיד - המשך הוכחת טענת העזר על כל מילה בקבוצה 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.

  19. הוכחות אי-רגולריות - המשך • לא עבור כל שפה לא רגולרית שיטת ההוכחה הזאת עובדת  אם לא מצליחים להוכיח זה עוד לא אומר שהשפה לא רגולרית • למרות שההוכחות דומות אחת לשניה נדרשת מיומנות ביישום מסגרת ההוכחה  חשוב לתרגל • רק הוכחה מלאה נחשבת הוכחה

  20. הוכחות אי-רגולריות - המשך הלקח החשוב: השפה מחייבת זיכרון אינסופי ולאוטומט זיכרון סופי אבל גם למחשב יש זיכרון סופי...

  21. הוכחות אי-רגולריות – קשיים אופייניים • הוכחות לא מלאות, המשתמשות בנימוקים אינטואיטיביים ("השפה מחייבת זיכרון אינסופי") • היצמדות לתבנית בלי בחינת הפרטים  מצליחים ל"הוכיח" ששפות רגולריות הן לא רגולריות

  22. סעיף 3.3 – תכונות של משפחת השפות הרגולריות מטרות • היכרות עם שאלות תיאורטיות ועם אופי הדיון בהן • כלי להוכחה ששפות נתונות הן רגולריות • כלי לבניית אוטומט עבור שפה רגולרית נתונה

  23. סעיף 3.3 – תכונות הסגירות הנדונות • סגירות לחלקיות דוגמה נגדית • סגירות למשלים הוכחה קונסטרוקטיבית • סגירות לחיתוך הוכחה קונסטרוקטיבית • סגירות לאיחוד הוכחה קונסטרוקטיבית

  24. הוכחת תכונות סגירות - המשך • כל אחת מההוכחות מתחילה או מלווה בדוגמה • ההוכחות הקונסטרוקטיביות אינן פורמליות לחלוטין (אין הוכחת שוויון קבוצות של השפה שמתקבלת על ידי האוטומט והשפה הדרושה) • סימבוליקה רכה (אין שימוש בסימן המכפלה הקרטזית)

  25. שימושים לתכונות סגירות - דוגמאות • גם שאלות בנייה וגם שאלות הוכחה • שאלות הוכחה שאינן מחייבות בניה הן שאלות תיאורטיות, ברמת הפשטה גבוהה יותר • הוכחה קיומית ולא קונסטרוקטיבית • יש בהן מרכיב טכני, ניתוח והסקה • אין הרבה עבודה טכנית • מוודאות הבנה משמעותית של החומר • שאלות טובות לבחינות • ליבון סוגיית השפה הריקה מכיוון החיתוך (נורית רייך)

  26. הוכחת תכונות סגירות – בעיות אופייניות • התעלמות מהטכניקות המוצעות ובניית אוטומט "ישיר" חינוך לחשיבה רדוקטיבית • להדגיש יתרונות: • בניית אוטומטים פשוטים מאוד ואחר כך הליך טכני, הפעלת אלגוריתם • במקרים מסוימים – שימוש בקיים • פחות מאמץ • סיכוי קטן יותר לטעויות • להקביל לתכנות – מודולריות • המצאת "תכונות" חדשות (שפת החיתוך של שפה רגולרית עם שפה לא רגולרית היא רגולרית)

More Related