ปัญหาการหยุดทำงานโดยไม่มีการอ้างอิงตนเอง


10

ในลังเลปัญหาเรามีความสนใจถ้ามีเครื่องทัวริงที่สามารถบอกได้ว่าได้รับทัวริงเครื่องMหยุดหรือไม่ได้อยู่ในการป้อนข้อมูลให้ฉัน โดยปกติหลักฐานจะเริ่มสมมติว่ามีTอยู่ จากนั้นเราจะพิจารณากรณีที่เรา จำกัดให้ฉันเป็นMเท่านั้นและจากนั้นจะได้รับความขัดแย้งโดยใช้ตัวอย่างของการโต้แย้งแนวทแยง ฉันสนใจวิธีการที่จะไปพิสูจน์ถ้าเราจะได้รับสัญญาว่าฉันM ? สิ่งที่เกี่ยวกับสัญญาฉันM ที่M เทียบเท่ากับM ?TMiTiMiMiMMM


2
คำแนะนำ: แม้ว่าไม่จำเป็นต้องใช้อย่างถูกต้องตอบคำถามเกี่ยวกับตัวเองหรือแม้กระทั่งเกี่ยวกับเอ็ม' 's เทียบเท่ากับมันเรายังคงสามารถให้อาหารมันเทียบเท่าM 'และดูสิ่งที่มันไม่ เนื่องจากมันไม่สามารถคำนวณได้ว่าM นั้นเทียบเท่ากับMหรือไม่M จึงไม่สามารถบอกได้ว่ามีบางสิ่งที่เทียบเท่ากับตัวเอง MMMMMM
Andrej Bauer

@ AndrejBauer นี่เป็นเพียงคำใบ้ที่คุณให้ฉันและฉันควรแก้ปัญหาจริงของฉันโดยใช้คำใบ้นี้หรือไม่? ฉันเป็นบิตสับสนเนื่องจากคุณผ่อนคลายปัญหาโดยกล่าวว่า "ไม่ต้อง" ซึ่งในการตั้งค่าของฉันฉันมีสัญญาว่าจะไม่ได้เลี้ยงด้วยเทียบเท่าM ' โดยพื้นฐานแล้วฉันต้องการที่จะเห็นเป็นประเภทของ "การอ้างอิงตนเอง" สิ่งที่ทำให้ปัญหาไม่สามารถตัดสินใจได้ ฉันคิดว่านี่เป็นกรณีเมื่อพูดถึงตรรกะและความไม่สมบูรณ์ MM
กระดิ่งใน

คุณสามารถทำลายสัญญาและให้อาหารตามที่คุณต้องการ ไม่สามารถบอกได้ว่าคุณผิดสัญญาแล้ว หากคุณคิดว่าเป็นการโกงฉันจะให้อาหารMที่ไม่เทียบเท่าMเพราะพวกเขาเป็นMแต่มีการป้อนข้อมูลทั้งหมดที่เปลี่ยนจาก1หรือบางอย่าง MMMM1
Andrej Bauer

จริงๆแล้วคำถามของคุณไม่ได้มีการกำหนดอย่างดี คุณควรร่างหลักฐานที่แท้จริงที่คุณมีอยู่ในใจแล้วระบุสิ่งที่คุณต้องการหลีกเลี่ยง ฉันไม่คิดว่าคุณหมายถึงแต่อย่างอื่น iM
Andrej Bauer

คำตอบ:


7

สมมติว่า HALTS เป็น TM ที่อ่านอินพุตเป็นคู่และxโดยที่Mคือการเข้ารหัส TM และxคืออินพุตใด ๆ ไปยัง TM นั้นMxMx

คำถามของคุณคือถ้าอะไรจะเกิดขึ้นถ้าเราสันนิษฐานหยุดแก้ไขลังเลปัญหาปัจจัยการผลิตทั้งหมดเช่นว่าxไม่ได้เป็นการเข้ารหัสของ TM ที่มีหน้าที่เทียบเท่าMM,xxM

