SAT oracle จะช่วยเร่งความเร็วอัลกอริธึมเวลาแบบพหุนามมากแค่ไหน


23

การเข้าถึง oracle จะช่วยเพิ่มความเร็วในพหุนามที่สำคัญสำหรับทุกสิ่งในN P - P (สมมติว่าเซตไม่ว่างเปล่า) มันมีความชัดเจนน้อยกว่าอย่างไรก็ตามPจะได้ประโยชน์อย่างไรจากการเข้าถึง oracle นี้ แน่นอนการเพิ่มความเร็วในPไม่สามารถเป็นซุปเปอร์พหุนามได้ แต่มันยังสามารถเป็นพหุนามได้ ตัวอย่างเช่นเราสามารถหาเส้นทางที่สั้นที่สุดได้เร็วขึ้นด้วยOracle S A Tมากกว่าที่ไม่มีหรือไม่? งานที่ซับซ้อนมากขึ้นเช่นการลดฟังก์ชั่น submodular หรือการโปรแกรมเชิงเส้น? พวกเขา (หรือปัญหาทางธรรมชาติอื่น ๆ ในP ) จะได้ประโยชน์จากS A T หรือไม่SATNPPPPSATPSAT oracle?

โดยทั่วไปถ้าเราสามารถเลือกปัญหาใด ๆ ในและใช้ oracle สำหรับมันแล้วปัญหาใดในP ที่สามารถเห็นความเร็วได้NPPP


2
oracle เร็วแค่ไหน? หากใช้เวลาอาจมีปัญหาเพิ่มมากขึ้นกว่าถ้าใช้เวลาO ( s 5 )โดยที่sคือขนาดของสูตร SAT O(s)O(s5)s
Peter Shor

2
@PeterShor ฉันคิดว่า oracle เมื่อได้รับสูตร SAT เป็นแบบสอบถามให้ส่งคืนคำตอบใช่หรือไม่แสดงว่าสูตรนั้นเป็นที่พอใจหรือไม่ในขั้นตอนเดียว (เวลาคงที่) นี่เป็นอิสระจากขนาดสูตร แน่นอนว่าต้องมีการสร้างสูตรเพื่อสอบถาม เวลาในการก่อสร้างนี้ไม่ขึ้นอยู่กับขนาดของสูตรและยังขึ้นอยู่กับปัญหาที่ต้องสอบถามสูตรด้วย แต่เมื่อสูตรถูกสร้างขึ้นการรับคำตอบจะถูกนับเป็นขั้นตอนเดียวสำหรับสูตรใด ๆ
Andras Farago

3
ถ้าแทนที่จะเป็นออราเคิล SAT คุณอนุญาตให้ออราเคิลมันสามารถใช้หาวงจรน้อยที่สุดสำหรับปัญหาใด ๆ นี่จะให้ค่าตัดจำหน่ายที่เหมาะสมเกือบที่สุดสำหรับปัญหาใด ๆ (สาเหตุที่เป็นค่าตัดจำหน่ายเพียงอย่างเดียวคือถ้าคุณใช้เพียงครั้งเดียวขนาดของสูตรΣ 2 S A T ที่คุณจดไว้เป็นหลักของโพลีไทม์ดั้งเดิมของคุณ อัลกอริทึม - แต่หลังจากขั้นตอนนั้นคุณจะมีวงจรที่เหมาะสมสำหรับอินสแตนซ์ทั้งหมดที่มีขนาดn ) Σ2SATΣ2SATn
Joshua Grochow

@JoshuaGrochow ความคิดเห็นของคุณน่าสนใจมาก! มันจะเป็นการดีถ้าได้เห็นมันเป็นคำตอบพร้อมรายละเอียดเพิ่มเติม
Andras Farago

คำตอบ:


15

อันที่จริงการยอมรับของทัวริงเครื่องจักร nondeterministic ในเวลาคือO ( t log t ) - เวลาลดลงถึง SAT (การก่อสร้างคือผ่านการจำลองแบบลืมเลือน, ดู Arora-Barak) ดังนั้นโดยทั่วไปเวลาใด ๆ ที่ nondeterministic เราจะเห็นการเร่งความเร็วอย่างน้อยด้วยออราเคิล SATtO(tlogt)

เพื่อให้เป็นรูปธรรมมากขึ้นการทดสอบแบบดั้งเดิมจะคำนึงถึงเมื่อตัวแปรที่ดีที่สุดของอัลกอริทึม AKS ปรากฏขึ้นเพื่อทดสอบความเป็นอันดับหนึ่งของจำนวน bit ในเวลาO ( n 6n ) แต่ถ้าเราไป "โรงเรียนเก่า" แพรตต์ให้ nondeterministic TM เพื่อตัดสินใจดั้งเดิมในเวลา O ( n 3)O(n6polylogn) ) การยอมรับของเครื่องนี้สามารถลดลง (กำหนดขึ้น) ใน O ( n 3)O(n3polylogn)เวลาไปยังอินสแตนซ์ SATO(n3polylogn)

ปัญหา 3SUM อาจเป็นอีกตัวอย่างหนึ่งเนื่องจากดูเหมือนว่าเราสามารถคาดเดาวิธีแก้ปัญหาและตรวจสอบในเวลา subquadratic จากนั้นการยอมรับของเครื่องดังกล่าวจะลดลงเป็น SAT ในเวลา subquadratic


7

โดยทั่วไปถ้าเราสามารถเลือกปัญหาใด ๆ ใน NP − P และใช้ oracle สำหรับมันแล้วปัญหาใดใน P ที่สามารถเห็นความเร็วได้

คำถามนี้ได้รับโดยตรงมากขึ้นในการเป็นตัวแทนและเวลาที่จำเป็นในการลดปัญหาหนึ่งไปยังอีก ....

คำตอบหลักที่ฉันมีอยู่ในใจคือoracle การเขียนโปรแกรมเชิงเส้น / เชิงเส้น เวอร์ชันการตัดสินใจของปัญหานั้นคือ NP-complete มี "การลดลง" เล็กน้อยจากการเขียนโปรแกรมเชิงเส้นเนื่องจากเป็นกรณีพิเศษ แต่ oracle สำหรับการเขียนโปรแกรมเชิงเส้นเพียงอย่างเดียว (ปล่อยให้เป็นอิสระจาก ILP) ช่วยเร่งความเร็วให้กับปัญหามากมายที่สามารถแก้ไขได้ทันทีโดยการเขียนโปรแกรมเชิงเส้น พวกเขาสามารถลดลงได้ในเวลาเชิงเส้นโดยการเขียนปัญหาเป็น LP ตัวอย่างเช่นเส้นทางที่สั้นที่สุดและปัญหาการไหลอื่น ๆ การจับคู่

แต่ฉันไม่คิดว่า ILP เป็นวิธีเดียวเท่านั้นอาจเป็นไปได้ว่าผู้คนไม่ได้คิดมากเช่นการลดเส้นทางที่สั้นที่สุดไปยัง TSP หรืออื่น ๆ


3

SATΣ2SATPΣ2SATn.


NPNPNPPNPNPNPPHPPNPNPNP

1
PPH

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