มีหลักฐานที่ใช้งานง่ายมากขึ้นของความลังเลของปัญหาการหยุดชะงักกว่าแนวทแยงมุมหรือไม่?


30

ฉันเข้าใจหลักฐานของความลังเลของปัญหาการหยุดชะงัก (ยกตัวอย่างในตำราเรียนของ Papadimitriou) โดยยึดตามแนวทแยงมุม

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

ในหนังสือหลักฐานจะเป็นดังนี้: "สมมติว่าแก้ปัญหาการหยุดชะงักของอินพุตนั่นคือตัดสินใจว่าเครื่องทัวริงหยุดการทำงานของอินพุตหรือไม่สร้างเครื่องทัวริงที่ใช้เครื่องทัวริงเป็นอินพุต รันและกลับด้านเอาต์พุต " จากนั้นจะแสดงว่าไม่สามารถสร้างผลลัพธ์ที่น่าพอใจMHM;xMxDMMH(M;M)D(D)

มันเป็นสิ่งก่อสร้างโดยพลการของโดยเฉพาะอย่างยิ่งความคิดในการให้อาหารให้กับตัวเองและจากนั้นเป็นของตัวเองที่ฉันต้องการมีสัญชาตญาณ อะไรที่ทำให้คนต้องกำหนดโครงสร้างและขั้นตอนเหล่านั้นตั้งแต่แรกDMD

ใครบ้างมีคำอธิบายว่าใครบางคนจะใช้เหตุผลวิธีการของพวกเขาในการโต้แย้งเส้นทแยงมุม (หรือหลักฐานอื่น ๆ ) ถ้าพวกเขาไม่ทราบชนิดของการโต้แย้งที่จะเริ่มต้นด้วย?

ภาคผนวกให้คำตอบรอบแรก:

ดังนั้นคำตอบแรกชี้ให้เห็นว่าการพิสูจน์ความลังเลของปัญหาการหยุดชะงักเป็นสิ่งที่อิงจากงานก่อนหน้าของคันทอร์และรัสเซลและการพัฒนาปัญหาเส้นทแยงมุมและการเริ่มต้น "จากศูนย์" จะหมายถึงการค้นพบการโต้แย้งใหม่อีกครั้ง

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

สิ่งที่ฉันยังไม่เห็นเป็นสิ่งที่จะกระตุ้นให้คนที่จะกำหนดขึ้นอยู่กับ 's 'โปรแกรมด้วยตนเอง'และหลังจากนั้นอีกใช้กับตัวเอง ดูเหมือนว่าจะมีความเกี่ยวข้องน้อยกว่ากับการทำให้เป็นเส้นทแยงมุม (ในแง่ที่การโต้แย้งของคันทอร์ไม่ได้มีอะไรอย่างนั้น) แม้ว่ามันจะทำงานได้ดีกับ diagonalization เมื่อคุณนิยามมันD(M)MM;MD

PS

@babou สรุปสิ่งที่ทำให้ฉันหนักใจดีกว่าตัวฉัน: "ปัญหาของการพิสูจน์หลายรุ่นคือสิ่งก่อสร้างดูเหมือนว่าจะถูกดึงออกมาจากหมวกวิเศษ"


3
พิจารณาความเป็นไปได้ที่ใด ๆ ที่หลักฐานของการดำรงอยู่ของชุดนับไม่ได้จะมีการจะค่อนข้าง counterintuitive แม้ว่าเราจะได้รับใช้ความจริงที่ว่าพวกเขามีความถูกต้อง ยังพิจารณาความเป็นไปได้ว่าคำถามนี้ (ถ้าซักค้านอย่างถูกต้อง) เป็นmath.stackexchange.com
André Souza Lemos

4
ต้นเสียงพบอาร์กิวเมนต์ diagonalization และตอนนี้เราไม่สามารถแก้ความเข้าใจผิดมันAus DEM Paradies ดาสต้นเสียง uns geschaffen, soll ลูกจ๊อก Niemand vertreiben können
Hendrik Jan

1
หลังจากคิดเพิ่มเติมฉันต้องถามว่าทำไมคุณถึงคิดว่าสิ่งนี้แตกต่างจากความขัดแย้งของรัสเซล ความขัดแย้งของรัสเซลแม้มีลักษณะเหมือนกันถ้าเราใช้สัญกรณ์ค่าเฉลี่ย (คือคิดว่าชุดเป็นฟังก์ชั่นเป็นที่มีค่าเป็นหรือ) จากนั้นความขัดแย้งของรัสเซลคือการกำหนดและจากนั้นพิจารณา X SS(X)XStruefalseD(M) = not M(M)D(D)

1
diagonalization เป็นเทคนิคมาตรฐาน แน่ใจว่ามีเวลาที่ไม่เป็นที่รู้จัก แต่เป็นมาตรฐานมานานแล้วดังนั้นการโต้แย้งของคุณเป็นเพราะความไม่รู้ของคุณ (ฉันไม่ต้องการหยาบคายเป็นความจริง: คุณไม่รู้ หลักฐานอื่น ๆ ทั้งหมดที่ใช้เทคนิคดังกล่าวจึงพบว่าแปลกในครั้งแรกที่คุณเห็นเมื่อคุณเห็น 50 ครั้งคุณจะสามารถเข้าใจวิธีการใช้ในสถานการณ์ใหม่)
Bakuriu

1
บางทีคุณอาจจะอ่านการแลกเปลี่ยนความคิดเห็นกับลุคมาติสัน (ทำตามคำตอบของเขา) คำตอบของเขาอธิบายในอดีตว่าทำไมทัวริงใช้แอปพลิเคชันด้วยตนเอง (สิ่งหนึ่งที่คุณถามในคำถามของคุณ) ดูเหมือนว่านักคณิตศาสตร์จะรับรู้ปัญหาในเวลานั้น คำตอบของฉันเองพยายามที่จะให้หลักฐานที่ง่ายมากที่ไม่ได้ใช้มัน (หรืออย่างน้อยก็แสดงให้เห็นว่ามันไม่จำเป็น) ซึ่งเป็นอีกสิ่งหนึ่งที่คุณขอแตกต่างกันมาก อาจเป็นไปได้ว่าฉันอาจทำให้มันง่ายกว่าคำตอบของฉัน ทำไมครูยังคงใช้การพิสูจน์ของทัวริงก็เป็นประเด็นทางสังคมวิทยาและการสอน (?!) cc @HendrikJan
babou

