เทคนิคในการแสดงให้เห็นว่าปัญหาอยู่ในความแข็ง“ บริเวณขอบรก”


36

เมื่อได้รับปัญหาใหม่ในซึ่งความซับซ้อนที่แท้จริงอยู่ที่ไหนสักแห่งระหว่างและเป็น NP-complete มีสองวิธีที่ฉันรู้ว่าอาจใช้เพื่อพิสูจน์ว่าการแก้ปัญหานี้ยาก:NPP

  1. แสดงให้เห็นว่าปัญหาคือ GI-Complete (GI = กราฟ Isomorphism)
  2. แสดงให้เห็นว่าปัญหาอยู่ในร่วม-AM} จากผลลัพธ์ที่ทราบผลลัพธ์ดังกล่าวแสดงถึงว่าหากปัญหานั้นเกิดจากปัญหา NP-complete ดังนั้น PH จะยุบลงไปสู่ระดับที่สอง ตัวอย่างเช่นโปรโตคอลที่มีชื่อเสียงสำหรับกราฟ Nonisomorphism ทำสิ่งนี้อย่างแน่นอนcoAM

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


12
หากปัญหาดูเหมือนยากพอ แต่คุณไม่สามารถพิสูจน์ได้ว่ามันเป็น NPC การตรวจสอบอย่างรวดเร็วคือการนับจำนวนสตริงที่มีความยาว n ในภาษา: หากชุดนั้นกระจัดกระจายก็ไม่น่าจะเป็น NPC (เช่น P = NP โดยทฤษฎีบทของ Mahaney) ... ดังนั้นจึงเป็นการดีกว่าที่จะพยายามโดยตรงเพื่อพิสูจน์ว่าเป็น P :-) :-) ตัวอย่างจากบล็อกของ Fortnow & Gasarch : {(n, k): มีวิธีการแบ่ง { 1, ... , n} ไปที่กล่อง k มากที่สุดเพื่อไม่ให้กล่องมี x, y, z กับ x + y = z}
Marzio De Biasi

5
@MarzioDeBiasi ดูเหมือนคำตอบสำหรับฉัน
Sasho Nikolov

2
มีสองส่วนในการสาธิตดังกล่าว: แสดงความยากลำบากในการวางปัญหาใน BPP และแสดงความยากลำบากในการวางปัญหาในคลาส NP-complete (จำได้ว่า GI- ความสมบูรณ์หมายถึง "อยู่ใน GI และเป็น GI-hard".)

1
+1 สำหรับ Ricky Demer; เราอาจต้องการมีรายการวิธีการสำหรับส่วนแรก
Pteromys

2
สำหรับปัญหาใน FNP ที่ไม่มีเวอร์ชันการตัดสินใจที่ชัดเจนใน NP, PPAD เป็นคลาสที่มีประโยชน์ (และเติบโต) ที่ต้องพิจารณา ปัญหาที่สมบูรณ์ของ PPAD นั้นรวมถึงปัญหามากมายเกี่ยวกับการหาจุดคงที่เช่น Nash equilibria รายชื่อของพระอิศวรมีประโยชน์: cs.princeton.edu/~kintali/ppad.html
András Salamon

คำตอบ:


47

แสดงว่าปัญหาของคุณอยู่ใน coAM (หรือ SZK) เป็นหนึ่งในวิธีหลักในการเพิ่มหลักฐานสำหรับ "ความแข็งความอ่อนแอ" แต่นอกจากนั้นยังมีอีกหลายอย่าง:

  • แสดงว่าปัญหาของคุณอยู่ใน NP ∩ coNP (ตัวอย่าง: แฟคตอริ่ง)
  • แสดงว่าปัญหาของคุณสามารถแก้ไขได้ในเวลา quasipolynomial (ตัวอย่าง: มิติ VC, ประมาณเกมฟรี)
  • แสดงให้เห็นว่าปัญหาของคุณนั้นไม่ได้ยากไปกว่าการคว่ำฟังก์ชั่นทางเดียวหรือแก้ปัญหาโดยเฉลี่ย (ตัวอย่าง: ปัญหามากมายในการเข้ารหัส)
  • แสดงว่าปัญหาของคุณลดลงเป็น (เช่น) เกมที่ไม่ซ้ำหรือการขยายตัวเล็ก
  • แสดงว่าปัญหาของคุณอยู่ใน BQP (ตัวอย่าง: แฟคตอริ่ง แต่แน่นอนว่ายังอยู่ใน NP ∩ coNP ด้วย)
  • ออกกฎคลาสใหญ่ของการลดความสมบูรณ์แบบ NP (ตัวอย่าง: ปัญหาการลดขนาดวงจร, ศึกษาโดย Kabanets และ Cai.)

