Dies hängt geringfügig von der genauen Interpretation Ihrer Frage ab, aber ich denke, Ihr Szenario kann allgemein als Problem 'COMPUTE Y' beschrieben werden, wenn ein universell festgelegter Polynomzeitalgorithmus und Polynom bei Eingabe , gib einen String , so dass 1 ausgibt und immer für alle möglichen .p ⟨ x , 1 n ⟩ y ∈ { 0 , 1 } p (Tp⟨x,1n⟩y∈{0,1}p(n)T(x,y,1n)yx
Eine Frage könnte dann sein, ob ein Polynomzeitalgorithmus für 'COMPUTE Y' impliziertP=NP
In diesem Fall wird angenommen, dass Sie 3SAT in Polynomzeit mit einer konstanten Anzahl von Aufrufen an ein Orakel lösen können, das 'COMPUTE Y' löst, dh einen Algorithmus mit wenn erfüllt werden kann, sonst. Drehen Sie das Ausgabebit, um , einen Algorithmus, bei dem wenn erfüllt werden kann, und wenn erfüllt werden kann.A ( ϕ ) = 1 ϕ A ( ϕ ) = 0 ˉ A ˉ A ( ϕ ) = 0AA(ϕ)=1ϕA(ϕ)=0A¯A¯(ϕ)=0ϕA¯(ϕ)=1ϕ
Konvertieren Sie diesen Algorithmus (der ein Orakel für 'COMPUTE Y' verwendet) in einen nicht deterministischen Algorithmus (der keine Orakel verwendet), indem Sie einfach jeden Orakelaufruf durch eine nicht deterministische Schätzung von ersetzen , die Sie mit einem Aufruf von überprüfen können . Jetzt haben Sie einen nichtdeterministischen Algorithmus, der unbefriedigende 3CNF-Instanzen erfolgreich entscheidet, also yTNP=coNP.A¯yTNP=coNP
Abgesehen davon, wenn , bedeutet dies, dass alle vollständigen Probleme (wie Clique oder 3SAT) geringfügige Abweichungen aufweisen, deren Entscheidungsproblem einfach ist (immer 'Ja'), deren Suchversion jedoch hart istN P k N P.NP=coNPNPkNP