คำตอบ:


18

ในการแก้ไขของคุณคุณเขียน:

สิ่งที่ฉันยังไม่เห็นเป็นสิ่งที่จะกระตุ้นให้คนที่จะกำหนดขึ้นอยู่กับM 's 'ตัวเองแอพลิเคชัน' M ; Mจากนั้นจึงใช้Dกับตัวเองอีกครั้ง ดูเหมือนว่าจะมีความเกี่ยวข้องน้อยกว่ากับการทำให้เป็นเส้นทแยงมุม (ในแง่ที่การโต้แย้งของคันทอร์ไม่ได้มีอะไรอย่างนั้น) แม้ว่ามันจะทำงานได้ดีกับ diagonalization เมื่อคุณนิยามมันD(M)MM;MD

บทสรุปทั่วไปที่ได้รับความนิยมของการพิสูจน์ของทัวริงมีดังนี้:

"ถ้าเรามีเครื่องที่สามารถตัดสินใจได้ว่าอีกทัวริงหยุดพักเครื่องหรือไม่เราสามารถใช้นี้จะสร้างเครื่องอื่นDที่ได้รับทัวริงเครื่องMจะหยุดและถ้าหากMได้ไม่หยุด. แต่เราก็ สามารถส่งDเป็นอินพุตให้กับตัวเองและได้รับความขัดแย้ง: เครื่องนี้จะหยุดถ้าหากมันไม่หยุด!MHDMMD

ตอนนี้มันเป็นเรื่องง่ายที่จะเห็นว่าการสรุปข้างต้นคัดสรรรายละเอียดที่สำคัญ - การหยุดชะงักของเครื่องจักรทัวริงขึ้นอยู่กับอินพุตซึ่งเราไม่ได้ระบุ! แต่ปัญหานี้สามารถแก้ไขได้อย่างง่ายดายพอเราเพียงแค่ต้องมีDรับการป้อนข้อมูลบางอย่างที่เหมาะสมx Mสำหรับเครื่องป้อนข้อมูลแต่ละM , ก่อนที่จะผ่านพวกเขาทั้งสองจะM HMDxMMMH

ตัวเลือกที่เหมาะสมสำหรับคือท้ายที่สุดแล้วเราต้องการได้รับความขัดแย้ง? ทางเลือกโดยธรรมชาตินั้นได้รับการแนะนำโดยตรงจากบทพิสูจน์ "handwavy" ด้านบนซึ่งในที่สุดเราก็ได้รับความขัดแย้งโดยการเรียกใช้เครื่องDบนตัวมันเองxMD

ดังนั้นสำหรับพฤติกรรมของที่จะขัดแย้งในกรณีนี้คือเมื่อเรียกว่าD ( D )สิ่งที่เราต้องการคือการหยุดD ( M )ขึ้นอยู่กับพฤติกรรมของMเมื่อเรียกใช้เป็นM ( M ) . วิธีนี้เราจะได้รับความแตกต่างที่เราต้องการโดยการตั้งค่าM = DDD(D)D(M)M M(M)M=D

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


1
ว้าวคุณตอบคำถามของฉันจริงๆ! นั่นคือว่าประเภทของเรื่องที่ผมกำลังมองหา! ยังคงอ่านทุกอย่าง แต่ดูเหมือนว่ามันจะเป็นคำตอบที่ได้รับการยอมรับ ขอบคุณ!
user118967

18

อาจเป็นเรื่องผิดที่คิดว่ามีใครบางคนให้เหตุผลในการโต้แย้งโดยไม่โต้แย้งในบางประเด็นก่อนหน้านี้ในบริบทที่ "เรียบง่าย"

โปรดจำไว้ว่าทัวริงรู้ว่าการพิสูจน์เส้นทแยงมุมของคันทอร์เกี่ยวกับการนับไม่ได้ของเรียล นอกจากนี้งานของเขาเป็นส่วนหนึ่งของประวัติศาสตร์ของคณิตศาสตร์ซึ่งรวมถึงความขัดแย้งของรัสเซล (ซึ่งใช้อาร์กิวเมนต์ diagonalisation) และGödelของทฤษฎีบทไม่สมบูรณ์แรก (ซึ่งใช้อาร์กิวเมนต์ diagonalisation). ในความเป็นจริงผลลัพธ์ของGödelเกี่ยวข้องอย่างลึกกับการพิสูจน์ความลังเลของปัญหาการหยุดชะงัก (และด้วยเหตุนี้คำตอบเชิงลบต่อ Entscheidungs ​​Hilbert ของ Hilbert)

ดังนั้นการโต้แย้งของฉันคือคำถามของคุณอยู่ในเกณฑ์ที่ไม่ดีและคุณไม่สามารถเข้าถึงปัญหาการหยุดชะงักได้โดยไม่ต้องผ่านส่วนที่เหลือ (หรือบางสิ่งที่คล้ายคลึงกันอย่างน่าทึ่ง) ก่อน ในขณะที่เราแสดงสิ่งเหล่านี้ให้กับนักเรียนโดยไม่ต้องผ่านประวัติศาสตร์ถ้าคุณเป็นนักคณิตศาสตร์ที่ทำงานดูเหมือนว่าคุณไม่ได้ไปที่ Turing Machines โดยไม่ต้องทำอะไรเลย - สิ่งต่าง ๆ ในระหว่างนี้ - จุดทั้งหมดของพวกเขาคือทำให้การคำนวณเป็นปัญหา ทำงานมาหลายสิบปี ณ จุดนั้น

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

