การใช้ oracle ทัวริงเครื่องไม่นำไปสู่ความขัดแย้งได้อย่างไร?


9

เราจะมั่นใจได้อย่างไรว่าเรายังคงสร้างคำแถลงที่ถูกต้องและแม่นยำเกี่ยวกับคลาสความซับซ้อนเมื่อใช้ oracle Turing Machines ตามความเข้าใจของฉัน (ตามคำจำกัดความที่ให้ไว้ในตำราเรียนเบื้องต้นในเรื่อง) oracle เครื่องจักรทัวริงสามารถกำหนดสถานะการเป็นสมาชิกของสตริงที่เกี่ยวกับภาษา oracle ในขั้นตอนการคำนวณเดียว อย่างไรก็ตามภาษา oracle ที่ใช้บ่อยนั้นเป็นไปไม่ได้ที่จะแก้ไขในเวลาที่แน่นอน (ยกตัวอย่างเช่น oracle ที่สมบูรณ์แบบ EXPTIME) สำหรับฉันดูเหมือนว่า "การเปิดประตู" เพื่อความขัดแย้งและหลังจากทั้งหมดมีอะไรตามมาจากความขัดแย้ง


2
หาก oracle "จริงๆ" ใช้เวลานั่นก็เป็นเพียงปัจจัยสำหรับรันไทม์ของเครื่องทั้งหมด สมมติว่าค่าใช้จ่ายคงที่ (เช่นนับความถี่ที่คุณต้องการพยากรณ์) ทำให้ง่ายต่อการเปรียบเทียบอัลกอริธึมที่ใช้ oracle (คำถามหากผลลัพธ์ที่ได้มีความเกี่ยวข้องใด ๆ ในความเป็นจริงคือสิ่งที่คุณต้องเผชิญและ / หรือเพิกเฉยต่อ TCS เสมอ)T
Raphael

@ ราฟาเอลโดย "คุณ" ในความคิดเห็นเกี่ยวกับผู้ปกครองหมายถึงนักทฤษฎีที่ซับซ้อนโดยทั่วไปหรือฉันโดยเฉพาะอย่างยิ่ง?
Ari

อดีต. ทั้งสองวิธี
ราฟาเอล

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

คำตอบ:


8

มีหลายวิธีในการดูสิ่งนี้

สิ่งหนึ่งคือในการพิสูจน์ความหมายก็เหมือนกับฟังก์ชั่นที่ใช้เป็นหลักฐานในการพิสูจน์บางสิ่งบางอย่างและเอาท์พุทการพิสูจน์อย่างอื่น

เราสามารถเขียนฟังก์ชั่นที่ทำงานกับค่าที่เราไม่มี

ยกตัวอย่างเช่นขอพิจารณาจำนวนลังเลซึ่งไม่ได้คำนวณ ฉันสามารถเขียนฟังก์ชั่นh

haltingPlusOne:{h}N

haltingPlusOne(x)=x+11

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

ฉันเห็นหลักฐานที่มี oracles เหมือนกัน โดยทั่วไปแล้วพวกมันเป็นฟังก์ชันที่บอกว่าให้เครื่องทัวริงที่แก้ปัญหาแล้วและฉันจะเอาท์พุทเป็นบทพิสูจน์ทฤษฎีบทบางอย่างX

สิ่งสำคัญคือต้องตระหนักว่าเมื่อเราพูดบางอย่างเช่น "ไม่มีเครื่องทัวริงที่สามารถตัดสินปัญหาการหยุดชะงัก" ที่กล่าวว่าไม่มี TM ที่ตรงกับคำจำกัดความมาตรฐานของ TM ที่ตัดสินปัญหาการหยุดชะงัก

oracle กล่าวโดยทั่วไปว่า "สมมติว่าเรามี TM ที่ตรงกับคำนิยามปกติยกเว้นว่าเราสามารถแก้ปัญหาได้" ดังนั้นจึงไม่มีความขัดแย้งเนื่องจากเราไม่ได้สมมติว่ามี TM ปกติที่รับปัญหาเรากำลังสมมติว่ามี TM พิเศษที่รับปัญหา

ในการเปรียบเทียบที่ไม่เป็นทางการให้คิดแบบนี้ ถ้าฉันสามารถพิสูจน์ให้คุณเห็นว่าไม่มีมนุษย์คนใดที่ไม่มีพลังวิเศษสามารถบินได้ไม่มีความขัดแย้งที่บอกว่ามีซุปเปอร์ฮีโร่ที่สามารถบินได้

