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

Post on 05-Jan-2016

95 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

Transcript

1

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

2009 במרץ 18 בפברואר, 18

רחל אלון, ורדה פורת, רחל צ'רניחוב, שירלי רוזנברג-כהן

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

39

כתובות לשאלות וחומרים נוספים:

shiroco@netvision.net.ilשירלי רוזנברג-כהן

zern@homeil.comרחלי צ'רניחוב

ל ה ת ר א ו ת !

40

18.3.2009ובפעם הבאה:

*** לפי המיקוד ****** לפי המיקוד ***

אוטומט מחסניתאוטומט מחסנית•

שפות חופשיות הקשרשפות חופשיות הקשר•

מכונת טיורינגמכונת טיורינג•

שאלות בגרותשאלות בגרות•

קשיים ושגיאות אופייניותקשיים ושגיאות אופייניות•

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

top related