ฉันอ้างว่าสิ่งนี้แสดงถึงความขัดแย้ง ฉันมากับสิ่งนี้ตรงจุดดังนั้นฉันจึงยินดีต้อนรับทุกการวิจารณ์ของหลักฐานของฉัน แนวคิดของการพิสูจน์ก็คือแทนที่จะเป็นเส้นทแยงมุมบางอย่างในตัวเราเองเราทำ TM ซ้ำสองตัวที่ทำหน้าที่แตกต่างกันในอินพุตบางตัว (ดังนั้นจึงไม่เทียบเท่ากับฟังก์ชัน) แต่เป็นสาเหตุของความขัดแย้ง

ให้และD 2เป็นสอง TM ซ้ำซึ่งกันและกัน (ซึ่งก็คือเราสามารถจำลองพิมพ์ ฯลฯ คำอธิบายของD 2ในโปรแกรมD 1และในทางกลับกัน) โปรดทราบว่าเราสามารถสร้าง TM ซ้ำร่วมกันจากทฤษฎีการเรียกซ้ำD1D2D2D1

กำหนดและD 2ดังนี้: บนอินพุตx , ถ้า| x | < 10 (10 เลือกโดยพล) จากนั้นD 1ยอมรับและD 2ลูป (ดังนั้นจึงไม่สามารถใช้งานได้เทียบเท่า)D1D2x|x|<10D1D2

รับอินพุตด้วย| x | 10 , กำหนดD 1เพื่อจำลอง HALTS ในD 2 , x และหยุดถ้าD 2หยุดหรือลูปถ้าD 2ลูปx|x|10D1D2,xD2D2

รับอินพุตด้วย| x | 10 , กำหนดD 2เพื่อจำลอง HALTS ในD 1 , x และลูปถ้าD 1หยุดหรือหยุดถ้าD 1ลูปx|x|10D2D1,xD1D1

จากนั้นทราบว่าสำหรับใด ๆ ที่มี| x | 10 , D 1 (x) หยุดพักหรือวนซ้ำ ถ้าD 1หยุดการป้อนข้อมูล x เราจะรู้ว่า HALTS ( D 2 , x) พิจารณาแล้วว่าD 2หยุดการทำงานของอินพุต x อย่างไรก็ตามD 2หยุดทำงานกับอินพุต x แสดงว่า HALTS ( D 1 , x) วนซ้ำx|x|10D1D1D2D2D2D1

หากบนอินพุตxลูปความขัดแย้งจะตามมาในทำนองเดียวกันD1x

นี่คือความขัดแย้งเว้นแต่ว่าเป็นการเข้ารหัสสำหรับเครื่องทัวริงที่ใช้งานได้เทียบเท่ากับD 1หรือD 2ซึ่งในกรณีนี้ HALTS จะมีพฤติกรรมที่ไม่ได้กำหนดไว้ อย่างไรก็ตามxได้รับการคัดเลือกที่พลจากทุกสายที่มีขนาดใหญ่กว่า10 ดังนั้นจึงยังคงมีอยู่แสดงเครื่องทัวริงที่มีการเข้ารหัสที่มีขนาดมากกว่า 10 ที่ทำงานแตกต่างกันกว่าD 1และD 2 เราสามารถสร้างเครื่องจักรดังกล่าวได้เล็กน้อย QEDxD1D2x10D1D2

คิด?


ทำไมคุณต้องตรวจสอบให้แน่ใจว่าและD 2นั้นไม่เทียบเท่ากับการใช้งานจริง D1D2
bellpeace

ฉันคิดว่าคุณถูกต้องว่านี่ไม่จำเป็น ความตั้งใจดั้งเดิมของฉันคือทำให้เส้นทแยงมุมบน HALTs ( )D1,D2
Kurt Mueller

หากปราศจากหลักฐานก็จะดูดีกว่า แต่ก็ดูดีสำหรับฉันและเป็นสิ่งที่ฉันต้องการ
bellpeace

2

MMMMMM


MMH

  • H(M,x)xHxH
  • H(M,x)M(x)

Q

Q(x)=
  if H(<Q>, x) = false
    return true
  else
    loop forever

QHx=QQ(Q)H


iM

1
สมมติว่าคุณได้รับสัญญาเช่นนั้น ฉันรู้ว่ามันไม่สามารถคำนวณได้ ฉันได้อัปเดต OP แล้ว
bellpeace

@ Bellpeace: คุณจะกำหนดสิ่งนั้นได้อย่างไร

(M,i)iM1Mi0

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