Download presentation
Presentation is loading. Please wait.
1
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( 236353) תרגיל מספר 11
2
© אריאל 2 אוטומט המחסנית אוטומט מחסנית הוא שביעייה : M = (Q, , , , q 0, z 0, F). Q - קבוצת מצבים - א " ב הקלט - א " ב המחסנית - פונקצית מעברים q 0 - מצב התחלתי z 0 - האות ההתחלתית במחסנית F - קבוצת המצבים המקבלים פונקצית המעברים : : (Q Q כלומר: , i ...... p 1, 1 ),(p 2, 2 ), (q,a,A) =
3
© אריאל 3 חישוב של אוטומט מחסנית הגדרה תיאור רגעי (Snapshot) של אוטומט הינו שלישיה : (q,w, ) כך ש - q המצב הנוכחי, w הוא חלק הקלט שטרם נקרא, ו - המילה במחסנית (ראש המחסנית משמאל). צעד חישוב אחד של האוטומט מסומן: (q, w,A ) (p, w, ) (p, ) (q, ,A) חישוב של אוטומט הינו סדרה סופית של צעדים, מסומן : (q, w, ) * (p, u, )
4
© אריאל 4 קבלת מילה ע " י אוטומט מחסנית קיימות שתי הגדרות עבור קבלת מילה ע " י אוטומט מחסנית : סיום קריאת המילה במצב מקבל, כלומר קיים חישוב : (q 0, w, z ) * (p, , ), כך ש - p F סיום קריאת המילה וריקון המחסנית, כלומר קיים חישוב : (q 0, w, z ) * (p, , ) אופני הקבלה אינם משנים את כוחו החישובי של האוטומט ! האוטומט נתקע באחד משני מקרים : בצעד החישוב הנוכחי מתקיים : (q, , ) = . המחסנית התרוקנה לפני סיום קריאת המילה.
5
© אריאל 5 כמה עובדות על אוטומט המחסנית לכל דקדוק חסר הקשר יש אוטומט מחסנית מתאים, ולהפך ( המודלים שקולים בכוחם ). אוטומט המחסנית אינו דטרמיניסטי, וכפיית דטרמיניזם משנה את כוחו של המודל. ניתן להציג את פונקצית המעברים של אוטומט המחסנית ע " י דיאגרמה דומה לאוטומט סופי כך : אם (q, ,X) = (p, ), אז נסמן : X / q p
6
© אריאל 6 דוגמא 1 בנה אוטומט מחסנית M המקבל את השפה : L = {ww R |w * } מעל = {0,1}, ע " י ריקון המחסנית, והוכח כי L e (M) = L בנייה הרעיון – בניית עותק של w במחסנית, החלטה לא דטרמיניסטית על סיום w ( מציאת אמצע המילה ), והשוואת המילה הנותרת למילה במחסנית
7
© אריאל 7 אוטומט ל ww R – בנייה פורמלית M = ({q 0,q 1 }, , {z 0 }, , q 0, z 0, ) (q 0, , z 0 ) = {(q 0, )} (q 0, , z 0 ) = {(q 0, )} (q 0, 1, 2 ) = {(q 0, 1 2 )} (q 0, , ) = {(q 1, )} (q 1, , ) = {(q 1, )} / q0q0 q1q1 z 0 / z 0 / / /
8
© אריאל 8 דוגמת הרצה של האוטומט נדגים הרצה על abba, נראה מספר חישובים אפשריים : (q 0, abba, z 0 ) (q 1,abba, ) (1) (q 0, bba, a) (q 0, ba, ba) (q 1, ba, ba) (q 1, a, a) (q 1, ) (2) (3) (q 0, a, bba) (q 0, ε, abba) (3) (4) (3) (5)
9
© אריאל 9 הוכחה - L e (M) L עלינו להוכיח כי האוטומט מקבל מילים רק בשפה. כלומר : (q 0, w, z ) * (q i, , ) w L נוכיח שתי טענות עזר : 1. (q 0, xy, z ) + (q 0, y, ) = x R 2. (q 0, xy, z ) + (q 1, y, ) = u R, x = uz, z L ואז נקבל : אם : (q 0, w, z ) (q 0, , ), אז לפי 1 : w = R L ואם : (q 0, w, z ) + (q 1, , ), אז לפי 2 : w = R z = z, ולפי אותה טענה z L כלומר w L
10
© אריאל 10 הוכחה - L e (M) L עלינו להוכיח כי האוטומט מקבל את כל המילים בשפה. כלומר : (q 0, w, z ) * (q i, , ) w L נוכיח שתי טענות עזר : 1. (q 0, x, z ) * (q 0, , x R ) x * 2. (q 1, x, x) * (q 1, , ) x * ואז נקבל : אם : w = L, אז לפי 1: (q 0, w, z ) * (q 0, , ) אם : w = xx R L, אז לפי 1: (q 0, w, z ) * (q 0, x R, x R ) ולפי כלל 4: (q 0, x R, x R ) (q 1, x R, x R ), ולפי 2: (q 1, x R, x R ) * (q 1, , )
11
© אריאל 11 דוגמא 2 בנה אוטומט מחסנית המקבל ע " י הגעה למצב מקבל את השפה מעל {0,1}, בה כל רישא u של מילה w בשפה מקיימת # 0 (u) # 1 (u). תשובה : M = {{q 0 }, q 0, z 0,{q 0 }} q 0,0,z 0 ) = (q 0, 0z 0 ) q 0,0,0) = (q 0, 00) q 0,1,0) = (q 0, )
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.