ออราเคิลเหล่านี้เป็นวัตถุทางตรรกะอย่างแท้จริง เราไม่รู้วิธีสร้างเครื่องจักรทางกายภาพที่เลียนแบบพวกเขาวิธีที่เราสามารถทำได้ด้วยเครื่องจักรทัวริง แต่เท่าที่เราทราบไม่มีความขัดแย้งโดยธรรมชาติระหว่างคำจำกัดความของพวกเขาและสัจพจน์พื้นฐานของเรา ในฐานะที่เป็นวัตถุตรรกะ, oracles เหล่านี้มีอยู่จริง เรารู้ว่าพวกเขาไม่ใช่เครื่องทัวริงมาตรฐานหรือคำศัพท์แลมบ์ดา - แคลคูลัสหรือฟังก์ชั่นแบบเรียกซ้ำบางส่วน วิทยานิพนธ์ของโบสถ์ทัวริงกล่าวว่าไม่มีแบบจำลองที่ทรงพลังมากนัก แต่มันไม่ใช่ทฤษฎี แต่เป็นเพียงการคาดเดาและไม่เป็นทางการเกินกว่าที่จะพิสูจน์ได้จริงๆ


ฉันเห็นด้วยกับ / เข้าใจคำตอบของคุณ แต่จนถึงจุดหนึ่ง: ตัวอย่างเช่นฉันเห็นว่าฟังก์ชัน haltingPlusOne ของคุณได้รับการกำหนดไว้อย่างดี แต่ไม่เห็นว่าเราจะสามารถสรุปข้อสรุปที่มีความหมายใด ๆ จากออราเคิลได้อย่างไร "if" คำสั่งของคำสั่งที่ผิดพลาดและไปถึงข้อสรุปใด ๆ เช่น "ถ้าสำหรับจำนวนธรรมชาติทั้งหมดแล้วมีจำนวนธรรมชาติเพียงหนึ่งเดียว" n+1=nn1
Ari

1
สิ่งนั้นคือข้อความไม่ได้เป็นเท็จเราก็ไม่สามารถสร้างมันได้ กุญแจสำคัญคือออราเคิลไม่ได้เป็นเครื่องทัวริงมันไม่ได้หมายความว่ามันไม่มีอยู่
jmite

"ค้นหาอินพุตที่ถูกต้อง" "ค้นหาเอาต์พุตที่ถูกต้อง"?

2

ฉันจะบอกว่ามันเป็นคุณสมบัติที่สำคัญของ oracle TM ที่พวกเขาสามารถเข้าถึง oracle ที่ยากต่อการแก้ไข หากคุณสามารถตัดสินใจ oracle ในเวลาคงแล้วทุกระดับคุณจะมีอรรถเป็น เหตุใดจึงต้องมีคำพยากรณ์ทั้งหมดในกรณีนี้?ABB=BA

แล้วจุดประสงค์ในการใช้ oracle TM คืออะไร? ฉันจะบอกว่ามันช่วยให้เราพิจารณาในเชิงทฤษฎีเป็นหลักเกี่ยวกับ (ระดับของ) ความแข็งของปัญหา oracle สามารถบอกไม่ได้ ในกรณีนี้คุณสามารถกำหนดลำดับชั้นของปัญหา undecidable (ระดับทัวริง) แน่นอนถ้า oracle ของคุณเป็นปัญหาการหยุดชะงักคุณไม่สามารถแปลง oracle TM ของคุณเป็น TM ดั้งเดิมได้

oracle TM ยังมีความสำคัญในการกำหนดรูปแบบการลดที่แข็งแกร่ง (Turing Reduction)

โปรดทราบว่าแรงจูงใจที่มากขึ้นของทฤษฎี oracle TM สามารถมีผลกระทบด้านนอกของโลก oracle คุณอาจรู้จัก vsผลลัพธ์PNP

ในฐานะที่เป็นคำพูดสุดท้ายทราบว่าในการสอบถาม oracle คุณต้องเขียนสตริงแบบสอบถามก่อนใน oracle เทป ดังนั้นคุณไม่สามารถตัดสินใจเป็นสมาชิกในเวลาคงที่ แต่ในเวลา.w|w|

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