רדוקציות

HALTTM ≤m ATM

הכיוון ההפוך: כל מופע HALTTM ניתן למיפוי למופע ATM עם אותה תשובת כן/לא. יחד עם ATM ≤m HALTTM, זה מראה ששתי הבעיות שקולות תחת רדוקציות מיפוי.

שתי הבעיות

HALTTM
מופע: מכונת טיורינג M ומחרוזת w.
שאלה: האם M עוצרת על w (בכל מצב — קבלה או דחייה)?
ATM
מופע: מכונת טיורינג M′ ומחרוזת w.
שאלה: האם M′ מקבלת את w?

הבנייה

בהינתן מופע HALTTM ⟨M, w⟩, בנו מופע ATM ⟨M′, w⟩ כאשר M′ היא מכונת הטיורינג הבאה:

M' on input x:
  1. Simulate M on x.
  2. If the simulation ever halts (accept or reject), accept.

תיאור M′ ניתן לחישוב מתיאור M, כך שההעתקה ⟨M, w⟩ ↦ ⟨M′, w⟩ היא פונקציה כריעה.

המחשה

שלב 1 / 4מופע HALTTM
HALTTM instance
⟨M, w⟩
ATM instance
⟨M′, w⟩
בניית M′
M' on input x:
  1. Simulate M on x.
  2. If the simulation ever halts (accept or reject), accept.
M on wM′ on w⟨M, w⟩ ∈ HALTTM⟨M′, w⟩ ∈ ATM
מקבלתמקבלתכןכן
דוחהמקבלתכןכן
לולאהלולאהלאלא
⟨M, w⟩ ∈ HALTTM  ⟺  ⟨M′, w⟩ ∈ ATM

קלט ⟨M, w⟩: מכונת טיורינג M ומחרוזת w. שאלת HALTTM היא האם M עוצרת על w (בכל מצב — קבלה או דחייה).

נכונות

(⇒) אם M עוצרת על w, אז גם הסימולציה ב־M′ עוצרת, כך ש־M′ מגיעה לצעד 2 ומקבלת. לכן ⟨M′, w⟩ ∈ ATM.
(⇐) אם M אינה עוצרת על w, אז גם M′ רצה לנצח בהדמיית M ולעולם אינה מגיעה לצעד 2. לכן M′ אינה מקבלת את w, כלומר ⟨M′, w⟩ ∉ ATM.
לפיכך ⟨M, w⟩ ∈ HALTTM אם ורק אם ⟨M′, w⟩ ∈ ATM. יחד עם הרדוקציה בכיוון הישיר זה נותן ATM ≡m HALTTM. ∎