מכונת טיורינג היא מודל חישוב תיאורטי שהוצג על ידי אלן טיורינג בשנת 1936. הוא מורכב מסרט ארוך לאין שיעור המחולק לתאים, ראש קריאה/כתיבה שיכול לנוע לאורך הקלטת ויחידת בקרה הקובעת את התנהגות המכונה. . הקלטת בתחילה ריקה, והקלט למכונה מסופק בקלטת קלט נפרדת. הפלט של החישוב נכתב על קלטת פלט.
כדי לחשב פונקציה, מכונת טיורינג עוקבת אחר קבוצת הוראות שנקראת תוכנית. התוכנית מציינת כיצד המכונה צריכה להתנהג בהתבסס על מצבה הנוכחי והסמל שהיא קוראת מהקלטת. המכונה מתחילה במצב התחלתי, והיא מבצעת שוב ושוב את השלבים הבאים:
1. קריאה: המכשיר קורא את הסמל שמתחת לראש הקריאה/כתיבה.
2. תהליך: בהתבסס על המצב הנוכחי והסמל שנקרא, המכונה קובעת את המצב הבא ואת הסמל לכתוב על הקלטת.
3. הזז: המכונה מזיזה את ראש הקריאה/כתיבה תא אחד שמאלה או ימינה.
4. חזור: המכונה חוזרת לשלב 1 וממשיכה עד שהיא מגיעה למצב עצירה.
תפקידה של קלטת הקלט הוא לספק את הקלט לחישוב. קלטת הקלט מאוכלסת בתחילה בסמלי הקלט, הנקראים על ידי המכונה במהלך החישוב. קלטת הקלט היא לקריאה בלבד, כלומר, המכשיר אינו יכול לשנות את תוכנו.
תפקידה של קלטת הפלט הוא לאחסן את הפלט של החישוב. כשהמכונה מעבדת את סמלי הקלט, היא יכולה לכתוב סמלים על סרט הפלט כדי להפיק את הפלט הרצוי. קלטת הפלט היא לכתיבה בלבד, כלומר, המכשיר יכול לכתוב רק אליו ולא יכול לקרוא את תוכנו.
היכולת של מכונת הטיורינג לחשב פונקציות מבוססת על יכולתה לתמרן סמלים על הקלטת לפי מערכת כללים. כללים אלו מאפשרים למכונה לבצע פעולות אריתמטיות, פעולות לוגיות וחישובים אחרים. על ידי הקפדה על כללים אלה, מכונת טיורינג יכולה לדמות כל חישוב אלגוריתמי.
לדוגמה, חשבו על מכונת טיורינג שמחשבת את הסכום של שני מספרים. קלטת הקלט תכיל את שני המספרים, מופרדים על ידי סמל מיוחד. המכונה תקרא את סמלי הקלט, תבצע את פעולת ההוספה ותכתוב את התוצאה בקלטת הפלט.
מכונת טיורינג מחשבת פונקציה על ידי ביצוע קבוצת הוראות שצוינה על ידי תוכנית. קלטת הקלט מספקת את הקלט לחישוב, וקלטת הפלט מאחסנת את הפלט של החישוב. המכונה מבצעת מניפולציות על סמלים על הקלטת כדי לבצע חישובים, ומאפשרת לה לדמות כל חישוב אלגוריתמי.
שאלות ותשובות אחרונות אחרות בנושא פונקציות מחושבות:
- מה המשמעות של וריאציות שונות של מכונות טיורינג להיות שוות ביכולות המחשוב?
- הסבר את הקשר בין פונקציה ניתנת לחישוב לבין קיומה של מכונת טיורינג שיכולה לחשב אותה.
- מה המשמעות של מכונת טיורינג שעוצרת תמיד בעת חישוב פונקציה ניתנת לחישוב?
- האם ניתן לשנות מכונת טיורינג כך שתמיד תקבל פונקציה? הסבר למה או למה לא.
- מהי פונקציה ניתנת לחישוב בהקשר של תורת המורכבות החישובית וכיצד היא מוגדרת?