סדנא במודלים חישוביים
DESCRIPTION
סדנא במודלים חישוביים. 18 בפברואר, 18 במרץ 2009. רחל אלון, ורדה פורת, רחל צ'רניחוב, שירלי רוזנברג-כהן. חלק מהשקפים במצגת זו נלקחו מהמצגת של ד"ר מיכל ארמוני (במיוחד שקפים 26-36). המצגת המקורית של ד"ר ארמוני נמצאית בכתובת http://cse.proj.ac.il/modelim/michal/comp_models_teachers_23_6.ppt. - PowerPoint PPT PresentationTRANSCRIPT
1
חישובייםחישובייםבמודליםבמודליםסדנאסדנא
2009 במרץ 18 בפברואר, 18
רחל אלון, ורדה פורת, רחל צ'רניחוב, שירלי רוזנברג-כהן
חלק מהשקפים במצגת זו נלקחו מהמצגת של •
(.26-36ד"ר מיכל ארמוני )במיוחד שקפים
המצגת המקורית של ד"ר ארמוני נמצאית •
בכתובת
http://cse.proj.ac.il/modelim/michal/
comp_models_teachers_23_6.ppt
3
אוטומט סופי ושפות רגולריותאוטומט סופי ושפות רגולריותמוטיבציה - שעורי פתיחה•
מכפלת אוטומטים •
אי-דטרמיניזם•
פעולות על שפות•
תכונות של שפות רגולריות•
הוכחת רגולריות ואי-רגולריות•
ויזואליזציה•
מודלים נושאי הסדנא נושאי הסדנא חישוביים
היום:היום:
4
מודלים הקדמהחישוביים
הנחות:
יודעים "אוטומטים, שפות פורמליות )ודקדוקים( •מתורת המחשב.
יודעים "מודלים חישוביים" •
מטרות:
דידקטיקה של התכנים החדשים•
פתרון שאלות בגרות•
טיפים וטריקים•
5
מודלים מודלים מוטיבציהחישובייםחישוביים
{ היא מספר ממשי , . 9..0)נקודה(האם סדרת תווים מהא"ב }תקין?
0/1העברת הקלט ל- //static int Tav2Num)char t( { if )t=='.'( return 1; else return 0;}
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)((; }}
6
מודלים מודלים מוטיבציהחישובייםחישוביים
} היא מספר ממשי תקין? ., 9..0)נקודה(}האם סדרת תווים מהא"ב
לב התכנית: 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מספר ה-
QΣabc
q04143534
q14142514
q35353435
q25152415
q34343534
q24142514
q15152415
שלב ב: "נזרום" יחד בשני האוטומטים וניצור טבלת מעברים
12
מכפלת אוטומטים מודלים חישוביים
ומסתיימות aמתחילות ב-bב-
זוגיbמספר ה-
QΣabc
q04143534
q14142514
q35353435
q25152415
q34343534
q24142514
q15152415
שלב ג: נאתר מצבים מקבלים: וגם/או
13
מכפלת אוטומטים מודלים חישוביים
QΣabc
q04143534
q14142514
q35353435
q25152415
q34343534
q24142514
q15152415
שלב ד: נצייר את האוטומאט.
שלב ה: נאתר מצבים מיותרים ונאחד אותם
14
מכפלת אוטומטים מודלים חישוביים
QΣabc
q04143534
q14142514
q35353435
q25152415
q34343534
q24142514
q15152415
האוטומט
15
מכפלת אוטומטים מודלים חישוביים
בגרות תשס"ז
16
מכפלת אוטומטים מודלים חישוביים
בגרות תשס"ז
abaיש
babאין
17
מודלים מודלים חישובייםחישוביים
ab041405
141425
051605
253405
161427
343435
273707
353635
373737
071707
171727
363437
18
מכפלת אוטומטים מודלים חישוביים
בגרות תשס"ז
19
מכפלת אוטומטים מודלים חישוביים
בגרות תשס"ז
20
מודלים נוספים מודלים חישוביים
אוטומט סופי דטרמיניסטי לא-מלא:
מעברים חסרים )המובילים להתקעות(•
כאשר האוטומט "נתקע" ולא יודע מה לעשות, המילה נדחית )גם אם •ה"תקיעה" היא במצב מקבל(
ואין בהן a}, מילים המתחילות ב-a, b, c א"ב {דוגמא:c .
אוטומט מלא אוטומט לא מלא
21
מודלים נוספים מודלים חישוביים
אוטומט סופי לא דטרמיניסטי:
מעברים כפולים )ממצב מסוים עם אות מסוימת יש יותר ממעבר •אחד(
בד"כ האוטומט גם לא מלא.•
כאשר האוטומט "נתקע" ולא יודע מה לעשות, המילה נדחית )גם אם •ה"תקיעה" היא במצב מקבל(
כאשר יש יותר מאפשרות אחת האוטומט "מנחש" לאיזה מסלול •לפנות כדי להגיע למצב מקבל.
מסלול מקבל - המילה מתקבלת.ישאם •abaדוגמא: מסתיים ברצף bדוגמא: מסתיים ב-
22
מודלים נוספים מודלים חישוביים
אוטומט סופי לא דטרמיניסטי - איך להסביר aba דוגמא: יש רצף לתלמידים?
aabbabaמסלול על מילה:
X
XX V
23
אוטומט סופי לא דטרמיניסטי - ההסברים
"מטבע קסם"•
"ניווט סוף מסלול"•
חישוב מקבילי – ריבוי מעבדים•
מודלים מודלים חישובייםנוספים
24
מודלים מודלים מכפלת אוטומטים מכפלת אוטומטים חישובייםחישוביים
ואי-דטרמיניזםואי-דטרמיניזם
b} אות שלישית מהסוף היא a,bהשפה: א"ב {
ab
0001
0102012
0203013
0120230123
03001
01302012
02303013
01230230123
הפיכת א"ס לא-דטרמיניסטי לדטרמיניסטי
25
מודלים מודלים חישובייםחישוביים
מצגת של רחלי צרניחוב
שפות רגולריותשפות רגולריות
26
מודלים מודלים הוכחת אי-רגולריותהוכחת אי-רגולריותחישובייםחישוביים
הסעיף הקשה ביותר ביחידה כולה:• הוכחה פורמלית– בדרך השלילה– שבתוכה חבויה שוב דרך השלילה...–
מוטיבציה: • הגדרנו מודל חישובי – האם אפשר בעזרתו לעשות –
הכל?
27
מודלים מודלים הוכחת אי-רגולריותהוכחת אי-רגולריותחישובייםחישוביים
רגולרית.Lנניח שהשפה •.L שמקבל את Aלכן קיים אוטומט סופי • ונראה:Wנבחר קבוצת מילים אינסופית • מגיע למצב A, האוטומט Wעל כל מילה בקבוצה •
שונה. אינסוף מצבים, בסתירה להיותו אוטומט סופי.Aל- •
האם שפה ___________ היא רגולרית?
28
מודלים מודלים הוכחת אי-רגולריותהוכחת אי-רגולריותחישובייםחישוביים
הוכחת טענת העזר
מגיע למצב שונה.A, האוטומט Wעל כל מילה בקבוצה
– שעליהן מגיע w2 ו-w1 שתי מילים – Wנניח שיש בקבוצה :q לאותו מצב Aהאוטומט
המקיימת:wכעת נמצא מילה
w1wL
w2wL
q, כלומר, מהמצב w1wL מקבל את A אז w1wLמאחר ש- מקבל A מובילה אותו למצב מקבל. אך אז בהכרח wהמילה . w2wגם את
.Lסתירה להיותו אוטומט המקבל את
29
מודלים מודלים חישובייםחישוביים
ד ו ג מ א ו ת
הוכחת אי-רגולריותהוכחת אי-רגולריות
30
מודלים מודלים חישובייםחישוביים
.L שמקבל את A רגולרית. לכן קיים אוטומט סופי Lנניח בשלילה שהשפה •
}W = }an| n>0נבחר קבוצת מילים אינסופית • אינסוף A מגיע למצב שונה => ל-A האוטומט wטענה: על כל מילה בקבוצה •
מצבים, בסתירה להיותו אוטומט סופי.
,≠j iכך ש: w1=ai ,w2= aj שתי מילים: Wנניח בשלילה שיש בקבוצה •i,j>0 שעליהן מגיע האוטומטA לאותו מצב q :
מגיע עליה למצב Aהמילה שייכת לשפה ולכן האוטומט .aibi נתבונן במילה •
למצב מקבל.q מובילה את האוטומט ממצב biמקבל. כלומר: קריאת הסיפא שאינה שייכת לשפה. ajbi מקבל גם את המילה A מכאן נובע שהאוטומט אבל•
הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה. כלומר- לא קיימות • האוטומט מגיע W כמפורט לעיל ולכן עבור כל מילה בקבוצה w1,w2מילים
למצב שונה.• <=W-אינסופית, => ל A אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן, גם
הנחת השלילה הראשונה שגויה והשפה אינה רגולרית.
הוכחת אי-רגולריותהוכחת אי-רגולריות
היא שפה רגולרית {anbm|n,m>0, n=m} האם
31
מודלים מודלים הוכחת אי-רגולריותהוכחת אי-רגולריותחישובייםחישוביים
.L שמקבל את A רגולרית. לכן קיים אוטומט סופי Lנניח בשלילה שהשפה • }W = }anb| n>0נבחר קבוצת מילים אינסופית • A מגיע למצב שונה => ל-A האוטומט wטענה: על כל מילה בקבוצה •
אינסוף מצבים, בסתירה להיותו אוטומט סופי. כך ש: w1=aib ,w2= ajb שתי מילים: Wנניח בשלילה שיש בקבוצה •
j i≠, i,j>0 שעליהן מגיע האוטומטA לאותו מצב q : מגיע עליה Aהמילה שייכת לשפה ולכן האוטומט .aibc4i+3 נתבונן במילה•
qמובילה את האוטומט ממצב c4i+3למצב מקבל. כלומר: קריאת הסיפא למצב מקבל.
שאינה ajbc4i+3 מקבל גם את המילה A, מכאן נובע שהאוטומט ‘אבל•שייכת לשפה.
הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה. כלומר- לא קיימות • האוטומט מגיע W כמפורט לעיל ולכן עבור כל מילה בקבוצה w1,w2מילים
למצב שונה.• <=W-אינסופית, => ל A ,אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן
גם הנחת השלילה הראשונה שגויה והשפה אינה רגולרית.
היא שפה {anbmcr | n,m,r>0, r=4n+3} האםרגולרית
32
מודלים מודלים הוכחת אי-רגולריותהוכחת אי-רגולריותחישובייםחישוביים
.L שמקבל את A רגולרית. לכן קיים אוטומט סופי Lנניח בשלילה שהשפה • }W = }b3n+1| n>0נבחר קבוצת מילים אינסופית • אינסוף מצבים, בסתירה A מגיע למצב שונה => ל-A האוטומט wטענה: על כל מילה בקבוצה •
להיותו אוטומט סופי. j i≠, i,j>0 כך ש: w1=a3i+1 ,w2= a3j+1 שתי מילים: Wנניח בשלילה שיש בקבוצה •
: q לאותו מצב Aשעליהן מגיע האוטומט מגיע עליה למצב מקבל. Aהמילה שייכת לשפה ולכן האוטומט .a3i+1c9i+3 נתבונן במילה•
למצב מקבל.qמובילה את האוטומט ממצב c9i+3כלומר: קריאת הסיפא שאינה שייכת לשפה. b3j+1c9i+3 מקבל גם את המילה A, מכאן נובע שהאוטומט ‘אבל• w1,w2הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה. כלומר- לא קיימות מילים •
האוטומט מגיע למצב שונה.Wכמפורט לעיל ולכן עבור כל מילה בקבוצה • <=W-אינסופית, => ל A אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן, גם הנחת
השלילה הראשונה שגויה והשפה אינה רגולרית.
{ המכילה בדיוק את כל המילים המקיימות a,b,c מעל הא"ב }Lהאם השפה את שני התנאים להלן, היא שפה רגולרית:
. 1 עם שארית 3 במילה מתחלק ב-bא. מספר האותיות
במילה. b ממספר האותיות 3 במילה הוא פי cב. מספר האותיות
33
מודלים מודלים הוכחת אי-רגולריותהוכחת אי-רגולריותחישובייםחישוביים
.L שמקבל את A רגולרית. לכן קיים אוטומט סופי Lנניח בשלילה שהשפה • }W = }ca2)bca(m| m>0נבחר קבוצת מילים אינסופית • אינסוף A מגיע למצב שונה => ל-A האוטומט wטענה: על כל מילה בקבוצה •
מצבים, בסתירה להיותו אוטומט סופי. כך ש: w1=ca2)bca(i ,w2=c a2)bca(j שתי מילים: Wנניח בשלילה שיש בקבוצה •
j i≠, i,j>0 שעליהן מגיע האוטומט A לאותו מצב q : מגיע עליה Aהמילה שייכת לשפה ולכן האוטומט .ca2)bca(i)acb(j-1 נתבונן במילה•
למצב qמובילה את האוטומט ממצב j-1(acb)למצב מקבל. כלומר: קריאת הסיפא מקבל.
שאינה ca2)bca(i)acb(j-1 מקבל גם את המילה A, מכאן נובע שהאוטומט ‘אבל•שייכת לשפה.
הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה. כלומר- לא קיימות מילים •w1,w2 כמפורט לעיל ולכן עבור כל מילה בקבוצה W.האוטומט מגיע למצב שונה
• <=W-אינסופית, => ל A אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן, גם הנחת השלילה הראשונה שגויה והשפה אינה רגולרית.
האם השפה הבאה רגולרית
L=}ca2k)bca(m)acb(n | n.m ≥0, m≠n+k, k>0{
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
כתובות לשאלות וחומרים נוספים:
[email protected]שירלי רוזנברג-כהן
[email protected]רחלי צ'רניחוב
ל ה ת ר א ו ת !
40
18.3.2009ובפעם הבאה:
*** לפי המיקוד ****** לפי המיקוד ***
אוטומט מחסניתאוטומט מחסנית•
שפות חופשיות הקשרשפות חופשיות הקשר•
מכונת טיורינגמכונת טיורינג•
שאלות בגרותשאלות בגרות•
קשיים ושגיאות אופייניותקשיים ושגיאות אופייניות•
מודלים מודלים חישובייםחישוביים