นี้ขึ้นเล็กน้อยในการตีความแม่นยำของคำถามของคุณ แต่ผมคิดว่าสถานการณ์ของคุณสามารถอธิบายโดยทั่วไปเป็นปัญหา 'คำนวณ Y' ที่ได้รับบางขั้นตอนวิธีการแก้ไขในระดับสากลพหุนามเวลาและพหุนามPในการป้อนข้อมูล⟨ x , 1 n ⟩เอาท์พุท สตริงY ∈ { 0 , 1 } P ( n )เช่นว่าT ( x , Y , 1 n )ขาออก 1 และปีอยู่เสมอสำหรับเป็นไปได้ทั้งหมดxTพี⟨ x , 1n⟩Y∈ { 0 , 1 }p ( n )T( x , y, 1n)Yx
คำถามหนึ่งอาจเป็นได้ว่าอัลกอริทึมเวลาพหุนามสำหรับ 'COMPUTE Y' แสดงถึงP= NP
ในกรณีนี้สมมติว่าคุณสามารถแก้ (พูด) 3SAT ในเวลาพหุนามด้วยจำนวนการเรียกไปยัง oracle ที่แก้ไข 'COMPUTE Y' ได้อย่างคงที่นั่นคืออัลกอริทึมที่A ( ϕ ) = 1 iff ϕเป็นที่พอใจA ( ϕ) ) = 0มิฉะนั้น พลิกบิตเอาต์พุตเพื่อรับˉ Aอัลกอริทึมที่ˉ A ( ϕ ) = 0 iff ϕเป็นที่พอใจและˉ A ( ϕ ) = 1ถ้าϕAA ( ϕ ) = 1φA ( ϕ ) = 0A¯A¯( ϕ ) = 0ϕA¯(ϕ)=1ϕ ไม่น่าพอใจ
แปลงขั้นตอนวิธีนี้ (ซึ่งใช้ Oracle สำหรับ 'คำนวณ Y') ที่เป็นอัลกอริทึม nondeterministic (ที่ใช้ไม่มีออราเคิล) แค่เปลี่ยนการโทรแต่ละ oracle กับการคาดเดา nondeterministic ของปีที่คุณสามารถตรวจสอบกับการเรียกไปยังT ตอนนี้คุณมีอัลกอริทึมแบบ nondeterministic ซึ่งตัดสินใจอินสแตนซ์ 3CNF ที่ไม่น่าพอใจได้สำเร็จดังนั้นN P = c o N PA¯yTNP=coNP
เช่นกันถ้าที่แสดงให้เห็นว่าทุกN Pปัญหาฉบับสมบูรณ์ (เช่นk -clique หรือ 3SAT) มีการเปลี่ยนแปลงเล็กน้อยที่มีปัญหาการตัดสินใจเป็นเรื่องง่าย (เสมอ 'ใช่') ยังมีรุ่นค้นหาเป็นN P -hardNP=coNPNPkNP