Definição: Redução de Karp
Uma linguagem A
Definição: Redução de Levin
Um problema pesquisa V Uma
⟨ X , y ⟩ ∈ V Um⟹⟨ 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 Um
⟨f(x),z⟩∈VB⟹⟨x,h(x,z)⟩∈VA
Essas reduções são equivalentes?
Eu acho que as duas definições são equivalentes. Para quaisquer dois N P
Aqui está a minha prova:
Deixe- x e ¯ x haver casos arbitrárias de um tempo x ' ser que de B . Suponha V A e V B são verificadores de A e B . Deixe- y e ¯ y ser certificados arbitrárias de x e ¯ x de acordo com V A . Deixe- z ser que de x ' de acordo com V B .
Construa novos verificadores V ′ A e V ′ B com novos certificados y ′ e z ′ :
V ′ A ( x , y ′ ) :
- Y ' = ⟨ 0 , ¯ x , ¯ y ⟩ : Se f ( x ) ≠ f ( ¯ x ) , rejeitar. Caso contrário, imprima V A ( ¯ x , ¯ y ) .
y′=⟨0,x¯¯¯,y¯¯¯⟩ f(x)≠f(x¯¯¯) VA(x¯¯¯,y¯¯¯) - Y ' = ⟨ 1 , z ⟩ : Saída V B ( f ( x ) , z ) .
y′=⟨1,z⟩ VB(f(x),z)
V ′ B ( x ′ , z ′ ) :
Z ' = ⟨ 0 , z ⟩ : Saída V B ( x ' , z ) .
z′=⟨0,z⟩ VB(x′,z) Z ' = ⟨ 1 , x , y ⟩ : Se X ' ≠ f ( x ) , rejeitar. Caso contrário, imprima V A ( x , y ) .
z′=⟨1,x,y⟩ x′≠f(x) VA(x,y)
As funções computáveis em tempo polinomial g e h são definidas como abaixo:
g ( x , y ′ )
y′=⟨0,¯x,¯y⟩
y′=⟨0,x¯¯¯,y¯¯¯⟩ : Output ⟨1,¯x,¯y⟩⟨1,x¯¯¯,y¯¯¯⟩ .y′=⟨1,z⟩
y′=⟨1,z⟩ : Output ⟨0,z⟩⟨0,z⟩ .
h(x′,z′)
z′=⟨0,z⟩
z′=⟨0,z⟩ : Output ⟨1,z⟩⟨1,z⟩ .z′=⟨1,x,y⟩
z′=⟨1,x,y⟩ : Output ⟨0,x,y⟩⟨0,x,y⟩ .
Let Yx
(This is derived from the accepting language of V′A
Now let x′=f(x)