ในการอ้างอิงถึง "การประยุกต์ใช้ด้วยตนเอง" ในหลักฐานที่คุณพูดถึงนี่เป็นส่วนสำคัญของความขัดแย้งของรัสเซล (ซึ่งขึ้นอยู่กับการอ้างอิงด้วยตนเอง) และทฤษฎีบทแรกที่ไม่สมบูรณ์ของGödelเป็นเหมือนการใช้ความขัดแย้งสูงของรัสเซล . หลักฐานการ undecidability ของปัญหา Halting นั้นได้รับแจ้งอย่างหนักจากงานของGödelซึ่งยากที่จะจินตนาการถึงการเดินทางโดยไม่มีมันดังนั้นแนวคิดของ "การประยุกต์ใช้ด้วยตนเอง" จึงเป็นส่วนหนึ่งของความรู้พื้นฐานที่คุณต้องไปสู่ปัญหา Halting . ในทำนองเดียวกันงานของGödelนั้นเป็นการทำซ้ำของ Russell ที่ขัดแย้งกันดังนั้นคุณจึงไม่ไปที่นั่นหากไม่มีคนอื่น (โปรดทราบว่ารัสเซลล์ไม่ใช่คนแรกที่สังเกตความขัดแย้งแบบนี้ดังนั้นต้นแบบของการโต้แย้งในแนวทแยงมุม 600BCE) งานของทัวริงและโกเดล (บิตที่เรากำลังพูดถึงที่นี่คือ) สามารถถูกมองว่าเป็นการสาธิตที่ทรงพลังมากขึ้นของปัญหาด้วยการอ้างอิงตนเองและวิธีการฝังในคณิตศาสตร์ ดังนั้นอีกครั้งมันเป็นเรื่องยากมากที่จะแนะนำว่าความคิดเหล่านี้ในระดับที่ทัวริงเกี่ยวข้องกับพวกเขามาเบื้องต้นพวกเขาคือสุดยอดของการทำงานของพันปีในส่วนของปรัชญาคณิตศาสตร์และตรรกะ

การอ้างอิงตนเองนี้ยังเป็นส่วนหนึ่งของการโต้แย้งของคันทอร์ แต่มันก็ไม่ได้ถูกนำเสนอในภาษาที่ผิดธรรมชาติเช่นการทำงานที่มีเหตุผลมากกว่าของทัวริง คันทรีของเส้นทแยงมุมสามารถใช้ถ้อยคำใหม่ในการเลือกองค์ประกอบจากชุดพลังของชุด (โดยพื้นฐานแล้วเป็นส่วนหนึ่งของทฤษฎีบทคันทอร์) หากเราพิจารณาชุดของ (บวก) reals เป็นชุดย่อยของธรรมชาติ (โปรดทราบว่าเราไม่ต้องการตัวเลขที่จะได้รับคำสั่งสำหรับการทำงานมันแค่ทำให้การนำเสนอง่ายขึ้น) และอ้างว่ามีการปฏิเสธจากธรรมชาติถึง reals จากนั้นเราสามารถสร้างองค์ประกอบของชุดพลังงาน (เช่นของจริง) ที่ไม่ได้อยู่ในภาพของการทะเลาะ (และจากนี้เป็นผลมาจากความขัดแย้ง) โดยใช้องค์ประกอบนี้เป็นชุดของธรรมชาติที่ไม่ได้อยู่ในตัวเอง ภาพภายใต้การปฏิเสธ เมื่อเราพูดแบบนี้


2
ใช่ดูเหมือนว่าจุดทัวริงทั้งหมดคือการสร้างหนังสือเวียน (จากที่มาในแนวทแยงมุม) โดยใช้เครื่องจักรเพื่อแนะนำแนวคิดที่เป็นนามธรรมของเวลาซึ่งจะพูดถึงความละเอียดอ่อนในรูปแบบใหม่
André Souza Lemos

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

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

@babou ฉันคิดว่าปัญหาที่นี่คือเรากำลังตอบคำถามที่แตกต่างกัน OP ไม่ได้เป็นประโยคที่ดีในเรื่องนั้นฉันเดา คำถามซ้ำ ๆ ในร่างกายของ OP ดูเหมือนว่าฉันจะเป็น "ใครบางคนเคยคิดว่าการโต้เถียง diagonalisation เพื่อพิสูจน์ ... " (ถอดความแน่นอน) และ "กองกำลังที่ดูเหมือนจะดึงออกมาจากหมวกวิเศษ" .
ลุคมาททีสัน

@babou เพื่ออธิบายรายละเอียดเล็ก ๆ น้อย ๆ ด้วยแป้นพิมพ์ที่เหมาะสมฉันไม่คิดว่าวิธีใดวิธีหนึ่งนั้นเป็นประโยชน์อย่างมากในการสอน (ขึ้นอยู่กับบริบท) ในความเป็นจริงสำหรับหลักสูตร CS สมัยใหม่ส่วนใหญ่น่าจะดีกว่าถ้าไม่มีอาร์กิวเมนต์ diagonalisation นักเรียน CS ส่วนใหญ่ก็ไม่ได้มีความรู้ทางคณิตศาสตร์เพียงพอที่จะรู้พื้นฐานที่จะทำให้เข้าใจง่ายขึ้น แต่ฉันก็ตอบ คำถามที่จบเนื้อความเดิม ...
ลุค Mathieson

9

การสมัครด้วยตนเองไม่ใช่ส่วนผสมที่จำเป็นในการพิสูจน์

โดยสังเขป

หากมีเครื่องทัวริงที่แก้ปัญหาการหยุดชะงักจากเครื่องนั้นเราสามารถสร้างเครื่องทัวริงLอีกอันที่มีพฤติกรรมการหยุด (ฟังก์ชันการหยุดทำงาน) ซึ่งไม่สามารถหยุดการทำงานของเครื่องทัวริงได้HL

บุคคลที่ผิดธรรมดาที่สร้างขึ้นในฟังก์ชันที่ประยุกต์ใช้ด้วยตนเอง (เรียกว่าLในคำตอบนี้ - ขออภัยเกี่ยวกับสัญกรณ์ที่ไม่สอดคล้องกัน) ไม่ใช่องค์ประกอบที่จำเป็นของการพิสูจน์ แต่อุปกรณ์ที่ใช้งานได้กับการสร้างความขัดแย้งเฉพาะอย่างใดอย่างหนึ่ง วัตถุประสงค์ "ของการก่อสร้าง นั่นอาจเป็นเหตุผลว่าทำไมมันจึงไม่ง่ายDL

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

