אוטומט סופי לא דטרמיניסטי
אוטומט סופי לא דטרמיניסטי הוא מודל מתמטי המהווה הכללה של אוטומט סופי דטרמיניסטי בכך שהוא מאפשר בחירה בין מספר דרכי פעולה עבור קלט נתון, בניגוד לדרך הפעולה היחידה אליה מחויב אוטומט דטרמיניסטי. המודל הוצג לראשונה על ידי מיכאל רבין ודנה סקוט במאמר מ1959.
ההכללה של האוטומט הסופי הדטרמיניסטי מתבטאת בשלוש הרחבות עיקריות:
- עבור כל מצב של האוטומט ואות קלט נתונה, האוטומט הלא דטרמיניסטי יכול לעבור למספר מצבים, ולא למצב יחיד כאוטומט הדטרמיניסטי.
- לאוטומט מוספת האפשרות של "מסע
" - מעבר ממצב אחד למשנהו מבלי שתיקלט אות קלט כלשהי. - לאוטומט מוספת האפשרות לבחור בין מספר מצבים התחלתיים.
קל לראות כי ניתן לממש את התכונות השנייה והשלישית באמצעות שימוש בתכונות שלפניהן. יתר על כן, ניתן להראות כי אם אוטומט סופי לא דטרמיניסטי מקבל שפה כלשהי, קיים אוטומט סופי דטרמיניסטי שמקבל אותה. על כן האוטומט הדטרמינסטי שקול לאוטומט הלא דטרמיניסטי. מכיוון שלעתים קרובות קל יותר לבנות אוטומט שמקבל שפה רגולרית נתונה אם מתירים אי דטרמיניזם, יש לאוטומט הלא דטרמיניסטי חשיבות רבה כאשר רוצים להוכיח כי שפה מסוימת היא רגולרית.
תוכן עניינים |
מהות אי הדטרמיניזם [עריכה]
ישנן שלוש דרכים עיקריות להבין את היכולות האי דטרמיניסטיות של האוטומט הלא דטרמיניסטי.
- ניתן לחשוב על האוטומט כאילו הוא "מנחש" בזמן קריאה של מילה מהו המעבר הטוב ביותר עבורו, שיבטיח כי אם המילה בשפה, הוא יקבל אותה. ניתן לראות זאת גם כאילו הוא "מגריל" את המעבר שבו הוא יבחר, כאשר ההגרלה מתבצעת באמצעות "מטבע קסם" שתמיד נותן את הבחירה האופטימלית.
- ניתן גם לחשוב על האוטומט כאילו הוא מבצע חישוב מקבילי: בכל פעם שהוא מגיע להתפצלות שבה ניתן עבור אות מסוימת ללכת למספר מצבים, הוא מתפצל למספר אוטומטים שכל אחד מהם בודק את אחת מהאפשרויות, ודי שאחד מהם יקבל את המילה.
- אפשרות שלישית היא לראות את האוטומט כאילו הוא בודק באופן דטרמיניסטי את כל המסלולים האפשריים בהינתן מילת קלט מסוימת, ואם אחד מהמסלולים מקבל אותה, האוטומט כולו מקבל אותה.
הגדרה פורמלית [עריכה]
אוטומט סופי לא דטרמיניסטי
מוגדר באמצעות -

כאשר:
היא א"ב הקלט
היא קבוצה סופית של מצבים
היא קבוצת המצבים ההתחלתיים של האוטומט (מהם מתחיל החישוב), 
היא קבוצת מצבים מקבלים,
. מצב מקבל הוא מצב שסיום החישוב בו מסמן שהמילה התקבלה
היא פונקציית המעברים,
(לכל מצב ואות קלט או המילה הריקה מותאמת קבוצה של מצבים שאליהם יכול האוטומט לעבור)
השפה שאותה מקבל האוטומט מוגדרת כאוסף המילים עבורן קיים מסלול חישוב של האוטומט שמסתיים במצב מקבל. בניסוח פורמלי,
, כאשר כאן
היא ההרחבה הטבעית של פונקציית המעברים עבור מילים וקבוצות של מצבים.
לקריאה נוספת [עריכה]
- שמואל זקס ונסים פרנסיז, אוטומטים ושפות פורמליות, האוניברסיטה הפתוחה, 2000 (הספר במיזם פא"ר)
- אוטומטים ושפות פורמליות חלק א', האוניברסיטה הפתוחה, ב-Google Books.
ראו גם [עריכה]
| מיזמי קרן ויקימדיה |
|---|
" - מעבר ממצב אחד למשנהו מבלי שתיקלט אות קלט כלשהי.
היא א"ב הקלט
היא
היא קבוצת המצבים ההתחלתיים של האוטומט (מהם מתחיל החישוב), 
היא קבוצת מצבים מקבלים,
. מצב מקבל הוא מצב שסיום החישוב בו מסמן שהמילה התקבלה