אוטומט סופי דטרמינסטי

‫כ"ב‪/‬אלול‪/‬תשע"ד‬
‫אס"ד ‪ -‬תרגילים‬
‫תרגיל ‪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‬‬