מכונת מצב סופי דטרמיניסטית (DFSM) ומכונת מצב סופי לא דטרמיניסטית (NFSM) הם שני סוגים של מכונות מצב סופי (FSMs) המשמשות בתחום תורת המורכבות החישובית. בעוד שלשני ה-FSMs יש מאפיינים דומים וניתן להשתמש בהם למודל של תהליכים חישוביים שונים, הם נבדלים זה מזה מבחינת התנהגותם ואופי המעברים שלהם.
ההבדל העיקרי בין DFSM ל-NFSM טמון באופן שבו הם מטפלים במעברים בין מדינות. ב-DFSM, המעבר ממצב אחד למשנהו נקבע באופן ייחודי על ידי המצב הנוכחי וסמל הקלט. המשמעות היא שעבור מצב נתון וסמל קלט, יכול להיות רק מצב אחד אפשרי הבא. במילים אחרות, ה-DFSM פועל בצורה דטרמיניסטית, כאשר המצב הבא נקבע באופן ייחודי על ידי המצב הנוכחי והקלט.
מצד שני, NFSM מאפשר מספר מצבים הבאים אפשריים עבור מצב נתון וסמל קלט. המשמעות היא שלפונקציית המעבר של NFSM יכולות להיות מספר אפשרויות תקפות עבור המצב הבא. במילים אחרות, ה-NFSM פועל בצורה לא דטרמיניסטית, כאשר המצב הבא אינו נקבע באופן ייחודי על ידי המצב הנוכחי והקלט. במקום זאת, NFSM יכול לעבור למצב אחד או יותר בו זמנית, וליצור מספר נתיבים אפשריים של חישוב.
כדי להמחיש את ההבדל הזה, הבה נשקול דוגמה. נניח שיש לנו NFSM ו-DFSM ששניהם מדגמים שפה פשוטה שמקבלת מחרוזות של 0 ו-1 המסתיימות ב-1. ל-NFSM יש שני מצבים: S0 ו-S1. ל-DFSM יש גם שני מצבים: Q0 ו-Q1.
עבור ה-NFSM, לפונקציית המעבר למצב S0 ולסמל קלט 0 יכולים להיות שני מצבים הבאים אפשריים: S0 ו-S1. המשמעות היא שכאשר ה-NFSM נמצא במצב S0 ומקבל את סמל הקלט 0, הוא יכול לעבור למצב S0 או למצב S1. מצד שני, לפונקציית המעבר למצב S0 ולסמל קלט 1 יש רק מצב אחד אפשרי הבא: S1. המשמעות היא שכאשר ה-NFSM נמצא במצב S0 ומקבל את סמל הקלט 1, הוא תמיד יעבור למצב S1.
לעומת זאת, ל-DFSM יש מצב הבא ייחודי עבור כל שילוב של מצב נוכחי וסמל קלט. לדוגמה, כאשר ה-DFSM נמצא במצב Q0 ומקבל את סמל הקלט 0, הוא תמיד יעבור למצב Q0. באופן דומה, כאשר ה-DFSM נמצא במצב Q0 ומקבל את סמל הקלט 1, הוא תמיד יעבור למצב Q1.
ההבדל העיקרי בין מכונות מצב סופי דטרמיניסטיות ולא דטרמיניסטיות טמון באופי המעברים שלהן. למכונת מצב סופי דטרמיניסטית (DFSM) יש מצב הבא ייחודי עבור כל שילוב של מצב נוכחי וסמל קלט, בעוד שמכונת מצב סופי לא דטרמיניסטית (NFSM) מאפשרת מספר מצבים הבאים אפשריים עבור שילוב נתון של מצב נוכחי וסמל קלט.
שאלות ותשובות אחרונות אחרות בנושא יסודות תיאוריית המורכבות החישובית של EITC/IS/CCTF:
- בהתחשב במחשבי כף יד לא דטרמיניסטיים, הסופרפוזיציה של מדינות אפשרית בהגדרה. עם זאת, למחשבי כף יד לא דטרמיניסטיים יש רק מחסנית אחת שאינה יכולה להיות במספר מצבים בו זמנית. איך זה אפשרי?
- מהי דוגמה למחשבי כף יד המשמשים לניתוח תעבורת רשת וזיהוי דפוסים המעידים על פרצות אבטחה אפשריות?
- מה זה אומר ששפה אחת חזקה יותר מאחרת?
- האם שפות רגישות הקשר ניתנות לזיהוי על ידי מכונת טיורינג?
- מדוע השפה U = 0^n1^n (n>=0) אינה סדירה?
- כיצד להגדיר FSM המזהה מחרוזות בינאריות עם מספר זוגי של סמלים '1' ולהראות מה קורה איתו בעת עיבוד מחרוזת קלט 1011?
- כיצד משפיע הלא-דטרמיניזם על תפקוד המעבר?
- האם שפות רגילות שוות ל-Fiite State Machines?
- האם מחלקה PSPACE לא שווה למחלקה EXPSPACE?
- האם בעיה ניתנת לחישוב אלגוריתמית היא בעיה הניתנת לחישוב על ידי מכונת טיורינג בהתאם לתזה של Church-Turing?
ראה שאלות ותשובות נוספות ב-EITC/IS/CCTF Computational Complexity Theory Fundamentals