การประยุกต์ใช้กับตัวเองซึ่งใช้ในการพิสูจน์หลายครั้งเป็นวิธีการแสดงความขัดแย้ง แต่จะทำงานได้ก็ต่อเมื่อฟังก์ชันการหยุดการทำงานของคุณลักษณะที่เป็นไปไม่ได้นั้นถูกสร้างขึ้นจากเส้นทแยงมุมของรายการการหยุดการทำงานของคุณสมบัติทัวริงที่ได้รับอนุญาตโดยการหมุนเส้นทแยงมุมนี้ (การแลกเปลี่ยน0และ1 ) แต่มีวิธีอื่น ๆ อีกมากมายในการสร้างฟังก์ชั่นหยุดพักลักษณะใหม่ จากนั้นผู้ที่ไม่ใช่ทัวริงจะไม่สามารถพิสูจน์ได้ว่าเป็นคนโกหก (อย่างน้อยก็ไม่ใช่) การสร้างแอปพลิเคชันด้วยตนเองนั้นไม่ง่ายเพราะมันไม่จำเป็น แต่มันก็ดูลื่นเมื่อดึงหมวกวิเศษออกมาL01

โดยพื้นฐานแล้วไม่ใช่เครื่องทัวริงเพราะได้รับการออกแบบมาตั้งแต่แรกเริ่มที่จะมีพฤติกรรมการหยุดชะงักซึ่งไม่ใช่เครื่องทัวริงและสามารถแสดงได้โดยตรงมากขึ้นL

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

การวิเคราะห์รายละเอียดของหลักฐานอัน

ฉันจะไม่เป็นประวัติศาสตร์ (แต่ต้องขอบคุณคนที่ฉันชอบมัน) แต่ฉันแค่พยายามทำงานด้านที่เข้าใจง่าย

ฉันคิดว่างานนำเสนอที่ @vznซึ่งฉันพบมานานแล้ว (ฉันลืมไปแล้ว) จริง ๆ แล้วค่อนข้างง่ายและอธิบายชื่อเส้นทแยงมุมได้ ฉันกำลังทำซ้ำในรายละเอียดเท่านั้นเพราะฉันรู้สึกว่า @vzn ไม่เน้นความเรียบง่ายเพียงพอ

จุดประสงค์ของฉันคือการมีวิธีการที่ใช้งานง่ายในการรับการพิสูจน์โดยรู้ว่าคันทอร์ ปัญหาของการพิสูจน์หลายรุ่นคือสิ่งก่อสร้างดูเหมือนว่าจะถูกดึงออกมาจากหมวกวิเศษ

หลักฐานที่ฉันให้นั้นไม่ตรงกับในคำถาม แต่ถูกต้องเท่าที่ฉันเห็น หากฉันไม่ได้ทำผิดพลาดมันเป็นเรื่องง่ายพอที่ฉันจะเรียกคืนได้หลังจากผ่านไปหลายปีกว่าที่ฉันจะนับโดยทำงานกับปัญหาที่แตกต่างกันมาก

กรณีของชุดย่อยของ (คันทอร์)N

หลักฐานของต้นเสียงอนุมาน (มันเป็นเพียงสมมติฐาน) ที่มีการแจงนับของส่วนย่อยของจำนวนเต็มเพื่อให้ทุกส่วนย่อยเช่นสามารถอธิบายได้ด้วยฟังก์ชั่นลักษณะของซีเจ ( ฉัน)ซึ่งเป็น1ถ้า ฉันS Jและเป็น0มิฉะนั้นSjCj(i)1iSj0

นี่อาจถูกมองว่าเป็นตารางเช่นT [ i , j ] = C j ( i )TT[i,j]=Cj(i)

จากนั้นเมื่อพิจารณาในแนวทแยงเราสร้างฟังก์ชั่นที่มีลักษณะ เช่นนั้นD ( i ) = ¯ T [ i , i ]นั่นคือมันเหมือนกับเส้นทแยงมุมของตารางโดยที่ทุกบิตพลิกไปที่ค่าอื่นDD(i)=T[i,i]¯

ไม่มีอะไรพิเศษเกี่ยวกับเส้นทแยงมุมยกเว้นว่ามันเป็นวิธีที่ง่ายในการรับฟังก์ชั่นที่แตกต่างจากผู้อื่นทั้งหมดและนั่นคือทั้งหมดที่เราต้องการD

ดังนั้นชุดย่อยที่มีตัวอักษรไม่สามารถอยู่ในการแจงนับได้ นับได้ว่าจะเป็นจริงของการแจงนับใด ๆ ไม่สามารถมีการแจงนับว่าเนื้อหาย่อยทั้งหมดของNDN

คำถามนี้เป็นที่ยอมรับตามคำถามเบื้องต้นว่าค่อนข้างเข้าใจง่าย เราสามารถพิสูจน์ปัญหาการหยุดนิ่งได้ง่ายหรือไม่?

กรณีของปัญหาการหยุดชะงัก (ทัวริง)

เราคิดว่าเรามีการแจกแจงเครื่องทัวริง (ซึ่งเรารู้ว่าเป็นไปได้) พฤติกรรมลังเลของทัวริงเครื่องสามารถอธิบายได้ด้วยลักษณะของฟังก์ชั่นที่ลังเลH J ( ฉัน)ซึ่งเป็น1ถ้า M Jหยุดกับการป้อนข้อมูลที่ฉันและเป็น0มิฉะนั้นMjHj(i)1Mji0

นี่อาจถูกมองว่าเป็นตารางเช่นT [ i , j ] = H j ( i )TT[i,j]=Hj(i)

จากนั้นพิจารณาเส้นทแยงมุมเราจะสร้างฟังก์ชันการหยุดลักษณะ ซึ่งD ( i ) = ¯ T [ i , i ]คือมันเหมือนกับเส้นทแยงมุมของตารางโดยที่ทุกบิตพลิกไปที่ค่าอื่นDD(i)=T[i,i]¯

ไม่มีอะไรพิเศษเกี่ยวกับเส้นทแยงมุมยกเว้นว่ามันเป็นวิธีที่ง่ายในการรับฟังก์ชั่นการหยุดชะงักคุณสมบัติที่แตกต่างจากคนอื่น ๆ ทั้งหมดและนั่นคือทั้งหมดที่เราต้องการ (ดูหมายเหตุที่ด้านล่าง)D