ฉันแน่ใจว่ามีคนอื่นที่ฉันลืม


2
นั่นคือรายการที่ยอดเยี่ยม Scott!
Suresh Venkat

1
แค่อยากรู้ ... เทคนิคใดที่แสดงว่าปัญหาไม่น่าจะแก้ไขได้ในเวลาพหุนาม (หรือ RP หรือ BPP) ฉันไม่เห็นสิ่งใดที่ดูเหมือนจะทำสิ่งนี้
Philip White

2
Philip: ถูกต้องพวกเขาทำไม่ได้ สำหรับหลักฐานที่เพิ่มขึ้นว่าปัญหา NP ไม่ได้อยู่ใน P มันทั้งหมดจะลดลงไปที่ (1) พยายามใส่ลงใน P และล้มเหลวและ / หรือ (2) ลดปัญหาอื่น ๆ ที่ผู้คนไม่ได้ใส่ใน P ให้กับปัญหานั้น
Scott Aaronson

23

นี่คือสามส่วนเพิ่มเติมในรายการของ Scott:

  • แสดงปัญหาของคุณในไม่กี่ P ซึ่งหมายความว่าจำนวนการแก้ปัญหาถูก จำกัด โดยพหุนาม (ตัวอย่าง: ปัญหาทาง Turnpike) ไม่ทราบว่าปัญหา NP-complete มีน้อยใน P (เป็นไปไม่ได้ยกเว้นน้อย P = NP)
  • แสดงปัญหาของคุณในหรือใน (สามารถแก้ไขได้โดยใช้จำนวนบิตที่ จำกัด ของ nondeterministic ตัวอย่างการครอบครองปัญหาชุดในทัวร์นาเมนต์) LOGNPNP[log2n]
  • แสดงว่าปัญหาของคุณมีความหนาแน่นของเลขชี้กำลัง (H. Buhrman และ JM Hitchcock พิสูจน์แล้วว่ามีความหนาแน่นต่ำกว่าขอบเขต ( ) เว้นแต่ว่าลำดับชั้นพหุนามยุบดังนั้นชุดสมบูรณ์จะต้องมีเป็นจำนวนเต็มจำนวนนับไม่ถ้วนชุดประกอบด้วยอย่างน้อยสายอักขระที่มีความยาว .) นี่เป็นสิ่งที่ดีกว่าการพิสูจน์เพียงแค่ความกระจ่าง (ตามที่ระบุไว้ในคำตอบของ Marzio) 2nϵNPϵ>0n02nϵn

H. Buhrman และ JM Hitchcock, ชุด NP-Hard นั้นมีความหนาแน่นแบบเอกซ์โพแนนเชียลเว้นแต่ว่า , ในการประชุม IEEE ด้านการคำนวณที่ซับซ้อนหน้า 1–7, 2008coNPNP/poly


1
หรือแม้แต่ใน UP (ไม่ใช่แค่ FewP)!
Joshua Grochow

22

จากความคิดเห็นด้านบน: หากปัญหาดูเหมือนยากพอ แต่คุณไม่สามารถพิสูจน์ได้ว่ามันเป็นปัญหาที่สมบูรณ์การตรวจสอบอย่างรวดเร็วคือการนับจำนวนสตริงที่มีความยาวในภาษา: หากตั้งค่าเบาบางมันเป็น ไม่น่าจะเป็น NPC ไม่เช่นนั้น P = NP โดยทฤษฎีบทของ Mahaney ... ดังนั้นจึงเป็นการดีกว่าที่จะมุ่งความพยายามไปสู่การพิสูจน์ว่าเป็น P :-) :-)n

ตัวอย่างคือปัญหาของการแบ่งตัวเลขออกเป็น k-box (จากบล็อกของ Fortnow & Gasarch ของต้นฉบับ: Doctor Ecco's Cyberpuzzles ):

{(n,k) there exists a way to partition  {1,...,n} into at most k boxes so that no box has x,y,z with x+y=z}

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