ทำไม P = NP ถึง P = AP ไม่ได้ (เช่น P = PSPACE)


18

มันเป็นที่รู้จักกันดีว่าถ้าแล้วลำดับชั้นของพหุนามทรุดและ{}P=NPP=PH

สิ่งนี้สามารถเข้าใจได้โดยง่ายโดยใช้เครื่อง oracle คำถามคือ - ทำไมเราไม่สามารถดำเนินกระบวนการอุปนัยเกินกว่าระดับคงที่และพิสูจน์ (aka )?P=AltTime(nO(1))AP=PSPACE

ฉันกำลังมองหาคำตอบที่ใช้งานง่าย


1
ดูคำถามที่เกี่ยวข้องเพิ่มเติมcstheory.stackexchange.com/questions/2032/…และcstheory.stackexchange.com/questions/5463/…
András Salamon

4
เป็นที่รู้จักกันว่าNL=coNLแต่ก็เป็นที่น่าสงสัยว่าL (เช่นP ) ไม่เท่ากับN L ALPNL
sdcvvc

คำตอบ:


32

หลักฐานสำหรับP=AltTime(O(1)) ( =PH ) คือการเหนี่ยวนำโดยใช้P=NP P การเหนี่ยวนำแสดงให้เห็นว่าสำหรับจำนวน ธรรมชาติk , P=AltTime(k) (และAltTime(O(1)) เป็นเพียงสหภาพของพวกเขา)

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

ลองดูข้อความที่คล้ายกัน แต่ง่ายกว่ากัน เราต้องการที่จะแสดงให้เห็นว่าการทำงานของตัวตนในที่สุดก็ครอบงำฟังก์ชั่นอย่างต่อเนื่องทั้งหมด ( « กรัม IFF สำหรับทุกคน แต่หลายขีดn F ( n ) กรัม( n ) ) มันสามารถพิสูจน์ได้ว่าโดยการเหนี่ยวนำ สำหรับทุกk , k « n (เช่นk « ฉันวันที่k ( n ) = kid(n)=nfgn f(n)g(n)kknfkidfk(n)=kn2n2≪̸n


22

เปรียบเทียบลำดับชั้นพหุนามกับลำดับชั้นสำหรับการพิสูจน์เชิงโต้ตอบ ถ้าสำหรับk ที่ตายตัวบางตัวคุณมีk การสลับกันในการพิสูจน์แบบโต้ตอบ - IP ( k ) - ระดับความซับซ้อนที่เกิดขึ้นไม่มีอำนาจมากไปกว่าสิ่งที่คุณได้รับจากการสลับสองทาง - นั่นคือ IP ( k ) = IP (2) ) = AM (สมมติว่าk ≥2) อย่างไรก็ตามหากคุณอนุญาตให้มีการสลับจำนวนโพลิโนเมียลคุณจะได้รับระดับความซับซ้อนของ IP = PSPACE ซึ่งเชื่อว่าใหญ่กว่า AM มากคลาสจะมีอยู่ในΠ 2 P ที่ระดับที่สองของลำดับชั้นพหุนาม ดังนั้นปรากฏการณ์นี้จึงเกิดขึ้นจริง (แม้ว่าจะไม่เท่าที่เราทราบด้วยลำดับชั้นพหุนาม)

สิ่งนี้เกิดขึ้นเนื่องจากการลดลงซึ่งใช้ปัญหาขนาดnใน IP ( k ) และเปลี่ยนเป็นปัญหาใน IP (2) ทำให้ขนาดของปัญหาใหญ่ขึ้นดังนั้นในขณะที่ IP เฉพาะ ( k ) ปัญหาใด ๆยังคงเป็นขนาดพหุนาม ถ้าคุณให้kแตกต่างกันการลดลงส่งผลให้ไม่ให้ปัญหาที่เป็นพหุนามในk


11

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

v = 2
for(i=1 to n)
  v = v*v

จำนวนการวนซ้ำเป็นเส้นตรงและเอาต์พุตเป็นเลขชี้กำลัง แต่ถ้าคุณแก้ไข n มันก็คือพหุนามกับขนาดของค่าเริ่มต้น


4

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

ลองขยายP=NPมากกว่าจำนวนครั้งคงที่

