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.