หากต้องการอธิบายรายละเอียดเล็กน้อยเกี่ยวกับข้อความ "เป็นไปไม่ได้" ต่อไปนี้เป็นภาพร่างหลักฐานที่เรียบง่าย
เราสามารถสร้างอัลกอริธึมกับเอาท์พุทโดยเครื่องจักรทัวริงซึ่งหยุดกับผลลัพธ์บนเทป หากคุณต้องการมีเครื่องจักรที่สามารถหยุดโดยการยอมรับกับเอาต์พุตบนเทปหรือปฏิเสธ (ซึ่งในกรณีที่ไม่มีเอาต์พุต) คุณสามารถสร้างการเข้ารหัสที่อนุญาตให้คุณสร้างโมเดลเครื่องเหล่านี้ด้วย "หยุดหรือหยุดไม่ได้ ไม่มีเครื่อง "ปฏิเสธ"
ทีนี้สมมติว่าฉันมีอัลกอริทึมPสำหรับพิจารณาว่า TMs สองตัวนั้นมีเอาต์พุตเหมือนกันสำหรับทุกอินพุตหรือไม่ จากนั้นด้วย TM AและอินพุตXฉันสามารถสร้าง TM Bใหม่ที่ทำงานดังนี้:
- ตรวจสอบว่าอินพุตเป็นXอย่างแน่นอน
- ถ้าใช่แล้วป้อนวงวนไม่สิ้นสุด
- หากไม่มีให้รันAบนอินพุต
ตอนนี้ฉันสามารถรันPบนAและBได้ Bไม่หยุดบนXแต่มีเอาต์พุตเหมือนกับAสำหรับอินพุตอื่นทั้งหมดดังนั้นหากAไม่หยุดบนXดังนั้นอัลกอริธึมทั้งสองนี้จึงมีเอาต์พุตเดียวกันสำหรับทุกอินพุต แต่สันนิษฐานว่าPสามารถบอกได้ว่าอัลกอริธึมสองตัวมีเอาต์พุตเหมือนกันสำหรับอินพุตทุกตัวหรือไม่ดังนั้นถ้าเรามีPเราสามารถบอกได้ว่าเครื่องใด ๆ หยุดทำงานชั่วคราวกับอินพุตโดยพลการซึ่งเป็นปัญหาการหยุดทำงาน เนื่องจากปัญหา Halting เป็นที่ทราบกันว่า undecidable, Pจึงไม่มีอยู่
ซึ่งหมายความว่าไม่มีวิธีการทั่วไป (คำนวณได้) ในการพิจารณาว่าอัลกอริธึมสองตัวมีเอาต์พุตเหมือนกันที่ใช้งานได้ตลอดเวลาหรือไม่ดังนั้นคุณต้องใช้เหตุผลโดยเฉพาะกับอัลกอริธึมที่คุณกำลังวิเคราะห์อยู่ อย่างไรก็ตามในทางปฏิบัติอาจมีวิธีการคำนวณที่ใช้งานได้สำหรับคลาสใหญ่ของอัลกอริทึมและมีแน่นอนเทคนิคที่คุณสามารถใช้เพื่อพยายามพิสูจน์หลักฐานสำหรับกรณีเฉพาะใด ๆ คำตอบของ Dave Clarke ให้สิ่งที่เกี่ยวข้องกับคุณดูที่นี่ ผลลัพธ์ "ความเป็นไปไม่ได้" จะใช้กับการคิดค้นวิธีการทั่วไปที่จะแก้ปัญหาเพียงครั้งเดียวและสำหรับทุกคนสำหรับอัลกอริทึมทั้งหมด