การพิสูจน์ถึงความไม่แน่นอนของปัญหาการลังเลด้วยการย้อนกลับผลลัพธ์หรือไม่?


12

ฉันมีปัญหาในการทำความเข้าใจปัญหาการหยุดของทัวริง

หลักฐานของเขาสันนิษฐานว่ามีเครื่องจักรวิเศษซึ่งสามารถตัดสินได้ว่าคอมพิวเตอร์จะหยุดหรือวนซ้ำตลอดไปสำหรับอินพุตที่กำหนด แล้วเราแนบเครื่องที่ฝืนการส่งออกอีกและเรามีความขัดแย้งและดังนั้นจึงไม่สามารถอยู่ได้HHH

ความกังวลของฉันคือดูเหมือนว่าเรากำลังพูดคำตอบไม่ถูกต้องเพราะเรากลับรายการ หากมีเครื่องที่เรียกว่าซึ่งส่งเอาต์พุตคำตอบที่ถูกต้องสำหรับอินพุตที่แน่นอนและคำตอบที่ไม่ถูกต้องสำหรับผู้อื่น จากนั้นเราแนบเครื่องอื่นที่ย้อนกลับผลลัพธ์ของดังนั้นการรวมกันของทั้งสองเครื่องจึงมีความขัดแย้งกับวิธีการที่กำหนดไว้ เครื่องสองเครื่องนี้สร้างคำตอบที่ไม่ถูกต้องสำหรับอินพุตที่ถูกกำหนดให้กับเอาท์พุทคำตอบที่ถูกต้องและเอาท์พุทคำตอบที่ถูกต้องสำหรับอินพุตที่ถูกกำหนดให้กับคำตอบที่ไม่ถูกต้องของเอาต์พุต สิ่งนี้จะถูกเรียกว่าขัดแย้งหรือไม่และดังนั้นจึงไม่มีเครื่องจักรที่ส่งออกคำตอบที่ถูกต้องในอินพุตและคำตอบที่ไม่ถูกต้องกับผู้อื่นA A A AAAAAA

คำตอบ:


20

เวอร์ชั่นสั้น:ผลลัพธ์ของเครื่องไม่ถูกต้องหรือไม่ถูกต้องพวกเขาเป็นเพียงความขัดแย้งซึ่งพิสูจน์ว่าเครื่องเริ่มต้นที่ตัดสินใจว่าเครื่องป้อนหยุดในสตริงที่กำหนดหรือไม่สามารถอยู่ได้

รุ่นยาว : ก่อนอื่นเราจะร่างหลักฐาน (หรืออย่างน้อยหนึ่งรุ่น - มีมากมาย)

  1. สมมติว่าเรามีทัวริง Machineที่ตัดสินว่าทัวริง Machineหยุดการทำงานของอินพุตหรือไม่M xHALT(M,x)Mx
  2. การใช้เราสร้างเครื่องจักรซึ่งใช้เพื่อตรวจสอบว่าหยุดอยู่กับหรือไม่จากนั้นทำตรงกันข้ามเช่นถ้าหยุดบน ,วนซ้ำหากไม่หยุดอยู่กับ ,หยุดพักF L ฉันP ( M , x ) H L T M x M x F L ฉันP M x F L ฉันPHALTFLIP(M,x)HALTMxMxFLIPMxFLIP
  3. ในที่สุดเราก็สร้าง TM (ฉันไม่มีชื่อที่ดี) ซึ่งใช้คำอธิบายของ TM และรันพร้อมอินพุตแสดงผลอะไรก็ได้เอาท์พุทF L ฉันP ( M , M ) F L I PC(M)FLIP(M,M)FLIP

มันเป็นเรื่องสำคัญที่จะต้องทราบว่าตราบใดที่ deciderมีอยู่แล้วแต่ละขั้นตอนเหล่านี้ก็ง่ายที่จะใช้ เพียงแค่มีการใช้เพื่อตรวจสอบสิ่งที่จะทำและเพียงซ้ำปัจจัยการผลิตเพื่อส่งผ่านไป{}F L ฉันP H L T C F L ฉันPHALTFLIPHALTCFLIP

