אוטומט סופי דטרמינסטי
Transcription
אוטומט סופי דטרמינסטי
כ"ב/אלול/תשע"ד אס"ד -תרגילים תרגיל 1 א"ב } ,{a, bכל המילים שמספר ה a -בהן מתחלק ב3- או בצורת רישום אחרת }{#a mod 3 = 0 b b פתרון – נתחיל בטיוטה כיוון שיש שלוש אפשרויות לחלוקה q1 של aב( 3-שארית )1,2,0יהיו 3 מצבים שכל אחד ייצג שארית אחרת a האות aתעביר בין מצבי השאריות באופן מעגלי האות bאינה משפיעה ,ולכן לא מעבירה מצב a q0 a q2 b 1 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 אס"ד -תרגילים b b תרגיל - 1מעקב a q1 a q0 a q2 b מסלול מקבל עבור המילה – ababa מקבל q0 a q1 b q1 a q2 b q2 a q0 - מסלול שאינו מקבל עבור המילה –babba לא מקבל – q0 b q0 a q1 b q1 b q1 a q2 2 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 אס"ד -תרגילים תרגיל 2 א"ב } ,{a, bכל המילים ששארית החלוקה של מספר הa- ועוד מספר ה b-בהם ב 4-היא זוגית או בצורת רישום אחרת {((#a+ #b) mod 4) mod 2 = 0} - פתרון כאן נצפה ל 4-מצבים ,לכ"א מהשאריות אין הבדל בין שתי האותיות ,תמיד ביחד שני מצבים מקבלים ,שארית 0ושארית 2 q1 a, b q0 a, b a, b q2 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 a, b q3 3 1 כ"ב/אלול/תשע"ד אס"ד -תרגילים תרגיל - 2מעקב a, b q1 q0 a, b a, b a, b q2 q3 מסלול מקבל עבור המילה – abab מקבל q0 a q1 b q2 a q3 b q0 - מסלול שאינו מקבל עבור המילה –babba לא מקבל – q0 b q1 a q2 b q3 b q0 a q1 4 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 אס"ד -תרגילים תרגיל - 3שילוב א"ב } ,{a, bכל המילים המסתיימות ב ab-ומספר הa- שבהם זוגי 𝑏 פתרון 𝑏 q3 𝑏 q2 𝑎 𝑎 𝑎 q1 q0 𝑎 𝑏 5 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 אס"ד -חיבור של שני אוטומטים .1 בונים טבלת אוטומט לכל שפה אות קלט2 אות קלט1 (ישירות או ע"י שרטוט והמרה) .2 קלט /מצב מצב 1 מצב 2 מייצרים טבלה "מחברת" לשני האוטומטים מחברים כל מצב מהאוטומט הראשון לכל אחד מהמצבים באוטומט השני (סה"כ יצאו מספר מצבים אוטומט אחד Xמספר מצבים אוטומט שני) לכל אחד מהמצבים "המחוברים" רושמים עבור כל אחת מאותיות הקלט, לאיזה מצב צריך לעבור (לפי מצב ראשון אוטומט ראשון +מצב שני אוטומט שני). .3 משרטטים אוטומט (או טבלת מעברים וכו') לפי הטבלה "המחברת" אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 6 2 כ"ב/אלול/תשע"ד אס"ד -חיבור של שני אוטומטים דוגמה – חיבור אס"ד עבור השפה א"ב }L = {# a mod 2 = 0, #b mod 3 ≠ 0}, {a, b פתרון נבנה אוטומט לכל אחד מהחלקים בנפרד א"ב }L1 = {# a mod 2 = 0}, {a, b א"ב }L2 = {#b mod 3 ≠ 0}, {a, b אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 7 אס"ד -חיבור של שני אוטומטים א"ב }L1 = {# a mod 2 = 0}, {a, b b a קלט /מצב q0 q1 ∙q0 q1 q0 q1 A1 𝑏 𝑏 𝑎 q1 q0 𝑎 8 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 אס"ד -חיבור של שני אוטומטים א"ב }L2 = {#b mod 3 ≠ 0}, {a, b 𝑎 b a p1 p0 p0 p2 p1 ∙p1 p0 p2 ∙p2 𝑎 A2 קלט /מצב 𝑏 p1 p0 𝑏 𝑏 p2 𝑎 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 9 3 כ"ב/אלול/תשע"ד אס"ד -חיבור של שני אוטומטים חיבור הטבלאות b a A1 q0 q1 ∙q0 q1 q0 q1 b a A2 p1 p0 p0 p2 p1 ∙p1 p0 p2 ∙p2 קלט /מצב b a q0 p1 q1 p0 ∙ q0p0 q0 p2 q1 p1 ∙ ∙ q0p1 q0 p0 q1 p2 ∙ ∙ q0p2 q1 p1 q0 p0 q1p0 q1 p2 q0 p1 ∙ q1p1 q1 p0 q0 p2 ∙ q1p2 נסמן נקודה לכל מצב חדש qipjעבור חלק המצב ב( A1-מצב ה )qi-היה מקבל נסמן נקודה לכל מצב חדש qipjעבור חלק המצב ב( A2-מצב ה )pj-היה מקבל אם הדרישה היא לשני התנאים (כמו כאן) שתי נקודות מצב מקבל אם הדרישה היא לפחות אחד מהתנאים (לא כמו כאן) נקודה מצב מקבל 10 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 אס"ד -חיבור של שני אוטומטים אוטומט החיבור q1p0 𝑎 𝑎 b 𝑏 q1p1 b 𝑎 𝑎 b q1p2 q0p0 𝑏 q0p1 b 𝑎 𝑎 קלט / b a q0p1 q1p0 q0p2 q1p1 q0p0 q1p2 ∙∙ q0p1 ∙∙ q0p2 q1p1 q0p0 q1p0 q1p2 q0p1 q1p0 q0p2 ∙ q1p1 ∙ q1p2 מצב ∙ q0p0 q0p2 אס"ד – אוטומט סופי דטרמיניסטי -שיעור 3 11 4