อัลกอริทึมที่เวลาทำงานขึ้นอยู่กับ P กับ NP


18

มีตัวอย่างที่ทราบชัดเจนของอัลกอริทึมที่มีคุณสมบัติดังกล่าวหรือไม่ถ้าPNPดังนั้นอัลกอริทึมนี้จะไม่ทำงานในเวลาพหุนามและถ้าP=NPจะทำงานในเวลาพหุนามหรือไม่


9
เรียงจาก ถ้า P = NP, อัลกอริทึมการค้นหาทั่วไปของเลวินทำงานในเวลาพหุนามในการยอมรับอินสแตนซ์ en.wikipedia.org/wiki/ …
Emil Jeřábekสนับสนุน Monica

@Emil: ถ้า P = NP แล้วก็ P = coNP ดังนั้นคุณไม่สามารถค้นหาภาษาของเลวินในภาษาของคุณพร้อมกันได้หรือไม่
Joshua Grochow

3
@JoshuaGrochow เพื่อแสดงภาษาเป็น coNP ฉันจะต้องรู้ขั้นตอนวิธี polytime สำหรับ NP ก่อนเพื่อเอาชนะวัตถุประสงค์ทั้งหมด
Emil Jeřábekสนับสนุน Monica

คำตอบ:


17

ถ้าคุณคิดว่าP=?NPสามารถพิสูจน์ได้ใน PA (หรือ ZFC) ตัวอย่างที่ไม่สำคัญมีดังต่อไปนี้:

Input: N   (integer in binary format)
For I = 1 to N do
begin
  if I is a valid encoding of a proof of P = NP in PA (or ZFC)
    then halt and accept
End
Reject

อีกตัวอย่างที่น่าสนใจน้อยกว่าที่ไม่มีข้อสันนิษฐานคือ:

Input: x   (boolean formula)
Find the minimum i such that
  1) |M_i| < log(log(|x|))  [ M_1,M_2,... is a standard fixed TM enumeration] 
  2) and  M_i solves SAT correctly 
       on all formulas |y| < log(log(|x|))
          halting in no more than |y|^|M_i| steps
          [ checkable in polynomial time w.r.t. |x| ]
  if such i exists simulate M_i on input x 
      until it stops and accept/reject according to its output
      or until it reaches 2^|x| steps and in this case reject;
  if such i doesn't exist loop for 2^|x| steps and reject.

ถ้าP=NPอัลกอริทึมจะเร็ว ๆ นี้หรือในภายหลัง - คิดว่าการป้อนข้อมูลx0 - หาดัชนีของพหุนามเวลาเครื่องทัวริง (หรือรุ่นที่เบาะมัน) MSATที่แก้ SAT ในO(|x||MSAT|)และสำหรับอินพุตทั้งหมดที่มากกว่าx0จะทำการจำลองต่อไปและหยุดในเวลาพหุนาม (โปรดทราบว่าขั้นตอนที่ 2 สามารถตรวจสอบได้ในเวลาพหุนาม) ในคำอื่น ๆ ถ้าP=NP อัลกอริทึมแก้ SAT ในเวลาพหุนามในทุกกรณียกเว้นจำนวน จำกัด

ถ้าPNPอัลกอริทึมจะทำงานในเวลาเอ็กซ์โพเนนเชียล


ฉันจะตัดสินใจอย่างเงียบ ๆ ว่า "ฉันเป็นการเข้ารหัสที่ถูกต้องของการพิสูจน์ P = NP ใน PA (หรือ ZFC)" อย่างไร
user2925716

ผม

2
สมมติฐานที่สูง
Jirka Hanika

1
ถ้า P ≠ NP รันไทม์ของอัลกอริธึมที่ไม่มีเงื่อนไขคือ superpolynomial (ตามที่ร้องขอ) แต่ถ้า NP นั้นเป็นโพลิโนเมียลเพียงเล็กน้อยมากไม่ใช่การอธิบาย เราสามารถเปลี่ยนอัลกอริธึมเพื่อทำให้เป็นเลขชี้กำลัง io แต่เป็นการพิสูจน์ให้เป็นเลขชี้กำลัง (ซึ่งตรงกันข้ามกับเพียงแค่เลขยกกำลัง io) ถ้า P ≠ NP มีความยากพอ ๆ กับการแก้ P = NP
Dmytro Taranovsky

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