สมมติว่าP=NP P ดังนั้นจึงมีไทม์แมชชีนพหุนามที่แก้ Ext-Circuit-SAT (มีส่วนขยายที่น่าพอใจสำหรับวงจรที่กำหนดและการกำหนดบางส่วนให้กับอินพุตหรือไม่)

อย่างเป็นทางการมากขึ้นเรามีอัลกอริทึมแบบ polytime Aพร้อมพหุนามเวลาทำงานp(n)poly(n) st

รับบูลีนวงจรφและการกำหนดค่าบางส่วนτให้กับอินพุท
Aจะคืนค่า "ใช่" ถ้ามีส่วนขยายของτที่สอดคล้องกับφและส่งคืน "ไม่"

เพื่อให้ผ่านช่วงเวลาคงที่เราต้องทำการกำจัดปริมาณอย่างมีประสิทธิภาพ เราสามารถทำสิ่งนี้ได้เพราะทฤษฎีบท Cook-Levin เป็นทฤษฎีที่สร้างสรรค์ในความเป็นจริงมันให้อัลกอริธึมเวลาพหุนามCook st

กำหนด DTM Mรับสองอินพุตและหมายเลขเอกภาพn , m , และt ,
Cook(M,n,m,t)ส่งคืนวงจรบูลีนขนาดO(t2)ที่จำลองMบนอินพุตของความยาว(n,m)สำหรับขั้นตอนt

ลองใช้สิ่งเหล่านี้เพื่อขยายการโต้แย้งสำหรับP=PHเพื่อให้ได้อัลกอริทึมที่แก้ปัญหา TQBF (อันที่จริงแล้ว TQBCircuit เช่นปัญหาวงจรบูลีนทั้งหมด

แนวคิดของอัลกอริทึมมีดังนี้: เราใช้CookบนAซ้ำ ๆเพื่อลบปริมาณออกจากวงจรเชิงปริมาณที่กำหนด มีจำนวนเชิงเส้นของปริมาณที่มีดังนั้นเราจึงหวังที่จะได้รับอัลกอริทึมเวลาพหุนาม (เรามีขั้นตอนวิธีการที่มีหลายขั้นตอน polynomially ใช้เวลาพหุนามย่อยCook ) ในตอนท้ายของกระบวนการกำจัดปริมาณเราจะมีวงจรที่ไม่มีปริมาณซึ่งสามารถประเมินได้ในเวลาพหุนาม (ปัญหาค่าวงจรเป็นP , ให้CVเป็นอัลกอริทึมเวลาพหุนามในการคำนวณค่าวงจรของวงจรที่กำหนด) .

อย่างไรก็ตามเราจะเห็นว่าความคิดนี้ไม่ได้ผล (ด้วยเหตุผลเดียวกันที่ชี้ให้เห็นโดยปีเตอร์)

  • ให้φเป็นวงจรเชิงปริมาณ (เริ่มต้นกับสูตรที่ให้ปริมาณแล้ว)
  • อนุญาตkจำนวนปริมาณในφφ
  • สำหรับiตั้งแต่kถึง1ทำ

    • ให้ψ = Qxkσ(x1,...,xk)เป็นปริมาณที่ผ่านมาและส่วนปริมาณฟรี
    • หากQ="" ,

      1. Compute C=Cook(A,|σ|,|x1|+...+|xk1|,p) ,
      2. แทนบิตการป้อนข้อมูลด้วยσในวงจรC ,
      3. แทนที่ψกับCในφ φ
    • หากQ="" ,

      1. พิจารณาψเป็น¬xk¬σ ,
      2. Compute C=Cook(A,|¬σ|,|x1|+...+|xk1|,p) ,
      3. แทนบิตการป้อนข้อมูลที่มี¬σในวงจรC ,
      4. แทนที่ψกับ¬Cในφφ
  • Compute และผลตอบแทนCV(φ) )

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

