אוטומט סופי דטרמיניסטי
Download
Report
Transcript אוטומט סופי דטרמיניסטי
אוטומטים ושפות פורמליות
ד"ר ויקטוריה סחניני
מכללת סכנין להכשרת עובדי הוראה
1
מבוא – אוטומט סופי דטרמיניסטי
2
אס"ט הוא מודל מתמטי של מערכת המגיבה על
סדרות סופיות של קלטים.
בזמן נתון מערכת כזו נמצאת במצב אחד מתוך
קבוצה סופית של מצבים והמעבר מהמצב הזה
למצב חדש מתרחש בהתאם לתו הנקרא מהקלט.
על מצבי האוטומט אין אנו מניחים אלא כי ניתן
להבחין ביניהם .אין מניחים דבר על "מהות" של
מצב או על ה"מבנה" שלו.
אוטומט סופי דטרמיניסטי -המשך
3
בכל זמן נתון במהלך החישוב נמצא האוטומט
במצב כלשהו( הנקרא המצב הנוכחי) ,בעקבות
קריאת הקלט האוטומט מבצע מעבר למצב חדש
וקידום הראש הקורא לאות הקלט הבאה.
המצב החדש של האוטומט נקבע באופן יחיד על
ידי המצב הנוכחי והקלט הנוכחי ,מסיבה זו נקרא
אוטומט כזה דטרמיניסטי.
המצב שאליו מגיע האוטומט לאחר קריאת כל
המילה מוגדר כ"תגובת האוטומט על המלה"
אוטומט סופי דטרמיניסטי -המשך
4
יש שני סוגי מצבים לאוטומט :מצבים מקבלים
ומצבים לא מקבלים.
אם המצב האחרון שאליו הגיע האוטומט לאחר
סיום קריאת מלת הקלט הנו מצב מקבל ,אז
אומרים שהאוטומט קיבל את המלה אחרת דחה
האוטומט את המלה.
לכל אוטומט יש מצב התחלתי שממנו מתחיל
החישוב.
אוטומט סופי דטרמיניסטי -סיכום
מודל של מערכת המגיבה על סדרות של סימני קלט (מילת
קלט) תוך כדי שימוש במספר סופי של מצבים.
בכל רגע נתון ,המערכת נמצאת במצב אחד מתוך קבוצה
סופית של מצבים.
האוטומט נקרא סופי כי מספר המצבים והמעברים הוא סופי.
האוטומט נקרא דטרמיניסטי כי אין "אפשרויות בחירה" .מכל
מצב ,עבור כל אחד מסימני הקלט האפשריים ,ניתן
לעבור למצב אחד בדיוק.
5
אוטומט סופי דטרמיניסטי-דוגמא1
1
1,0
q0
q1
0
1,0
q2
6
המרכיבים של אוטומט סופי דטרמינסטי
7
א"ב -כל אותיות הקלט האפשריות( .מספר
האותיות סופי וגדול מאפס).
מצבים -כל המצבים בהם יכול האוטומט
להימצא( .מספר המצבים סופי וגדול מאפס).
מצב התחלתי -המצב ממנו מתחיל האוטומט
את מסלול החישוב .מקובל לכנות את המצב
ההתחלתי q0
8
קבוצת מצבים מקבלים – קבוצה מתוך קבוצת
המצבים שאם נמצאים באחד מהם בסיום סדרת
קלט ,הרי שהקלט ענה על צפיות מסוימות .מסומן
בעיגול כפול.
פונקצית מעברים -לכל זוג של מצב qואות קלט
,Xהפונקציה מתאימה מצב (אחד ויחיד) שאליו
עובר האוטומט כאשר במצב qנקראת האות .x
מושגים נוספים
מסלול חישוב -סדרת המעברים המתבצעים באוטומט
עבור סדרת קלט מסוימת( .מהמצב ההתחלתי ועד
למצב אליו מגיעים עם תום קריאת הסדרה) .המסלול
יכול להיות מסלול מקבל ויכול להיות מסלול לא מקבל.
מסלול מקבל – מסלול חישוב שמתחיל במצב
ההתחלתי ומגיע בתום סדרת הקלט למצב מקבל.
מסלול לא מקבל – מסלול חישוב שמתחיל במצב
ההתחלתי ומגיע בתום סדרת הקלט למצב שאינו מקבל.
9
אוטומט סופי דטרמיניסטי -המשך
10
מצב מלכודת – מצב לא מקבל שאין ממנו מעבר
למצבים אחרים.
טבלת מעברים – ייצוג של פונקצית המעברים.
כל משבצת בטבלה מייצגת את המצב אליו
מגיעים מזוג של מצב (שורה) ושל אות קלט
(עמודה).
2 דוגמא
a,b,c
q0
q1
a,b,c
11
3 דוגמא
b
b
a
q0
a
q1
q2
b
a
a,b
q3
12
4 דוגמא
b,c
b,c
a
q0
a
q1
b
q2
a,c
a,b,c
q3
13
5 דוגמא
b,c
b,c
a
q0
a
q1
b
q2
a,c
q3
a,b,c
14
תרגילים
.1
.2
.3
15
בנה אוטומט סופי דטרמיניסטי המקבל כל
המילים מעל א"ב } {0,1אשר מתחילות באפס
ומסתיימות באחד.
בנה אוטומט סופי דטרמיניסטי המקבל כל
המילים מעל א"ב } {a,b,cאשר מכילות מספר
זוגי של – aים
בנה אוטומט סופי דטרמיניסטי המקבל כל
המילים מעל א"ב } {0,1,2אשר אינן מכילות את
הרצף .012
תרגילים -המשך
.4
.5
.6
16
בנה אוטומט סופי דטרמיניסטי המקבל כל
המילים מעל א"ב } {0,1באורך זוגי.
בנה אוטומט סופי דטרמיניסטי המקבל כל
המילים מעל א"ב } {a,bשמספר הופעות a
במילה מתחלק ב 4 -ללא שארית.
בנה אוטומט סופי דטרמיניסטי המקבל את
השפה הבאה :כל המילים מעל א"ב { }a,b,cאשר
aaואין הופעה של
אין הופעה של הרצף
הרצף bbואין הופעה של הרצף . cc
תרגילים -המשך
.7
.8
17
בנה אוטומט סופי דטרמיניסטי ,המקבל את אוסף
כל המילים מעל א"ב } {a,b,cובהן לפחות aאחד
ואין הופעה של הרצף .bc
בנה אוטומט סופי דטרמיניסטי ,המקבל את אוסף
כל המילים מעל א"ב } {a,bהמכילות abbאו
.baa
הגדרה פורמלית של אוטומט סופי
דטרמיניסטי
)A = ( ∑, Q, q0, F, δ
כאשר:
∑= א"ב הקלט
=Qקבוצה סופית לא ריקה של מצבים
= q0מצב התחלתי
= Fקבוצת מצבים מקבלים
= δפונקצית מעברים
18
הגדרה
) L(Aהשפה המתקבלת על ידי האוטומט הסופי
הדטרמיניסטי Aמוגדרת כך:
}L(A)= {x | x ε ∑, δ(q0, x) ε F
כלומר ) L(Aהיא אוסף כל המילים מעל ∑ ,אשר בסיום
קריאתן נמצא האוטומט במצב מקבל.
הערה :מההגדרה נובע ,שהמלה הריקה שייכת לשפה
המתקבלת ע"י האוטומט אמ"מ המצב ההתחלתי הוא מצב
מקבל.
19
20
פונקצית המעברים ניתן לתאר אותה באמצעות
טבלה.
הגדרה
יהי A1ו A2 -שני אוטומטים סופיים דטרמיניסטיים.
A1ו A2 -נקראים שקולים אמ"מ מתקיים
).L(A1)=L(A2
21
תרגיל בית מס' 1
22