12
ทำไมปัญหาการหยุดชะงักจึงมีความสำคัญมาก?
ฉันไม่เข้าใจว่าทำไมปัญหา Haltingจึงมักถูกใช้เพื่อยกเลิกความเป็นไปได้ในการพิจารณาว่าโปรแกรมหยุดทำงานหรือไม่ วิกิพีเดีย [บทความ] [1] อธิบายอย่างถูกต้องว่าเครื่องกำหนดค่าที่มีหน่วยความจำ จำกัด จะหยุดหรือทำซ้ำสถานะก่อนหน้า คุณสามารถใช้อัลกอริทึมที่ตรวจพบว่ามีการเชื่อมโยงรายการลูปเพื่อใช้ฟังก์ชัน Halting กับความซับซ้อนของพื้นที่ของ O (1) สำหรับฉันแล้วดูเหมือนว่าการพิสูจน์ปัญหา Halting นั้นไม่ได้เป็นอะไรมากไปกว่า "ความขัดแย้ง" ที่อ้างถึงตัวเอง (อย่างน้อยก็เป็นวัฏจักร) ที่ขัดแย้งกันในลักษณะเดียวกับความขัดแย้งของคนโกหก ข้อสรุปเพียงอย่างเดียวก็คือฟังก์ชั่นหยุดทำงานนั้นไวต่อคำถามที่มีรูปร่างผิดปกติ ดังนั้นหากไม่รวมโปรแกรมที่ขัดแย้งกันฟังก์ชัน Halting จะถูกตัดสินได้ เหตุใดเราจึงถือเป็นหลักฐานของสิ่งตรงกันข้าม 4 ปีต่อมา : เมื่อฉันเขียนสิ่งนี้ฉันเพิ่งดูวิดีโอนี้ โปรแกรมเมอร์ได้รับโปรแกรมบางโปรแกรมต้องกำหนดว่ารายการใดจะถูกยกเลิกและวิดีโอจะอธิบายว่าทำไมจึงเป็นไปไม่ได้ ฉันรู้สึกท้อแท้เพราะฉันรู้ว่ามีโปรแกรมตามอำเภอใจบางอย่างมีความเป็นไปได้ที่ตัวเอกจะสามารถพิสูจน์ได้ว่าพวกเขาจะยุติ แนวคิดของความมีอยู่ทั่วไปได้หายไปอย่างใด เป็นความแตกต่างระหว่างการพูดว่า "บางโปรแกรมไม่สามารถพิสูจน์ได้ว่าจะยุติ" และ "ไม่มีโปรแกรมที่สามารถพิสูจน์ได้ว่าจะยุติ" อัลกอริทึมหลายอย่างเป็นทางการแสดงให้เห็นถึงการทำเช่นนั้น ความล้มเหลวในการสร้างความแตกต่างนี้จากการอ้างอิงทุกครั้งที่พบในบรรทัดคือวิธีที่ฉันมาที่ชื่อของคำถามนี้ ด้วยเหตุนี้ฉันขอขอบคุณคำตอบจริงๆ ที่นิยามฟังก์ชันการหยุดชั่วคราวเป็น ternary แทนที่จะเป็นบูลีน