ดังนั้นพฤติกรรมการหยุดชะงักที่โดดเด่นด้วยไม่สามารถเป็นได้จากเครื่องทัวริงในการแจงนับ เนื่องจากเราแจกแจงพวกเขาทั้งหมดเราจึงสรุปได้ว่าไม่มีการใช้เครื่องจักรทัวริงกับพฤติกรรมนั้นD

ไม่มี oracle ลังเลเพื่อให้ห่างไกลและไม่มีสมมติฐานการคำนวณ : เรารู้อะไรจากการคำนวณของและฟังก์ชั่นH JTHj

ทีนี้สมมติว่าเรามีเครื่องจักรทัวริงที่สามารถแก้ปัญหาการหยุดเช่นH ( i , j )หยุดกับH j ( i )เสมอHH(i,j)Hj(i)

เราต้องการพิสูจน์ว่าได้รับ , เราสามารถสร้างเครื่อง Lที่มีลักษณะลังเลฟังก์ชั่นD เครื่องจักร Lเกือบจะเหมือนกับ Hดังนั้น L ( i )เลียนแบบ H ( i , i )ยกเว้นว่าเมื่อใดก็ตามที่ H ( i , i )กำลังจะยุติด้วยค่า 1 , L ( i )จะเข้าสู่วงวนไม่สิ้นสุดและ ไม่ยุติHLDLHL(i)H(i,i)H(i,i)1L(i)

มันค่อนข้างชัดเจนว่าเราสามารถสร้างเช่นเครื่องถ้าH ที่มีอยู่ ดังนั้นเครื่องนี้ควรอยู่ในการแจงนับเริ่มต้นของ เครื่องทั้งหมด (ซึ่งเรารู้ว่าเป็นไปได้) แต่มันไม่สามารถเกิดขึ้นได้เนื่องจากพฤติกรรมการหยุดทำงานของD ไม่ตรงกับเครื่องที่ระบุ เครื่องLไม่มีอยู่ซึ่งหมายความว่าHไม่สามารถมีอยู่ได้LHDLH

ฉันตั้งใจเลียนแบบการพิสูจน์ครั้งแรกและลงรายละเอียดเล็ก ๆ น้อย ๆ

ความรู้สึกของฉันคือว่าขั้นตอนเกิดขึ้นตามธรรมชาติในลักษณะนี้โดยเฉพาะอย่างยิ่งเมื่อพิจารณาถึงหลักฐานของคันทอร์

คนแรกระบุการสร้างที่มีชื่อเสียง จากนั้นจะใช้เวลาและปรับเปลี่ยนเส้นทแยงมุมเป็นวิธีที่สะดวกในการสัมผัสทั้งหมดของพวกเขาเพื่อให้ได้รับพฤติกรรมที่ไม่จำเป็นจากนั้นได้รับความขัดแย้งโดยการแสดงวัตถุที่มี unaccounted สำหรับพฤติกรรม ... ถ้าสมมติฐานบางอย่างเป็นจริง: การดำรงอยู่ของ การแจงนับสำหรับคันทอร์และการดำรงอยู่ของ oracle หยุดการคำนวณสำหรับทัวริง

หมายเหตุ:ในการกำหนดฟังก์ชั่นเราสามารถแทนที่การพลิกทแยงในแนวดิ่งด้วยฟังก์ชั่นการหยุดชะงักลักษณะอื่น ๆ ซึ่งแตกต่างจากฟังก์ชั่นที่แสดงรายการในTที่คำนวณได้ (จากตัวอย่างที่แสดงในTเป็นต้น) . จากนั้นเครื่องL จะต้องถูกสร้างขึ้นตามที่จะมีการพัฒนาเป็นหน้าที่ลังเลลักษณะและL ( ฉัน)จะทำให้การใช้งานของเครื่องHแต่ไม่ได้เลียนแบบโดยตรงH ( ฉัน, ฉัน ) การเลือกเส้นทแยงมุมทำให้ง่ายขึ้นมากDTTLDL(i)HH(i,i)

เปรียบเทียบกับหลักฐาน "อื่น ๆ "

ฟังก์ชั่นกำหนดที่นี่เห็นได้ชัดว่าอะนาล็อกของฟังก์ชั่น Dในหลักฐานที่อธิบายไว้ในคำถามLD

เราสร้างมันขึ้นมาในแบบที่มันมีฟังก์ชั่นหยุดการทำงานลักษณะที่สอดคล้องกับไม่มีเครื่องทัวริงและได้รับความขัดแย้งโดยตรงจากที่ สิ่งนี้ทำให้เรามีอิสระที่จะไม่ใช้เส้นทแยงมุม (สำหรับสิ่งที่มีค่า)

