1.2. מכונת טיורינג
מ"ט היא השביעיה כאשר:
:
קבוצה סופית של מצבים.
: מצב התחלתי.
: קבוצת מצבים סופיים.
:
קבוצה סופית של אותיות המכונה א"ב הקלט.
:
קבוצה סופית של אותיות המכונה א"ב עבודה. מתקיים כי .
:
סימן רווח המקיים.
:
פונקצית המעברים: . הם סימנים המייצגים את כיוון
תנועת הראש הקורא (שמאלה, ימינה או עמידה במקום). דוגמא: משמעותו: "אם במצב
רואים , אז עוברים למצב , כותבים 1 במקום עליו מצביע הראש, ומזיזים את הראש
תא אחד ימינה".
תיאור המכונה: למכונה סרט חצי-אינסופי
לכוון ימין, ראש קורא/כותב שיכול בכל צעד חישוב לקרוא אות אחת, לכתוב אות אחת
במקומה, ולנוע צעד אחד באחד הכיוונים, או להשאר במקום.
המכונה מתחילה תמיד את החישוב על קלט במצב הבקרה כאשר הראש מצביע לתא השמאלי ביותר בסרט. בקצה
השמאלי של הסרט רשומה מילת קלט ,
ואחריה אינסוף -ים.
הריצה מתבצעת בצעדי חישוב על פי פונקצית
המעברים . בכל צעד חישוב המכונה מבצעת
פעולה התלויה במצב הבקרה בו היא נמצאת ובתוכן התא שעליו מצביע הראש.
במקרה בו הראש מצביע על התא השמאלי
ביותר בקלט, ובפונקצית המעברים מסומן לנוע שמאלה, הראש יישאר בצעד הבא במקומו.
הריצה על הקלט
מסתיימת כאשר המכונה נכנסת למצב סופי (מצב השייך לקבוצה ). במקרה הנ"ל נאמר כי המכונה עוצרת על . לא מובטח כי חישוב
המכונה יעצור לכל קלט!
בכל מקרה שהמכונה עוצרת, הפלט
מוגדר כמחרוזת שמשמאל לראש בעת העצירה (לא כולל את התו עליו מצביע הראש).
קונפיגורציה רגעית של מכונת טיורינג היא שלישיה . השלישיה מתארת את מצב המכונה ברגע
מסויים במהלך החישוב שלה:
מתאר את תוכן הסרט,
מתאר את מצב הבקרה, ו-
מציין את מיקום הראש (אינדקס התא עליו מצביע הראש). המחרוזת מתארת את תוכן הסרט מהקצה השמאלי עד המקום האחרון
שאינו .
הקונפיגורציה ההתחלתית של מכונת טיורינג על קלט היא .
קונפיגורציה סופית של מ"ט היא קונפיגורציה כאשר וגם . במקרה זה נאמר כי הוא הפלט המתאים לקונפיגורציה סופית זו.
צעד חישוב של מ"ט הוא מעבר מקונפיגורציה רגעית אחת לקונפיגורציה רגעית שניה, לפי פונקצית
המעברים . תהי מכונה הנמצאת בקונפיגורציה . נניח כי וכי , אז המכונה מבצעת את הצעדים הבאים:
- כותבת את האות במקום האות .
- משנה את מצב הבקרה מ- ל-.
- מזיזה את הראש בהתאם לאות: =לא מזיזה, =למקום , =למקום . (אם לא זזים).
קונפיגורציה עוקבת: הקונפיגורציה העוקבת
של הקונפיגורציה הנוכחית
תוגדר באופן יחיד על ידי ביצוע צעד חישוב על הקונפיגורציה הנוכחית. נסמן: .
חישוב פונקציות: בהינתן מ"ט ,
הפונקציה שהמכונה מחשבת היא פונקציה (חלקית או מלאה) מ- ל-, המוגדרת רק על קלטים שעליהם
החישוב של
עוצר. ערך הפונקציה
על קלטים כאלו הוא הפלט שמכונה מוציאה בחישוב, כלומר לכל קלט , אם עוצרת על
עם פלט , אזי , ואחרת אינה מוגדרת על המחרוזת .
הערה: כאשר
מגדירים פונקצית מעברים ,
גם אם יש מצבים אליהם לא נגיע, חובה להגדיר אותם (באופן שרירותי כלשהו כרצוננו)
מכיוון ש- היא לפי הגדרתה פונקציה מלאה.
החלק הראשון
בבקשה