תורת החישוביות/מכונת טיורינג: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Galzigler (שיחה | תרומות)
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
Galzigler (שיחה | תרומות)
מאין תקציר עריכה
 
שורה 15:
<center> <math>M=\langle Q,q_0,F,\Gamma,\Sigma, b, \delta \rangle</math></center>
כאשר:
* <math>Q</math> - קבוצתקבוצה (לא ריקה) של כלל '''מצבי הבקרה (קבוצה זו אינה ריקה)'''.
* <math>q_0 \in Q</math> - '''המצב ההתחלתי'''. בעת תחילת החישוב, המכונה נמצאת במצב זה.
* <math>F \subseteq Q</math> - קבוצת '''מצבים סופיים'''. כאשר המכונה עוברת לאחד ממצבים אלו, המכונה עוצרת והחישוב מסתיים.
* <math>\Gamma</math> - קבוצתקבוצה (לא ריקה) המכילה את כל האותיות אותן ניתן לכתוב על סרט הזיכרון (נקרא: '''אלפבית הזיכרון'''). קבוצה זו אינה ריקה.
* <math>\Sigma \subsetneqq \Gamma</math> - '''אלפבית הקלט''', קבוצה (לא ריקה) של כל האותיות המגדירות קלט תקין עבור המכונה.
* <math>b \in \Gamma \smallsetminus \Sigma</math> - סימן מיוחד המייצג "'''ריק'''" (blank), כלומר, תא זיכרון ריק שלא כתוב בו כלום. הקלט לא יכול להכיל רווחים. לרוב, הסמל "ריק" מיוצג באמצעות <math>\sqcup</math>.
* <math>\delta</math> - '''פונקציית המעברים''', השיטה שבה המכונה מחליפה את המצבים. לכל (מצב נוכחי שאינו סופי, אות נוכחית) הפונקציה מגדירה (מצב חדש, אות חדשה, תזוזת הראש):
<math>\delta: (Q\smallsetminus F)\times\Gamma \to Q\times\Gamma\times\{R,L,S\}</math>
 
==מהלך חישוב==
שורה 29:
 
בכל צעד חישוב הראש קורא את האות שעליה הוא מצביע. נניח שהראש קרא את האות <math>a</math>, והמכונה נמצאת במצב בקרה (לא סופי) <math>q</math>, אזי אם <math>\delta(q,a)=(q',b,d)</math> המכונה תחליף את האות <math>a</math> באות <math>b</math>
, תזיז את הראש בהתאם לכיוון <math>d\in\{R,L,S\}</math> (כאשר L = שמאלה, R = ימינה ו-S = השאר במקום), ותעבור למצב בקרה חדש <math>q'</math>. לאחר מכן מתחיל צעד החישוב הבא.
 
עצירה: אם המכונה עברה למצב בקרה סופי <math>\bar{q}\in F</math> נאמר שהמכונה עצרה. ה'''פלט של החישוב''' הינו כל מה שנמצא על הסרט, בין התא הראשון של הסרט והראש הכותב, כלומר, כל מה שמשמאל לראש.