แนวคิดของการพิสูจน์ "ปกติ" ดูเหมือนจะพยายามฆ่าสิ่งที่ฉันเห็นว่าเป็นปลาตาย มันบอกว่า: สมมติว่าเป็นหนึ่งในเครื่องที่ระบุไว้ (นั่นคือทั้งหมด) จากนั้นจะมีดัชนีj Lในการแจงนับว่า: L = M j Lจะวนซ้ำตามการก่อสร้าง ตรงกันข้ามถ้าL ( j LLjLL=MjL Lถ้าหยุดเรามี T [ j L , j L ] = H ( j L , j L ) = 1ดังนั้นL ( j L )L(jL)T[jL,jL]=H(jL,jL)=1L(jL)ไม่หยุดดังนั้น T [ j L , j L ] = H ( j L , j L ) = 0ดังนั้น L ( j L )จะหยุดโดยการก่อสร้าง ดังนั้นเราจึงมีความขัดแย้ง แต่ความขัดแย้งนั้นเป็นผลมาจากวิธีที่ฟังก์ชั่นหยุดการทำงานลักษณะเฉพาะของ Lและดูเหมือนว่าจะง่ายกว่ามากที่จะบอกว่า LL(jL)T[jL,jL]=H(jL,jL)=0L(jL)LL ไม่สามารถเป็นเครื่องทัวริงได้เนื่องจากมันถูกสร้างขึ้นเพื่อให้มีฟังก์ชั่นหยุดพักที่ไม่เหมือนของทัวริง

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


ดีมากขอบคุณ! ดูเหมือนว่าอย่างใดคุณสามารถไปรอบ ๆ สิ่งปลูกสร้างที่ใช้ด้วยตนเองที่ฉันพบว่ามีปัญหา ตอนนี้ฉันสงสัยว่าทำไมผู้คนถึงพบว่าจำเป็นในตอนแรก
user118967

@ user118967 ฉันพยายามเน้นว่าการใช้เส้นทแยงมุมนั้นไม่สำคัญจริงๆ สิ่งที่คุณต้องการคือการกำหนดฟังก์ชั่นการหยุดคุณสมบัติที่แตกต่างจากฟังก์ชั่นที่แสดงไว้ในตารางและคำนวณได้จากฟังก์ชั่นที่แสดงในรายการหากเรามี oracle หยุดทำงาน มีฟังก์ชั่นหยุดการทำงานลักษณะพิเศษมากมาย ตอนนี้ดูเหมือนจะไม่ปรากฏให้เห็นในการพิสูจน์ตามปกติและอาจเป็นไปได้ว่าโครงสร้างบางอย่างของการพิสูจน์นั้นดูเป็นเรื่องง่ายเพราะมันเหมือนกับการเลือกเส้นทแยงมุมในการพิสูจน์ข้างต้น มันง่ายเท่านั้นไม่จำเป็น
Babou

@ user118967 ฉันเพิ่มและแนะนำที่สรุปการวิเคราะห์หลักฐานต่าง ๆ มันเสริมการเปรียบเทียบระหว่างการพิสูจน์ (มีและไม่มีการประยุกต์ใช้ด้วยตนเอง) ที่ได้รับในที่สุด ฉันไม่รู้ว่าฉันทำไปโดยใช้การเยื้องตามที่ถาม:) (ฉันคิดว่ามันไม่ยุติธรรมที่จะพูดอย่างนั้น) แต่ฉันบอกใบ้ว่าจะทำอย่างไรกับเส้นทแยงมุมที่ชัดเจน และการพิสูจน์ไม่ได้ใช้แอปพลิเคชันด้วยตนเองซึ่งดูเหมือนว่าไม่จำเป็น แต่ดูเนียน ๆ หลอกให้ซ่อนสิ่งที่อาจดูเหมือนเป็นปัญหาที่สำคัญกว่าพฤติกรรมหยุดชะงัก
babou

@ user118967 เพื่อตอบความคิดเห็นแรกของคุณและหลังจากอ่านคำตอบที่ได้รับการโหวตมากที่สุดดูเหมือนว่าแรงจูงใจหลักคือลิงค์กับงานของ Russell และGödel ตอนนี้ฉันไม่รู้เลยว่ามันสำคัญจริง ๆ สำหรับจุดประสงค์นั้นหรือไม่และการสร้างแบบจำลองการใช้ตัวเองนั้นสามารถศึกษาได้เพื่อจุดประสงค์นี้อย่างแน่นอน แต่ฉันไม่เห็นประเด็นของการกำหนดให้กับทุกคน ยิ่งไปกว่านั้นการพิสูจน์โดยตรงมากขึ้นดูเหมือนจะใช้งานง่ายขึ้นและให้เครื่องมือในการวิเคราะห์เวอร์ชันการใช้งานด้วยตนเองต่อไป แล้วทำไม?
babou

ใช่ฉันมักจะเห็นด้วยกับคุณในเรื่องนั้น
user118967

8

นอกจากนี้ยังมีหลักฐานของความจริงข้อนี้ที่ใช้ความขัดแย้งที่แตกต่างกันนั่นคือความขัดแย้งของ Berry ซึ่งฉันได้ยินจาก Ran Raz

สมมติว่าปัญหาการหยุดทำงานคำนวณได้ ให้เป็นจำนวนธรรมชาติน้อยที่สุดที่ไม่สามารถคำนวณได้ด้วยโปรแกรมความยาว CB(n)n นั่นคือถ้า S ( n )เป็นชุดของจำนวนธรรมชาติคำนวณโดยโปรแกรม C ของความยาว nแล้ว B ( n )เป็นจำนวนธรรมชาติที่เล็กที่สุดไม่ได้อยู่ใน S ( n )nS(n)nB(n)S(n)

พิจารณาโปรแกรมต่อไปนี้:

  1. ไปกว่าโปรแกรม C ทั้งหมดของความยาวที่มากที่สุดnn

  2. สำหรับแต่ละโปรแกรมดังกล่าวตรวจสอบว่ามันหยุด; ถ้ามันไม่เพิ่มไปยังรายการที่LL

  3. การส่งออกจำนวนธรรมชาติครั้งแรกที่ไม่ได้อยู่ในLL

นี้เป็นโปรแกรมสำหรับการคำนวณ ) โปรแกรมนี้มีขนาดใหญ่เพียงใด การเข้ารหัสnใช้เวลาO ( บันทึกn )ตัวอักษรและส่วนที่เหลือของโปรแกรมไม่ขึ้นอยู่กับnดังนั้นในความยาวรวมเป็นO ( บันทึกn )กล่าวว่าที่มากที่สุดC บันทึก n เลือกNเพื่อให้C บันทึกN N จากนั้นโปรแกรมของเราซึ่งมีความยาวไม่เกินNจะคำนวณB ( N )ซึ่งขัดแย้งกับคำจำกัดความของB(n)nO(logn)nO(logn)ClognNClogNNNB(N) )B(N)

ความคิดเดียวกันสามารถใช้ในการพิสูจน์ของGödelทฤษฎีบทไม่สมบูรณ์ที่แสดงโดยKritchman และ Raz


บางทีมันอาจจะอยู่ในกระดาษที่ฉันอ้างถึงหรือในเอกสารประกอบคลาสสิกของ Kolmogorov Complexity โดย Li และVitányi
Yuval Filmus

คุณคิดว่าวิธีนี้ให้การโจมตีปัญหา NP vs CoNP หรือไม่?
Mohammad Al-Turkistany

ไม่ปัญหาดังกล่าวเกินกว่าเราในขณะนี้
Yuval Filmus

"และส่วนที่เหลือของโปรแกรมไม่ได้ขึ้นอยู่กับ " เพราะเหตุใด n
SK19

พารามิเตอร์ปรากฏเพียงครั้งเดียวในโปรแกรม การดำเนินการของโปรแกรมขึ้นอยู่กับnแต่nตัวเองเท่านั้นที่จะปรากฏขึ้นเมื่อในรหัสแหล่งที่มาของ nnn
Yuval Filmus