ขัดแย้งเกิดขึ้นเมื่อเรามองไปที่สิ่งที่เกิดขึ้นเมื่อเราทำงานrangle) อย่างใดอย่างหนึ่งหยุดเมื่อได้รับตัวเองเป็น input หรือไม่ จะเป็นผู้ตัดสินสิ่งนี้:C H A L TC(C)CHALT

  • ถ้าหยุดการป้อนข้อมูล ,จะพูดว่าแต่แล้วจะวนซ้ำดังนั้นจะวนซ้ำ , ขัดแย้ง{}CH L T Y E s F L ฉันP C H L TCCHALTYesFLIPCHALT
  • ถ้าลูปที่อินพุต ,จะพูดว่าแต่แล้วก็จะหยุดดังนั้นก็จะ หยุดขัดแย้ง{}CH L T N o F L ฉันP C H L TCCHALTNoFLIPCHALT

เนื่องจากแต่ละขั้นตอนในการก่อสร้างมีความชัดเจนเราจึงสามารถสรุปได้ว่าไม่สามารถอยู่ได้ เราได้สร้างกรณีที่ไม่ว่ามันจะพูดอะไรไม่สามารถตัดสินใจได้ว่าจะเอาท์พุทนั่นคือปัญหาไม่สามารถตัดสินใจได้ เพื่อตอกย้ำจุดนี้ไม่สามารถมีอยู่จริง - นั่นคือไม่มี TM ที่จะตัดสินปัญหาการหยุดชะงัก - เนื่องจากมีอย่างน้อยหนึ่งกรณีที่เราได้สร้างขึ้นอย่างชัดเจนโดยที่ไม่มี คำตอบที่เป็นไปได้ในเชิงตรรกะ โปรดจำไว้ว่า decider ไม่ได้รับอนุญาตให้ส่งคำตอบที่ไม่ถูกต้องและต้องส่งบางสิ่งออกไป แต่ในกรณีที่เราสร้างขึ้นคำตอบที่เป็นไปได้ทั้งสองข้อนั้นผิดH A L T H A L THALTHALTHALT


ความหมายของเครื่องไม่สมเหตุสมผลเนื่องจากไม่ยอมรับอินพุตใด ๆ ที่ยอมรับ ดังนั้นมันจะทำงานได้อย่างไร เอ็มCM
AleksandrH

7

คุณกำลังพูดถึงสองความหมายที่ต่างกันของ

ในการเปรียบเทียบของคุณเครื่องAและการปรับเปลี่ยนที่พลิกกลับขัดแย้งกันเพียงในแง่ที่ว่าเอาต์พุตของพวกเขานั้นแตกต่างกันเสมอ (ตัวอย่างเช่นพวกเขาอาจใช้ฟังก์ชั่นการทดสอบสองฟังก์ชั่นกับจำนวนเต็ม“ x ≤ 5?” และ“ x > 5?”) นั่นคือสิ่งหนึ่งที่“ ความขัดแย้ง” อาจมีความหมายในการใช้งานทุกวัน แต่ไม่ใช่สิ่งที่มีความหมาย พิสูจน์

ในการพิสูจน์เชิงตรรกะมันหมายถึงบางสิ่งที่แข็งแกร่งกว่า: สิ่งที่เป็นไปไม่ได้ เช่นฟังก์ชั่นที่ส่งกลับ“ จริง” ในอินพุตทั้งหมดมากกว่า 5 และ“ เท็จ” ในอินพุตทั้งหมดน้อยกว่า 10 - นั่นขัดแย้งในแง่ที่แข็งแกร่งกว่านี้เพราะสำหรับการพูด 7 เอาต์พุตจะต้องเป็นทั้ง "จริง" และ“ เท็จ” แต่สิ่งเหล่านี้ไม่เหมือนกัน การโต้แย้งของทัวริงแสดงให้เห็นว่าโปรแกรมการหยุดชะงักนั้นขัดแย้งกับความหมายที่แข็งแกร่งกว่า: สมมติว่ามันนำไปสู่บางสิ่งที่เป็นไปไม่ได้หรือรู้แล้วว่าเป็นเท็จ


2

xxf(n)n

f(m)

mm

mPmf(m)+1PmPmmm|m||m|m|m|log10mTPmT+log10mmm=2TT+log10mmf(m)Pmf(m)f(m)+1. เราขัดแย้งกันแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.