นี่เป็นคำถามที่น่าสนใจมาก
ขั้นแรกให้คำชี้แจงที่ชัดเจน โปรดทราบว่า "ขีด จำกัด บนจำนวนพยาน" ไม่ใช่ทรัพย์สินของปัญหาการคำนวณต่อ se แต่มีผู้ตรวจสอบเฉพาะที่ใช้ในการตัดสินใจปัญหาเช่นเดียวกับ "ขอบเขตบนจำนวนรัฐ" จะไม่เป็น คุณสมบัติของปัญหา แต่ของเครื่องทัวริงเป็นผู้ตัดสินใจ ดังนั้นการพูดว่า " N Pปัญหากับขอบเขตบนของจำนวนของการแก้ปัญหา" ไม่ถูกต้องมากและถ้าP = N Pแล้วทุกN Pปัญหามีตรวจสอบที่มีจำนวนของการแก้ปัญหาที่ต้องการใด ๆ (รวมทั้งศูนย์และรวมทั้งสตริงเป็นไปได้ทั้งหมด) .NPNPP=NPNP
ดังนั้นเราจึงต้องให้คำจำกัดความเพื่อตอบคำถามของคุณ สำหรับสมมติว่าปัญหาN P L "มีวิธีแก้ปัญหามากที่สุดs ( n ) " ถ้าสำหรับค่าคงที่บางค่าcจะมีตัวตรวจสอบเวลาO ( n c ) Vดังนั้นสำหรับทุกความยาวอินพุตnและสำหรับ ทุกๆx ∈ Lของความยาวn , มีy 1 ที่แตกต่างกัน, … , y s ( ns:N→NNPLs(n)cO(nc)Vnx∈Lnของความยาว n คดังกล่าวว่าV(x, y ที่ฉัน )ยอมรับสำหรับทุกฉันและV(x,Y)ปฏิเสธอื่น ๆ ทั้งหมดYของความยาว nคy1,…,ys(n)ncV(x,yi)iV(x,y)ync
ทั้งหมดที่ฉันคิดว่าฉันสามารถพูดได้ในขณะนี้คือ:
- ปัญหาที่ไม่สมบูรณ์ของทุกครั้งที่ฉันรู้ (กำหนดโดยตัวตรวจสอบธรรมชาติบางตัว) มี# P-เวอร์ชันการนับสมบูรณ์ที่สอดคล้องกันอย่างเห็นได้ชัด(พร้อมตัวตรวจสอบเดียวกัน )NP#P
- สำหรับการใด ๆปัญหาที่สมบูรณ์ที่กำหนดไว้กับผู้ตรวจสอบมีที่มากที่สุดP o L Y ( n )การแก้ปัญหา (หรือแม้กระทั่ง2 n o ( 1 )การแก้ปัญหา) รุ่นนับสอดคล้องกันอาจจะไม่# Pสมบูรณ์NPpoly(n)2no(1)#P
รายละเอียดเพิ่มเติม: สมมติว่าเป็นN P- ที่สมบูรณ์ด้วยตัวตรวจสอบVที่มีวิธีแก้ปัญหาO ( n c )เกือบทั้งหมด จากนั้นเวอร์ชัน "การตัดสินใจ" การนับตามธรรมชาติของLซึ่งเรานิยามว่าเป็นLNPVO(nc)L
CountL(x):=the number of y such that V(x,y) accepts
คือคำนวณใน , ที่อยู่, ฟังก์ชั่น polytime กับO ( บันทึกn )แบบสอบถามเพื่อN P นั่นเป็นเพราะการตัดสินใจว่าจำนวนของการแก้ปัญหาที่xมากที่สุดkอยู่ในN P : พยานถ้ามีอยู่เป็นเพียงจำนวนy ที่ฉันทำVยอมรับซึ่งเรารู้ว่าจะมากที่สุดO ( n ค )FPNP[O(logn)]O(logn)NPxkNPyiVO(nc). แล้วเราสามารถค้นหาแบบไบนารีใช้นี้ปัญหาในการคำนวณจำนวนที่แน่นอนของการแก้ปัญหาเพื่อLNPL
ดังนั้นปัญหาที่สมบูรณ์ของชนิดนี้ไม่สามารถขยายไปยัง# Pปัญหาที่สมบูรณ์ในทางปกติเว้นแต่# P ⊆ F P N P [ O ( บันทึกn ) ] มันดูไม่น่าจะเป็นไปได้ ลำดับชั้นตลอดเวลาพหุนามโดยทั่วไปจะยุบไปP N P [ O ( บันทึกn ) ]NP#P#P⊆FPNP[O(logn)]PNP[O(logn)]
หากคุณถือว่าด้านบนคุณจะยังได้รับผลลัพธ์ที่ไม่น่าเป็นไปได้ คุณจะแสดงให้เห็นว่า# Pสามารถคำนวณได้ในเวลา2 n o ( 1 )ด้วยoracle N P มีมากเกินพอที่จะพิสูจน์ได้เช่นE X P N P ≠ P Pและต่อมาE X P N P ⊄ P / p o l ys(n)=2no(1)#P2no(1)NPEXPNP≠PPEXPNP⊄P/poly. ไม่ใช่ว่าการแยกเหล่านั้นไม่น่าเป็นไปได้ แต่ดูเหมือนว่าไม่น่าจะพิสูจน์ได้ด้วยการให้เวลา subexp อัลกอริธึมP- oracle สำหรับปลัดNP
โดยวิธีการที่ฉันได้พูดอะไรที่ลึกซึ้งเกินไปที่นี่ มีข้อโต้แย้งในเรื่องนี้เกือบแน่นอน