1 / 40

סדנא במודלים חישוביים

סדנא במודלים חישוביים. 18 בפברואר, 18 במרץ 2009. רחל אלון, ורדה פורת, רחל צ'רניחוב, שירלי רוזנברג-כהן. חלק מהשקפים במצגת זו נלקחו מהמצגת של ד"ר מיכל ארמוני (במיוחד שקפים 26-36). המצגת המקורית של ד"ר ארמוני נמצאית בכתובת http://cse.proj.ac.il/modelim/michal/comp_models_teachers_23_6.ppt.

minor
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. סדנא במודלים חישוביים 18 בפברואר, 18 במרץ 2009 רחל אלון, ורדה פורת, רחל צ'רניחוב, שירלי רוזנברג-כהן

  2. חלק מהשקפים במצגת זו נלקחו מהמצגת של ד"ר מיכל ארמוני (במיוחד שקפים 26-36). • המצגת המקורית של ד"ר ארמוני נמצאית בכתובת http://cse.proj.ac.il/modelim/michal/comp_models_teachers_23_6.ppt

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

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

  5. מודלים חישוביים מוטיבציה האם סדרת תווים מהא"ב {(נקודה)0..9, . } היא מספר ממשי תקין? static void getMavarim(int[,] f)קלט טבלת מעברים // } for (int state = 0; state < ST; state++) for (int sig = 0; sig < IN; sig++) { Console.Write("q" + state + " s: " + sig + " --> "); f[state, sig] = int.Parse(Console.ReadLine()); } } העברת הקלט ל- 0/1 // static int Tav2Num(char t) { if (t=='.') return 1; else return 0; }

  6. מודלים חישוביים מוטיבציה האם סדרת תווים מהא"ב {(נקודה)0..9, .} היא מספר ממשי תקין? לב התכנית: int state = 0; Console.Write("enter word :(char by char - end with $): "); char tav = char.Parse(Console.Read()); while (tav != '$') { state = func[state, Tav2Num(tav)]; tav = char.Parse(Console.ReadLine()); } if (state == 1 || state == 3) Console.WriteLine("word excepted"); else Console.WriteLine("N O T excepted!"); מעבר בתוך טבלת המעברים -->

  7. מודלים חישוביים מוטיבציה האם מספר הוא כפולה של 3? state=0; dig=int.Parse(Console.ReadLine()); While ( dig != -1 ) { state= (state+dig%3)%3; dig=int.Parse(Console.ReadLine()); } If (state==0 ) Console.WriteLine(“num divides by 3”); else Console.WriteLine(“does NOT divide by 3”);

  8. מכפלת אוטומטים מודלים חישוביים למה? ולמה לא...

  9. מכפלת אוטומטים מודלים חישוביים

  10. מכפלת אוטומטים מודלים חישוביים בנה אוטומאט המקבל מילים בשפה מעל הא"ב {a,b,c} המתחילות ב-a מסתיימות ב-b ומספר ה-b במילה זוגי. שלב א: נחלק לשתי שפות/אוטומטים, ונצייר בנפרד מתחילות ב-a ומסתיימות ב-b מספר ה-b זוגי

  11. מכפלת אוטומטים מודלים חישוביים שלב ב: "נזרום" יחד בשני האוטומטים וניצור טבלת מעברים מתחילות ב-a ומסתיימות ב-b מספר ה-b זוגי

  12. מכפלת אוטומטים מודלים חישוביים שלב ג: נאתר מצבים מקבלים: וגם/או מתחילות ב-a ומסתיימות ב-b מספר ה-b זוגי

  13. מכפלת אוטומטים מודלים חישוביים שלב ד: נצייר את האוטומאט. שלב ה: נאתר מצבים מיותרים ונאחד אותם

  14. מכפלת אוטומטים מודלים חישוביים האוטומט

  15. מכפלת אוטומטים מודלים חישוביים בגרות תשס"ז

  16. מכפלת אוטומטים מודלים חישוביים בגרות תשס"ז יש aba אין bab

  17. מודלים חישוביים

  18. מכפלת אוטומטים מודלים חישוביים בגרות תשס"ז

  19. מכפלת אוטומטים מודלים חישוביים בגרות תשס"ז

  20. מודלים נוספים מודלים חישוביים • אוטומט סופי דטרמיניסטי לא-מלא: • מעברים חסרים (המובילים להתקעות) • כאשר האוטומט "נתקע" ולא יודע מה לעשות, המילה נדחית (גם אם ה"תקיעה" היא במצב מקבל) דוגמא: א"ב {a, b, c}, מילים המתחילות ב-a ואין בהן c. אוטומט מלא אוטומט לא מלא

  21. מודלים נוספים מודלים חישוביים • אוטומט סופי לא דטרמיניסטי: • מעברים כפולים (ממצב מסוים עם אות מסוימת יש יותר ממעבר אחד) • בד"כ האוטומט גם לא מלא. • כאשר האוטומט "נתקע" ולא יודע מה לעשות, המילה נדחית (גם אם ה"תקיעה" היא במצב מקבל) • כאשר יש יותר מאפשרות אחת האוטומט "מנחש" לאיזה מסלול לפנות כדי להגיע למצב מקבל. • אם יש מסלול מקבל - המילה מתקבלת. דוגמא: מסתיים ברצף aba דוגמא: מסתיים ב-b

  22. מודלים נוספים מודלים חישוביים אוטומט סופי לא דטרמיניסטי - איך להסביר לתלמידים? דוגמא: יש רצף aba מסלול על מילה: aabbaba X X X V

  23. מודלים חישוביים מודלים נוספים אוטומט סופי לא דטרמיניסטי - ההסברים • "מטבע קסם" • "ניווט סוף מסלול" • חישוב מקבילי – ריבוי מעבדים

  24. מודלים חישוביים מכפלת אוטומטים ואי-דטרמיניזם הפיכת א"ס לא-דטרמיניסטי לדטרמיניסטי השפה: א"ב { a,b} אות שלישית מהסוף היא b

  25. מודלים חישוביים שפות רגולריות מצגת של רחלי צרניחוב

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

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

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

  29. מודלים חישוביים הוכחת אי-רגולריות ד ו ג מ א ו ת

  30. מודלים חישוביים הוכחת אי-רגולריות האם { anbm|n,m>0, n=m} היא שפה רגולרית • נניח בשלילה שהשפה L רגולרית. לכן קיים אוטומט סופי A שמקבל את L. • נבחר קבוצת מילים אינסופית W = {an| n>0} • טענה: על כל מילה בקבוצה w האוטומט A מגיע למצב שונה => ל-A אינסוף מצבים, בסתירה להיותו אוטומט סופי. • נניח בשלילה שיש בקבוצה W שתי מילים: w1=ai,w2= aj כך ש: ji≠, i,j>0שעליהן מגיע האוטומט A לאותו מצב q: • נתבונן במילה aibi.המילה שייכת לשפה ולכן האוטומט A מגיע עליה למצב מקבל. כלומר: קריאת הסיפא bi מובילה את האוטומט ממצב q למצב מקבל. • אבל מכאן נובע שהאוטומט A מקבל גם את המילה ajbi שאינה שייכת לשפה. • הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה. כלומר- לא קיימות מילים w1,w2 כמפורט לעיל ולכן עבור כל מילה בקבוצה W האוטומט מגיע למצב שונה. • => W אינסופית, => ל-A אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן, גם הנחת השלילה הראשונה שגויה והשפה אינה רגולרית.

  31. מודלים חישוביים הוכחת אי-רגולריות האם{ anbmcr | n,m,r>0, r=4n+3}היא שפה רגולרית • נניח בשלילה שהשפה L רגולרית. לכן קיים אוטומט סופי A שמקבל את L. • נבחר קבוצת מילים אינסופית W = {anb| n>0} • טענה: על כל מילה בקבוצה w האוטומט A מגיע למצב שונה => ל-A אינסוף מצבים, בסתירה להיותו אוטומט סופי. • נניח בשלילה שיש בקבוצה W שתי מילים: w1=aib ,w2= ajb כך ש: ji≠, i,j>0שעליהן מגיע האוטומט A לאותו מצב q: • נתבונן במילהaibc4i+3.המילה שייכת לשפה ולכן האוטומט A מגיע עליה למצב מקבל. כלומר: קריאת הסיפא c4i+3מובילה את האוטומט ממצב q למצב מקבל. • אבל ‘, מכאן נובע שהאוטומט A מקבל גם את המילה ajbc4i+3 שאינה שייכת לשפה. • הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה. כלומר- לא קיימות מילים w1,w2 כמפורט לעיל ולכן עבור כל מילה בקבוצה W האוטומט מגיע למצב שונה. • => W אינסופית, => ל-A אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן, גם הנחת השלילה הראשונה שגויה והשפה אינה רגולרית.

  32. מודלים חישוביים הוכחת אי-רגולריות האם השפה L מעל הא"ב {a,b,c} המכילה בדיוק את כל המילים המקיימות את שני התנאים להלן, היא שפה רגולרית: א. מספר האותיות b במילה מתחלק ב-3 עם שארית 1. ב. מספר האותיות c במילה הוא פי 3 ממספר האותיות b במילה. • נניח בשלילה שהשפה L רגולרית. לכן קיים אוטומט סופי A שמקבל את L. • נבחר קבוצת מילים אינסופית W = {b3n+1| n>0} • טענה: על כל מילה בקבוצה w האוטומט A מגיע למצב שונה => ל-A אינסוף מצבים, בסתירה להיותו אוטומט סופי. • נניח בשלילה שיש בקבוצה W שתי מילים: w1=a3i+1,w2= a3j+1 כך ש: ji≠, i,j>0שעליהן מגיע האוטומט A לאותו מצב q: • נתבונן במילהa3i+1c9i+3.המילה שייכת לשפה ולכן האוטומט A מגיע עליה למצב מקבל. כלומר: קריאת הסיפא c9i+3מובילה את האוטומט ממצב q למצב מקבל. • אבל ‘, מכאן נובע שהאוטומט A מקבל גם את המילה b3j+1c9i+3 שאינה שייכת לשפה. • הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה. כלומר- לא קיימות מילים w1,w2 כמפורט לעיל ולכן עבור כל מילה בקבוצה W האוטומט מגיע למצב שונה. • => W אינסופית, => ל-A אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן, גם הנחת השלילה הראשונה שגויה והשפה אינה רגולרית.

  33. מודלים חישוביים הוכחת אי-רגולריות האם השפה הבאה רגולרית L={ca2k(bca)m(acb)n | n.m ≥0, m≠n+k, k>0} • נניח בשלילה שהשפה L רגולרית. לכן קיים אוטומט סופי A שמקבל את L. • נבחר קבוצת מילים אינסופית W = {ca2(bca)m| m>0} • טענה: על כל מילה בקבוצה w האוטומט A מגיע למצב שונה => ל-A אינסוף מצבים, בסתירה להיותו אוטומט סופי. • נניח בשלילה שיש בקבוצה W שתי מילים: w1=ca2(bca)i ,w2=c a2(bca)jכך ש: ji≠, i,j>0 שעליהן מגיע האוטומט A לאותו מצב q: • נתבונן במילהca2(bca)i(acb)j-1.המילה שייכת לשפה ולכן האוטומט A מגיע עליה למצב מקבל. כלומר: קריאת הסיפא (acb)j-1מובילה את האוטומט ממצב q למצב מקבל. • אבל ‘, מכאן נובע שהאוטומט A מקבל גם את המילה ca2(bca)i(acb)j-1 שאינה שייכת לשפה. • הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה. כלומר- לא קיימות מילים w1,w2 כמפורט לעיל ולכן עבור כל מילה בקבוצה W האוטומט מגיע למצב שונה. • => W אינסופית, => ל-A אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן, גם הנחת השלילה הראשונה שגויה והשפה אינה רגולרית.

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

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

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

  37. מודלים חישוביים ויזואליזציה • סביבת ויזואליזציהJFLAP המדריך של שמוליק שוורץ http://cse.proj.ac.il/modelim/ogdan06/index.htm הורדת התכנהhttp://www.jflap.org/ • פשוט יותר - vas.jar • http://www.cs.usfca.edu/~jbovet/vas.html

  38. מודלים חישוביים חומרים נוספים • מרכז מורים ארצי- המון ... http://cse.proj.ac.il/modelim/index.htm • ספר לימוד ברשת אוטומטים ושפות פורמליות – פרויקט פאר http://ocw.openu.ac.il/d322/ • ספר של שמרת מן (מבט לחלונות) • ספר של נימר, מחמיד, חליפה, ראפע

  39. כתובות לשאלות וחומרים נוספים: שירלי רוזנברג-כהן shiroco@netvision.net.il רחלי צ'רניחוב zern@homeil.com ל ה ת ר א ו ת !

  40. מודלים חישוביים ובפעם הבאה: 18.3.2009 *** לפי המיקוד *** • אוטומט מחסנית • שפות חופשיות הקשר • מכונת טיורינג • שאלות בגרות • קשיים ושגיאות אופייניות

More Related