การใช้รูทีนย่อยเวลาพหุนามในอัลกอริทึมเวลาพหุนามคือเวลาพหุนาม ปัญหาคือโดยทั่วไปสิ่งนี้ไม่จำเป็นต้องเป็นจริงหากค่าที่ส่งคืนโดยรูทีนย่อยไม่ได้มีขนาดพหุนามในอินพุตดั้งเดิมและเราถือว่าเราทำการมอบหมายเกี่ยวกับค่าที่ส่งคืนจากรูทีนย่อย (ในโมเดล TM เราต้องอ่านผลลัพธ์ของรูทีนย่อยเวลาพหุนามใด ๆ ทีละบิต) นี่ขนาดของค่าที่ส่งคืนจากอัลกอริทึมCookกำลังเพิ่มขึ้น (อาจเป็นขนาดกำลังไฟฟ้าของอินพุตที่ป้อน พลังงานที่แน่นอนขึ้นอยู่กับเวลาในการทำงานของAและประมาณp2(|input|)ดังนั้นตั้งแต่เรารู้ว่าไม่สามารถจะน้อยกว่าเส้นเวลา| o u t p u t | อย่างน้อยก็คือ| ฉันn p u t | 2 )A|output||input|2

ปัญหาคล้ายกับรหัสง่าย ๆ ด้านล่าง:

  • ได้รับx ,
  • ให้n=|x|,
  • Let y=x ,
  • สำหรับiตั้งแต่1ถึงnทำ
    • ปล่อยให้y=y|y|, (เรียงต่อกันคือ|y|สำเนาของy )
  • ส่งคืน y

ทุกครั้งที่เราดำเนินการy=y|y|เราตารางขนาดของปีyหลังจากการประมวลผลnเราจะมีyซึ่งคือx2nและมีขนาดn2nแน่นอนว่าไม่ใช่พหุนามในขนาดของอินพุต

สมมติว่าเราพิจารณาเฉพาะสูตรเชิงปริมาณด้วยการสลับปริมาณ quantifier k(n) (โดยที่nคือขนาดรวมของสูตรเชิงปริมาณ)

สมมติว่าวิ่งในเวลาพี (เช่นเส้นตรงเวลาที่ไม่ได้ตัดออกเพื่อให้ห่างไกล) และมีอาจจะมีประสิทธิภาพมากขึ้นC o o kอัลกอริทึม outputting วงจรขนาดเล็กขนาดL ( T )ในสถานที่ของที2แล้วที่เราได้รับ อัลกอริทึมสำหรับ ExtCircuitSat ที่ทำงานในเวลา( l p ) O ( k ) ( n ) = l ( p ( l ( p ( ( l ( p )ApCookl(t)t2(lp)O(k)(n)=l(p(l(p((l(p(n)))))))O(k) compositionsองค์ประกอบ แม้ในกรณีที่ว่าทั้งสองlและpเป็นเชิงเส้น ( แต่มีค่าสัมประสิทธิ์รวม2) เราจะได้รับอัลกอริทึมที่ทำงานในเวลาΩ(n2k(n))และถ้าk(n)=Θ(n)มัน จะเป็นΩ(n2n)a2Ω(n2k(n))k(n)=Θ(n)Ω(n2n) คล้ายกับอัลกอริธึมกำลังเดรัจฉาน (และแม้นี้จะขึ้นอยู่กับการสมมติว่า Cook-Levin สามารถดำเนินการกับอัลกอริทึมที่ทำให้เกิดวงจรขนาดเชิงเส้นในเวลาทำงานของอัลกอริทึม)


ฉันชอบคำตอบนี้จริงๆ !!
Tayfun จ่าย

@kaveh เกิดอะไรขึ้นถ้าในขณะที่l ( t ) = O ( t )แล้วเราต้องการเวลาอย่างน้อยสองเท่าของ N P N P N Pหรือไม่ ข้อโต้แย้งของคุณดูเหมือนจะเป็นไปได้ว่าความเป็นไปได้ในขณะที่เรารู้ว่าP S P A C Eอยู่ในE X Pและวิธีการที่จะได้รับเอกซ์โปเนนเชียลกลับมา? p(n)=2Ω(n)l(t)=O(t)NPNPNPPSPACEEXP
....

3

ฉันคิดว่านี่เป็นเพราะในแต่ละระดับของ PH จำนวนของการสลับจะเป็นค่าคงที่ (กล่าวคือเป็นอิสระจากขนาดอินพุต) ในขณะที่ AP จำนวนการสลับสามารถถูก จำกัด ได้

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