6

มีแนวคิดทั่วไปที่เกี่ยวข้องมากกว่าที่นี่เรียกว่า "ทฤษฎีการเรียกซ้ำ" ซึ่งอาจใช้งานง่ายกว่า: เครื่องทัวริงสามารถใช้คำอธิบายของพวกเขาเอง แม่นยำยิ่งขึ้นมีทฤษฎีบท:

สำหรับเครื่องทัวริงใด ๆ ที่Tมีเครื่องทัวริงที่คำนวณRR(x) = T(R;x)

หากเรามีเครื่องทัวริงที่สามารถแก้ปัญหาการหยุดชะงักจากนั้นใช้ความคิดที่อธิบายไว้ข้างต้นเราสามารถสร้างเครื่องจักรทัวริง "โกหก" ที่หลากหลายได้อย่างง่ายดาย: เช่นในสัญลักษณ์คล้ายงูหลาม

def liar():
    if halts(liar):
        return not liar()
        # or we could do an infinite loop
    else:
        return True

อาร์กิวเมนต์ที่ซับซ้อนกว่านั้นก็คือพยายามที่จะทำสิ่งนี้โดยตรงโดยไม่สนใจทฤษฎีการเรียกซ้ำ นั่นคือมันเป็นการทำซ้ำสูตรสำหรับการสร้างฟังก์ชั่น "อ้างอิงตนเอง" เช่นได้รับเครื่องทัวริงTนี่เป็นสูตรหนึ่งในการสร้างความRพึงพอใจ

R(x) = T(R; x)

ก่อนกำหนด

S(M; x) = T(M(M; -); x)

โดยที่M(M; -)สิ่งที่ฉันหมายความว่าจริงๆคือการที่เราคำนวณ (ใช้คำอธิบายของM) และปลั๊กในรายละเอียดของเครื่องทัวริงว่าในการป้อนข้อมูลประเมินyM(M; y)

ตอนนี้เราสังเกตว่าถ้าเราเสียบSเข้าไปเอง

S(S; x) = T(S(S; -); x)

เราได้รับการทำซ้ำที่เราต้องการ ดังนั้นหากเราตั้งไว้

R = S(S; -)

จากนั้นเรามี

R(x) = T(R; x)

ตามที่ต้องการ


ย่อหน้าแรกไม่ตรงกับทฤษฎีบทที่คุณอ้างถึงซึ่งฉันรู้จักด้วยชื่อของทฤษฎีบท smn
Raphael

