Definition: Karp-Reduktion
Eine Sprache A
Definition: Levinreduktion
Ein Suchproblem V A
⟨ X , y ⟩ ∈ V A⟹⟨ F ( x ) , g ( x , y ) ⟩ ∈ V B
⟨x,y⟩∈VA⟹⟨f(x),g(x,y)⟩∈VB ,≤ f ( x ) , z ≤ ≤ V B⟹⟨ X , h ( x , z ) ⟩ ∈ V A
⟨f(x),z⟩∈VB⟹⟨x,h(x,z)⟩∈VA
Sind diese Ermäßigungen gleichwertig?
Ich denke, die beiden Definitionen sind gleichwertig. Für zwei beliebige N P Sprachen A und B , wenn A ist Karp reduzierbar auf B , dann A ist Levin reduzierbar auf B .
Hier ist mein Beweis:
Lassen Sie x und ¯ x beliebige Instanzen seine A , während x ' , dass der sein B . Angenommen , V A und V B sind Verifizierer von A und B . Lassen y und ¯ y beliebige Zertifikate werden x und ¯ x nach V A
Konstruiere neue Verifizierer V ' A und V ' B
V ' A (x,y'):
- y ' = ⟨ 0 , ¯ x , ¯ y ⟩ : Wenn f ( x ) ≠ f ( ¯ x ) , abweisen. Andernfalls Ausgang V A ( ¯
y′=⟨0,x¯¯¯,y¯¯¯⟩ f(x)≠f(x¯¯¯) x , ¯ y ).VA(x¯¯¯,y¯¯¯) - y ' = ⟨ 1 , z ⟩ : Ausgang V B ( f ( x ) , z ) .
y′=⟨1,z⟩ VB(f(x),z)
V ' B ( x ' , z ' ) :
z ' = ⟨ 0 , z ⟩ : Ausgang V B ( x ' , z ) .
z′=⟨0,z⟩ VB(x′,z) z ' = ⟨ 1 , x , y ⟩ : Wenn x ' ≠ f ( x ) , abweisen. Andernfalls Ausgang V A ( x , y ) .
z′=⟨1,x,y⟩ x′≠f(x) VA(x,y)
Die zur Polynomzeit berechenbaren Funktionen g und h sind wie folgt definiert:
g ( x , y ' )
y ' = ⟨ 0 , ¯ x , ¯ y ⟩ : Ausgabe ⟨ 1 , ¯ x
y′=⟨0,x¯¯¯,y¯¯¯⟩ , ¯ y ⟩ .⟨1,x¯¯¯,y¯¯¯⟩ y ' = ⟨ 1 , z ⟩
y′=⟨1,z⟩ : Ausgabe ⟨ 0 , z ⟩ .⟨0,z⟩
h ( x ' , z ' )
z ' = ⟨ 0 , z ⟩
z′=⟨0,z⟩ : Ausgabe ⟨ 1 , z ⟩ .⟨1,z⟩ z ' = ⟨ 1 , x , y ⟩
z′=⟨1,x,y⟩ : Ausgabe ⟨ 0 , x , y ⟩ .⟨0,x,y⟩
Lassen Y x die Menge aller Zertifikate von x nach V A und Z x ' sein , die Menge aller Zertifikate von x ' nach V B . Dann ist die Menge aller Zertifikate von x nach V ' A ist 0 ¯ x Y ¯ x + 1 Z f ( x ) derart , dass f ( x ) = f ( ¯ x )
(Dies ergibt sich aus der akzeptierenden Sprache von V ′ A und
Nun lass x ′ = f ( x ) , der Rest ist leicht zu überprüfen.
Antworten:
Nein. Beachten Sie zunächst, dass die Levinreduktion nur für Klassen sinnvoll ist, deren Zertifikat eine Bedeutung hat, z. B. N P, während die Karpreduktion allgemein ist. Das Wort "Zertifikat" für ein Problem ist nur dann sinnvoll, wenn ein Verifizierer behoben ist. Levins Reduktion setzt voraus, dass die Verifizierer feststehen. Sie können die Verifizierer nicht ändern. (Im Folgenden gehe ich davon aus, dass Zertifikatsüberprüfer gemäß der Definition der Levinreduktion festgelegt sind.)NP
Zweitens bedeutet Levin-Reduktion, dass man das Zertifikat für das eine aus dem Zertifikat für das andere herausfinden kann. Es ist wahr, dass sich die bekannten Karp-Reduktionen zwischen natürlichen Problemen als Levin-Reduktion herausstellen, aber dies muss im Allgemeinen nicht wahr sein.
Wenn wir die Fälle von Problem A auf Problem B reduzieren könnenA B heißt das nicht, dass wir die Möglichkeit haben, ein Zertifikat für das eine aus einem Zertifikat für das andere zu berechnen.
Damit dies zutrifft, benötigen wir die Tatsache, dass ein Zertifikatssuchproblem, das dem Entscheidungsproblem entspricht, eine Polynomzeit ist, die auf das Entscheidungsproblem reduziert werden kann. Dies gilt für N P - c o m p l e t e Probleme, es ist jedoch nicht bekannt, dass dies im Allgemeinen auch für N P Probleme gilt.NP-complete NP
quelle
A quick counterexample for your proof: suppose that x1,x2∈L1x1,x2∈L1 , f(x1)=f(x2)∈L2f(x1)=f(x2)∈L2 , and ww is a valid certificate for x1x1 but not for x2x2
M′1(x1,⟨0,w⟩)=M1(x1,w)=1M′1(x1,⟨0,w⟩)=M1(x1,w)=1
M′1(x2,⟨0,w⟩)=M1(x2,w)=0M′1(x2,⟨0,w⟩)=M1(x2,w)=0
By definition g(x1,⟨0,w⟩)=⟨1,x1,w⟩g(x1,⟨0,w⟩)=⟨1,x1,w⟩
f(x1)=f(x2)f(x1)=f(x2) so M′2(f(x2),⟨1,x1,w⟩))=M1(x1,w)=1 so ⟨1,x1,w⟩ is a valid certificate for f(x2) but
h(f(x2),⟨1,x1,w⟩)=⟨0,w⟩ which is not a valid certificate for x2
quelle