בעיית העצירה

בעיית העצירה שואלת: האם תוכנית תפסיק לרוץ על קלט מסוים? קלט הוא המידע שמכניסים לתוכנית.

אלן טיורינג הראה ב-1936 שאין דרך כללית לבדוק את זה לכל תוכנית וקלט. מכונת טיורינג היא דגם רעיוני של מחשב.

ההוכחה משתמשת ברעיון פשוט של סתירה. נניח שיש בודק Halt שמגיד אם תוכנית עוצרת על קלט.

נבנה תוכנית A כך:

- אם הבודק אומר שהתוכנית Q עוצרת על Q, אז A לא תעצור.
- אחרת A תעצור.

עכשיו שואלים: מה קורה ל-A כשהיא מריצה את עצמה? בכל מקרה נגיע לסתירה. לכן לא יכול להיות בודק כזה.

RE זו קבוצה של בעיות שאפשר לזהות תשובה חיובית להן על ידי הרצה. אם Q עוצרת על X, אפשר להריץ אותה ולגלות את זה.

מחשב אמיתי זוכר מספר סופי של דברים. לכן יש לו מספר סופי של מצבים. אם התוכנית לא עוצרת, היא תחזור על מצבים שוב ושוב. אפשר לבדוק מצבים אלה ולגלות אם התוכנית תעצור על המחשב הזה.

תגובות גולשים

התגובה תפורסם באתר לאחר אישור המערכת

עדיין אין תגובות. היה הראשון להגיב!