@ ราฟาเอล: มันเรียกว่าทฤษฎีบทการสอบถามซ้ำในหนังสือเรียนของฉัน :( ความพยายามสั้น ๆ ของฉันที่ google ล้มเหลวในการเปิดใช้ชื่ออื่น

ไม่ต้องห่วง; บางทีฉันเข้าใจคุณผิดหรือมีชื่อแตกต่างกันในสิ่งเดียวกัน ที่กล่าวว่าประโยคของคุณ "เครื่องทัวริงสามารถใช้คำอธิบายของตัวเอง" ไม่ได้รับการสนับสนุนโดยทฤษฎีบทที่คุณพูด ในความเป็นจริงฉันคิดว่ามันผิด: ถ้าฟังก์ชั่นที่ TM คำนวณขึ้นอยู่กับดัชนีของมันสิ่งที่ TMs จำนวนมากทั้งหมดที่คำนวณฟังก์ชั่นเดียวกันจะมีลักษณะอย่างไร
Raphael

TliarTruenot liar()False

TRR(x)=T(R;x)TRR(x)=T(R;x)

5

ทัวริงพิสูจน์ค่อนข้างคล้ายกับคันทอร์พิสูจน์ว่า cardinality ของ reals ("นับไม่ได้") มีขนาดใหญ่กว่า cardinality ของ rationals ("นับได้") เพราะพวกเขาไม่สามารถใส่ 1-1 จดหมาย แต่นี่ไม่ใช่ข้อสังเกต / เน้นใน มีการอ้างอิงจำนวนมาก (ไม่มีใครทราบบ้าง) (iirc) ศาสตราจารย์ CS เคยปรากฏตัวเมื่อหลายปีก่อนในชั้นเรียน (ไม่แน่ใจว่าเขาไปรับเองที่ไหน) ในการพิสูจน์ Cantors หนึ่งสามารถจินตนาการตารางที่มีมิติแนวนอนn THหลักของจำนวนและมิติแนวตั้งn THจำนวนของชุด

ทัวริงก่อสร้างหลักฐานลังเลค่อนข้างคล้ายยกเว้นว่าเนื้อหาของตารางที่มีการหยุด / Nonhalt สำหรับ 1/0 แทนและแกนนอนคือn THการป้อนข้อมูลและแกนแนวตั้ง n THโปรแกรมคอมพิวเตอร์ ในคำอื่น ๆ รวมกันของโปรแกรมคอมพิวเตอร์และปัจจัยการผลิตที่มีนับ แต่อนันต์ตาราง / อาร์เรย์นับไม่ได้อยู่บนพื้นฐานของการก่อสร้างจำลองเครื่องสากลที่สามารถ "พลิก" แล้วลังเลที่จะเป็นกรณี nonhalting สมมติว่าเครื่องตรวจจับลังเลอยู่ (เพราะฉะนั้นabsurdam โฆษณา reductio ) .

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


ภาคผนวกมีวิธีที่ "ใช้งานง่าย" อย่างแท้จริงในการดูความเด็ดเดี่ยว แต่ต้องใช้คณิตศาสตร์ที่สูงกว่ามากในการเข้าใจ นักคณิตศาสตร์จะพิจารณาปัญหาการหยุดชะงักและ godels thm พิสูจน์เหมือนกันผ่านทฤษฎีบทจุดคงที่ Lawvere แต่นี่เป็นความจริงขั้นสูงไม่สามารถเข้าถึงได้มากถึงปริญญาตรี "ยัง" เห็นปัญหาการหยุดทำงานเซตที่ไม่สามารถคำนวณได้ปัญหาทางคณิตศาสตร์ทั่วไปหรือไม่ ทฤษฎีวิทยาการคอมพิวเตอร์และเชื่อมโยงโพสต์สำหรับผู้อ้างอิง
vzn

3

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

โพสต์ได้รับแรงบันดาลใจจากการพิจารณาทางปรัชญาอย่างมากนั่นคือข้อ จำกัดทางทฤษฎีของความสามารถของมนุษย์ในการคำนวณหรือแม้แต่ได้คำตอบที่แม่นยำในลักษณะที่สอดคล้องกัน เขาคิดค้นระบบซึ่งปัจจุบันเรียกว่าระบบโพสต์แบบบัญญัติโดยมีรายละเอียดที่ไม่สำคัญซึ่งเขาอ้างว่าสามารถนำมาใช้ในการแก้ปัญหาใด ๆ ที่จะสามารถแก้ไขได้โดยการจัดการ soely ของสัญลักษณ์ ที่น่าสนใจเขาคิดอย่างชัดเจนว่าสภาวะจิตใจเป็นส่วนหนึ่งของ "ความทรงจำ" อย่างชัดเจนดังนั้นจึงเป็นไปได้ว่าอย่างน้อยเขาก็คิดว่ารูปแบบการคำนวณของเขาเป็นแบบอย่างของความคิดของมนุษย์อย่างครบถ้วน

Entscheidungsproblem พิจารณาความเป็นไปได้ของการใช้วิธีการดังกล่าวของการคำนวณที่จะพูดว่าตรวจสอบ theoremhood ของแสดงออกเรื่องใด ๆ ในระบบของที่Principia Mathematica แต่ PM นั้นเป็นระบบที่ออกแบบมาอย่างชัดเจนเพื่อให้สามารถแสดงเหตุผลทางคณิตศาสตร์ทั้งหมดและโดยการขยาย (อย่างน้อยตอนนั้นเมื่อLogicismยังคงอยู่ในสมัย) เหตุผลทั้งหมดของมนุษย์!

ดังนั้นจึงไม่แปลกใจมากที่จะหันความสนใจของระบบดังกล่าวไปสู่ระบบบัญญัติของตัวเองเช่นเดียวกับจิตใจมนุษย์ผ่านการทำงานของ Frege, Russel และ logicians แห่งการเปลี่ยนของศตวรรษได้หันมาสนใจคณะเหตุผล ของจิตใจมนุษย์เอง

ดังนั้นจึงเป็นที่ชัดเจน ณ จุดนี้การอ้างอิงตนเองหรือความสามารถของระบบในการอธิบายตัวเองเป็นเรื่องที่ค่อนข้างเป็นธรรมชาติในช่วงต้นทศวรรษ 1930 ในความเป็นจริง David Hilbert หวังที่จะ "bootstrap" การใช้เหตุผลทางคณิตศาสตร์ด้วยการให้คำอธิบายอย่างเป็นทางการของคณิตศาสตร์มนุษย์ทั้งหมดซึ่งจะสามารถพิสูจน์ได้ทางคณิตศาสตร์เพื่อให้สอดคล้องกัน!

เมื่อขั้นตอนของการใช้ระบบอย่างเป็นทางการเพื่อให้เหตุผลเกี่ยวกับตัวเองก็คือการกระโดดและข้ามไปจากความขัดแย้งแบบอ้างอิงตัวเองปกติ (ซึ่งมีประวัติเก่าสวย )

เนื่องจากข้อความทั้งหมดในปรินชิเปียถูกสันนิษฐานว่าเป็น "ความจริง" ในบางแง่มุมเลื่อนลอยและปรินชิเปียสามารถแสดง

โปรแกรมpส่งคืนผลลัพธ์trueเมื่ออินพุตn

ถ้าโปรแกรมมีอยู่เพื่อตัดสินใจทฤษฎีบททั้งหมดในระบบนั้นมันค่อนข้างง่ายที่จะแสดงความขัดแย้งโดยตรงของคนโกหก:

โปรแกรมนี้อยู่เสมอ

สามารถแสดงโดย

โปรแกรมpจะส่งคืนสิ่งที่ตรงกันข้ามในสิ่งที่นักคณิตศาสตร์บอกว่าpจะกลับมา

pความยากลำบากคือการสร้างโปรแกรม แต่ ณ จุดนี้มันค่อนข้างธรรมดาที่จะพิจารณาประโยคทั่วไป

โปรแกรมpจะคืนค่าตรงกันข้ามกับที่ PM บอกว่าqจะกลับมาเสมอ

qสำหรับพลบางส่วน แต่มันก็ง่ายที่จะสร้างp(q)ตามที่กำหนดq! เพียงคำนวณสิ่งที่ PM ทำนายว่าจะส่งออกและกลับคำตอบที่ตรงกันข้าม เราไม่สามารถแทนที่qโดยpณ จุดนี้เนื่องจากpใช้qเป็นอินพุตและqไม่ (ไม่ใช้อินพุต) ลองเปลี่ยนประโยคของเราเพื่อที่p จะป้อนข้อมูลใช้:

โปรแกรมpจะส่งคืนตรงกันข้ามกับที่ PM บอกว่าq(r)จะกลับมา

หาเรื่อง! แต่ตอนนี้pรับอินพุต 2 ชิ้น: qและrในขณะที่รับqเพียง 1 แต่เดี๋ยวก่อน: เราต้องการpทั้งสองที่ต่อไปดังนั้นจึงrไม่ใช่ข้อมูลใหม่แต่เป็นข้อมูลชิ้นเดียวกันอีกครั้งนั่นคือq! นี่คือการสังเกตที่สำคัญ

ดังนั้นเราจึงได้

โปรแกรมpจะส่งคืนตรงกันข้ามกับที่ PM บอกว่าq(q)จะกลับมา

เราจะลืมเรื่องธุรกิจ "PM พูด" ที่งี่เง่าและเราได้

โปรแกรมp(q)ส่งกลับตรงข้ามของสิ่งที่q(q)จะกลับมา

นี้เป็นโปรแกรมที่ถูกต้องตามกฎหมายมีให้เรามีโปรแกรมที่มักจะบอกเราว่าสิ่งที่q(q)ผลตอบแทน แต่ตอนนี้ที่เรามีโปรแกรมของเราp(q)เราสามารถแทนที่qโดยpและได้รับความขัดแย้งโกหกของเรา

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