1.2. מכונת טיורינג

מ"ט היא השביעיה plot:[M = left( {Q,{q_0},F,Gamma ,flat
 ,Sigma ,delta } 
ight)] כאשר:

plot:[Q]: קבוצה סופית של מצבים.

plot:[{q_0} in Q]: מצב התחלתי.

plot:[F subseteq Q]: קבוצת מצבים סופיים.

plot:[Sigma ]: קבוצה סופית של אותיות המכונה א"ב הקלט.

plot:[Gamma ]: קבוצה סופית של אותיות המכונה א"ב עבודה. מתקיים כי plot:[Sigma  subseteq Gamma ].

plot:[flat ]: סימן רווח המקייםplot:[flat  in Gamma ackslash Sigma ].

plot:[delta ]: פונקצית המעברים: plot:[delta :left( {left( {Qackslash F} 
ight) 	imes Gamma } 
ight) 	o
 left( {Q 	imes Gamma  	imes left{ {L,R,S} 
ight}} 
ight)]. plot:[left{ {L,R,S} 
ight}] הם סימנים המייצגים את כיוון תנועת הראש הקורא (שמאלה, ימינה או עמידה במקום). דוגמא: plot:[delta left( {{q_1},0} 
ight) =
 left( {{q_2},1,R} 
ight)] משמעותו: "אם במצב plot:[{q_1}] רואים plot:[0], אז עוברים למצב plot:[{q_2}], כותבים 1 במקום עליו מצביע הראש, ומזיזים את הראש תא אחד ימינה".

תיאור המכונה: למכונה סרט חצי-אינסופי לכוון ימין, ראש קורא/כותב שיכול בכל צעד חישוב לקרוא אות אחת, לכתוב אות אחת במקומה, ולנוע צעד אחד באחד הכיוונים, או להשאר במקום.

המכונה מתחילה תמיד את החישוב על קלט plot:[x in {Sigma ^*}] במצב הבקרה plot:[{q_0}] כאשר הראש מצביע לתא השמאלי ביותר בסרט. בקצה השמאלי של הסרט רשומה מילת קלט plot:[x], ואחריה אינסוף plot:[flat ]-ים.

הריצה מתבצעת בצעדי חישוב על פי פונקצית המעברים plot:[delta ]. בכל צעד חישוב המכונה מבצעת פעולה התלויה במצב הבקרה בו היא נמצאת ובתוכן התא שעליו מצביע הראש.

במקרה בו הראש מצביע על התא השמאלי ביותר בקלט, ובפונקצית המעברים מסומן לנוע שמאלה, הראש יישאר בצעד הבא במקומו. הריצה על הקלט plot:[x] מסתיימת כאשר המכונה נכנסת למצב סופי (מצב השייך לקבוצה plot:[F]). במקרה הנ"ל נאמר כי המכונה עוצרת על plot:[x]. לא מובטח כי חישוב המכונה יעצור לכל קלט!

בכל מקרה שהמכונה עוצרת, הפלט מוגדר כמחרוזת שמשמאל לראש בעת העצירה (לא כולל את התו עליו מצביע הראש).



קונפיגורציה רגעית של מכונת טיורינג היא שלישיה plot:[c in {Gamma ^*} 	imes Q 	imes mathbb{N}]. השלישיה plot:[c = left( {alpha ,q,i} 
ight)] מתארת את מצב המכונה ברגע מסויים במהלך החישוב שלה: plot:[alpha ] מתאר את תוכן הסרט, plot:[q] מתאר את מצב הבקרה, ו-plot:[i] מציין את מיקום הראש (אינדקס התא עליו מצביע הראש). המחרוזת plot:[alpha ] מתארת את תוכן הסרט מהקצה השמאלי עד המקום האחרון שאינו plot:[flat ].

הקונפיגורציה ההתחלתית של מכונת טיורינג על קלט plot:[x in {Sigma ^*}] היא plot:[left( {x,{q_0},0} 
ight)].

קונפיגורציה סופית של מ"ט היא קונפיגורציה plot:[left( {eta gamma ,q,i} 
ight)] כאשר plot:[eta ,gamma  in {Gamma ^*},q in F] וגם plot:[left| eta  
ight| = i]. במקרה זה נאמר כי plot:[eta ] הוא הפלט המתאים לקונפיגורציה סופית זו.

צעד חישוב של מ"ט הוא מעבר מקונפיגורציה רגעית אחת לקונפיגורציה רגעית שניה, לפי פונקצית המעברים plot:[delta ]. תהי מכונה plot:[M] הנמצאת בקונפיגורציה plot:[c = left( {alpha ,q,i} 
ight)]. נניח כי plot:[{alpha _i} = a] וכי plot:[delta left( {q,a} 
ight) = left(
 {p,b,d in left{ {L,R,S} 
ight}} 
ight)], אז המכונה מבצעת את הצעדים הבאים:

  1. כותבת את האות plot:[b] במקום האות plot:[a].
  2. משנה את מצב הבקרה מ-plot:[q] ל-plot:[p].
  3. מזיזה את הראש בהתאם לאות: plot:[S]=לא מזיזה, plot:[R]=למקום plot:[i + 1], plot:[L]=למקום plot:[i - 1]. (אם plot:[i = 1] לא זזים).

קונפיגורציה עוקבת: הקונפיגורציה העוקבת plot:[c'] של הקונפיגורציה הנוכחית plot:[c] תוגדר באופן יחיד על ידי ביצוע צעד חישוב על הקונפיגורציה הנוכחית. נסמן: plot:[cmathop {mathop  vdash
 limits_{	ext{M}} }limits^1 c'].

חישוב פונקציות: בהינתן מ"ט plot:[M], הפונקציה plot:[{f_M}] שהמכונה plot:[M] מחשבת היא פונקציה (חלקית או מלאה) מ-plot:[{Sigma ^*}] ל-plot:[{Gamma ^*}], המוגדרת רק על קלטים שעליהם החישוב של plot:[M] עוצר. ערך הפונקציה plot:[{f_M}] על קלטים כאלו הוא הפלט שמכונה מוציאה בחישוב, כלומר לכל קלט plot:[x in {Sigma ^*}], אם plot:[M] עוצרת על plot:[x] עם פלט plot:[y], אזי plot:[{f_M}left( x 
ight) = y], ואחרת plot:[{f_M}] אינה מוגדרת על המחרוזת plot:[x].

הערה: כאשר מגדירים פונקצית מעברים plot:[delta ], גם אם יש מצבים אליהם לא נגיע, חובה להגדיר אותם (באופן שרירותי כלשהו כרצוננו) מכיוון ש-plot:[delta ] היא לפי הגדרתה פונקציה מלאה.



תגיות המסמך:

מאת: דנה

החלק הראשון

בבקשה
מאת: אני

http://www.underwar.co.il/download.asp?ID=407
http://www.underwar.co.il/download.asp?ID=299
מאת: רועי

אני חייב את המסמך הזה...הצילו

מאת: חשוון

מתי המסמך יחזור?

שיתוף:
| עוד