Sei A nach B, das heißt reduzierbar sein . Daher Akzeptieren die Turing Maschine A hat Zugang zu einer Oracle für B . Lassen Sie die Turing Maschine Annahme A seine M A und die Oracle für B sein O B . Die Arten von Ermäßigungen:
Turing - Reduktion: können mehrere Abfragen machen O B .
Karp-Reduktion: Auch als "Polynomzeit-Turing-Reduktion" bezeichnet: Die Eingabe für muss in Polyzeit erstellt werden. Darüber hinaus ist die Anzahl der Anfragen an O B muss durch ein Polynom begrenzt werden. In diesem Fall: P A = P B .
Many-One-Turing-Reduktion: kann im letzten Schritt nur eine Anfrage an O B stellen . Daher kann die Orakelantwort nicht geändert werden. Allerdings ist die Zeit konstruiert , um die Eingabe zu genommen O B braucht nicht durch ein Polynom begrenzt werden. Äquivalent: ( ≤ m steht für eine Reduzierung um ein Vielfaches)
, wenn ∃ eine berechenbare Funktion f : Σ * → Σ * , so dass F ( x ) ∈ B .
Kochreduktion: Auch als "Polynomzeit-Vielfachreduktion" bezeichnet: Eine Vielfachreduktion, bei der die Zeit, die zum Erstellen einer Eingabe für , durch ein Polynom begrenzt werden muss. Äquivalent: ( ≤ p m bedeutet eine Reduktion um ein Vielfaches)
, wenn ∃ einerpoly-timeberechenbare Funktion f : Σ * → Σ * , so dass F ( x ) ∈ B .
Sparsame Reduktion: Auch als "Polynom-Zeit-Eins-Eins-Reduktion" bezeichnet: Eine Cook-Reduktion, bei der jede Instanz von einer eindeutigen Instanz von B zugeordnet wird . Äquivalent: ( ≤ p 1 bedeutet sparsame Reduktion)
, wenn ∃ einerpoly-Zeitberechenbar Bijektion f : Σ * → Σ * , so dass F ( x ) ∈ B .
Diese Reduzierungen erhalten die Anzahl der Lösungen. Daher .
Wir können weitere Arten von Kürzungen definieren, indem wir die Anzahl der Orakelabfragen begrenzen. Wenn Sie diese jedoch weglassen, kann mir jemand freundlich mitteilen, ob ich die Nomenklatur für die verschiedenen Arten von Kürzungen korrekt erhalten habe. Sind NP-vollständige Probleme in Bezug auf Kochreduktion oder sparsame Reduktion definiert? Kann jemand freundlicherweise ein Beispiel für ein Problem geben, das unter Cook NP-vollständig und nicht unter sparsamer Reduktion ist.
Wenn ich mich nicht irre, ist die Klasse # P-Complete in Bezug auf Karp-Reduktionen definiert.