( อัปเดต : คำถามที่มีรูปแบบที่ดีกว่าถูกโพสต์ที่นี่เนื่องจากความคิดเห็นสำหรับคำตอบที่ยอมรับด้านล่างแสดงว่าคำถามนี้ไม่ได้กำหนดไว้อย่างดี)
การพิสูจน์แบบดั้งเดิมของความเป็นไปไม่ได้ของปัญหาการหยุดชะงักนั้นขึ้นอยู่กับการแสดงความขัดแย้งเมื่อพยายามใช้อัลกอริทึมการตรวจจับการหยุดพักเพื่อตัวเองเป็นอินพุต ดูพื้นหลังด้านล่างสำหรับข้อมูลเพิ่มเติม
ความขัดแย้งที่นำมาใช้แสดงให้เห็นว่ามีความขัดแย้งเพราะตนเองอ้างอิง (เช่นประโยค "ประโยคนี้ไม่เป็นความจริง") แต่ถ้าเราห้ามการอ้างอิงตนเองอย่างเคร่งครัด (เช่นยอมรับความจริงที่ว่าการอ้างอิงตนเองดังกล่าวไม่สามารถหยุดได้) เราจะทิ้งผลอะไรไว้? ปัญหาการหยุดชะงักสำหรับชุดที่เหลือของเครื่องที่ไม่อ้างอิงตนเองนั้นสามารถหยุดได้หรือไม่?
คำถามคือ:
หากเราพิจารณาเซตย่อยของเครื่องทัวริงที่เป็นไปได้ทั้งหมดซึ่งไม่ใช่การอ้างอิงตนเอง (เช่นไม่ได้ใช้องค์ประกอบเหล่านั้นเป็นอินพุต) เรารู้อะไรบ้างเกี่ยวกับปัญหาการหยุดชะงักของชุดย่อยนี้
UPDATE
บางทีการปฏิรูปที่ดีขึ้นของสิ่งที่ฉันเป็นความเข้าใจที่ดีขึ้นของสิ่งที่กำหนดชุดที่ตัดสินใจได้ ฉันพยายามแยกการพิสูจน์ความไม่แน่นอนแบบคลาสสิกออกมาเพราะมันไม่ได้เพิ่มข้อมูลใด ๆ เกี่ยวกับความเด็ดเดี่ยวยกเว้นกรณีที่คุณเรียกใช้ HALT ด้วยตัวเอง
ความเป็นมา: สมมติว่าความขัดแย้งมีเครื่องทัวริงที่สามารถตัดสินใจอินพุตซึ่งเป็นการเข้ารหัสสำหรับเครื่องทัวริงและไม่ว่าหยุดทำงานหรือไม่ จากนั้นให้พิจารณาเครื่องจักรทัวริงที่ใช้และและใช้เพื่อตัดสินใจว่าหยุดหรือไม่แล้วทำตรงกันข้ามคือหยุดถ้าหยุดและไม่หยุดถ้าหยุด จากนั้นแสดงให้เห็นถึงความขัดแย้งเช่นเดียวกับMM ( X ) K M X Q M ( X ) K M ( X ) M ( X ) K ( K ) K ควรหยุดถ้าไม่หยุดและไม่หยุดเมื่อหยุด
แรงจูงใจ: เพื่อนร่วมงานกำลังทำงานอย่างเป็นทางการในการตรวจสอบระบบซอฟต์แวร์ (โดยเฉพาะเมื่อระบบได้รับการพิสูจน์ในระดับซอร์สโค้ดแล้วและเราต้องการจำลองมันสำหรับเวอร์ชั่นที่คอมไพล์แล้วเพื่อแก้ปัญหาคอมไพเลอร์) และในกรณีของเขาเขาสนใจ ชุดโปรแกรมควบคุมแบบฝังพิเศษที่เรารู้ว่ามันจะไม่อ้างอิงตัวเอง ด้านหนึ่งของการตรวจสอบที่เขาต้องการดำเนินการคือรับประกันว่าโปรแกรมที่คอมไพล์จะหยุดทำงานหรือไม่ถ้ารหัสแหล่งอินพุตได้รับการพิสูจน์แล้วว่าจะยุติ
UPDATE
จากความคิดเห็นด้านล่างฉันได้อธิบายความหมายของเครื่องทัวริงที่ไม่อ้างอิงตนเอง
เป้าหมายคือการกำหนดเป็นชุดที่ไม่นำไปสู่ความขัดแย้งที่เกิดขึ้นในการพิสูจน์ (cf. "เบื้องหลัง" ด้านบน) มันอาจถูกกำหนดไว้ดังนี้:
สมมติว่ามีเครื่องทัวริงที่ตัดสินปัญหาการหยุดชะงักสำหรับชุดเครื่องทัวริงSดังนั้นSจะไม่อ้างอิงตัวเองสำหรับQหากไม่รวมเครื่องทั้งหมดที่เรียกใช้QบนS (โดยตรงหรือโดยอ้อม) (ชัดเจนซึ่งหมายความว่าQไม่สามารถเป็นสมาชิกของSได้)
หากต้องการชี้แจงเกี่ยวกับความหมายโดยการเรียกใช้บนSทางอ้อม:
การเรียกบนSนั้นแทนด้วยเครื่องทัวริงQ ที่มีชุดของสถานะและอินพุตเริ่มต้นที่แน่นอนที่เป็นไปได้บางอย่างบนเทป (ตรงกับสมาชิกของSใด ๆ) โดยมีหัวเริ่มต้นที่จุดเริ่มต้นของอินพุตนั้น เครื่องWจะเรียกQบนS "อ้อม" ถ้ามี ( จำกัด ) ลำดับขั้นตอนที่Wจะใช้เวลาที่จะทำให้การกำหนดค่าของ "homomorphic" เพื่อกำหนดค่าเริ่มต้นของQ ( S )
อัพเดท 2
จากคำตอบด้านล่างยืนยันว่ามีเครื่องทัวริงจำนวนมากที่ทำงานเดียวกันดังนั้นจึงไม่ซ้ำกันเราเปลี่ยนคำนิยามข้างต้นโดยบอกว่าQไม่ใช่เครื่องทัวริงเดียว แต่เป็นชุด (ไม่มีที่สิ้นสุด) ของเครื่องคอมพิวเตอร์ทั้งหมด ฟังก์ชั่นเดียวกัน (HALT) โดยที่ HALT เป็นฟังก์ชั่นที่จะตัดสินว่าเครื่องทัวริงหยุดการทำงานของอินพุตใด
อัพเดท 3
ความหมายของทัวริงเครื่อง homomorphism:
TM A คือโฮโมมอร์ฟิคถึง TM B หากกราฟการเปลี่ยนแปลงของ A คือโฮโมมอร์ฟิคกับของ B ในความหมายมาตรฐานของโฮโมมอร์ฟิซึมของกราฟด้วยโหนดที่มีป้ายกำกับและขอบ กราฟการเปลี่ยนแปลง (V, E) ของ TM เป็นเช่นนั้น V = สถานะ E = ช่วงการเปลี่ยนภาพระหว่างรัฐ แต่ละส่วนโค้งจะถูกระบุด้วยสัญลักษณ์ (S, W, D), S = อ่านเทปและ W = สัญลักษณ์ที่จะเขียนลงไปและ D = ทิศทางที่การแสดงของหัวย้ายไป