定義:カープ削減
言語言語にカープの還元性である多項式時間計算可能関数がある場合ようにすべてのために、場合のみ。
定義:レビン削減
検索問題は、Karpがを減らす多項式時間関数があり、次のような多項式時間計算可能な関数とがある場合、検索問題還元可能です。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
これらの削減は同等ですか?
2つの定義は同等だと思います。任意の二つのため言語と場合、カープの還元性がでありは、に還元レビンである。N P A B A B A B
ここに私の証拠があります:
ましょと、任意のインスタンスであるながらのことである。仮定との検証でありおよび。ましょうと、任意の証明書であり及びに従って。してみましょうそれであることに応じ。X ¯ X A X ' B V A V B A B Y ¯ Y X ¯ X V A、Z 、X ' V B
新しい証明書およびをして、新しい検証者およびをします。V ′ A V ′ B y ′ z ′
V ′ A(x 、y ′):
- Y ' = ⟨ 0 、¯ X、¯ Y ⟩
y′=⟨0,x¯¯¯,y¯¯¯⟩ :場合、拒否します。それ以外の場合は、ます。F (X )≠ F (¯ X)V A(¯ X、¯ Y)f(x)≠f(x¯¯¯) VA(x¯¯¯,y¯¯¯) - Y ' = ⟨ 1 、Z ⟩
y′=⟨1,z⟩ :ます。V B(f (x )、z )VB(f(x),z)
V ′ B(x ′、z ′):
Z ' = ⟨ 0 、Z ⟩
z′=⟨0,z⟩ :出力します。V B(x ′、z )VB(x′,z) Z ' = ⟨ 1 、X 、Y ⟩
z′=⟨1,x,y⟩ :場合、拒否します。それ以外の場合は出力します。x ′ ≠ f (x )V A(x 、y )x′≠f(x) VA(x,y)
多項式時間の計算可能な関数およびは、次のように定義されます。g h
g (x 、y ′)
Y ' = ⟨ 0 、¯ X、¯ Y ⟩
y′=⟨0,x¯¯¯,y¯¯¯⟩ :出力。⟨ 1 、¯ X、¯ Y ⟩⟨1,x¯¯¯,y¯¯¯⟩ Y ' = ⟨ 1 、Z ⟩
y′=⟨1,z⟩ :出力します。⟨ 0 、Z ⟩⟨0,z⟩
h (x ′、z ′)
Z ' = ⟨ 0 、Z ⟩
z′=⟨0,z⟩ :出力します。⟨1,z⟩⟨1,z⟩ z′=⟨1,x,y⟩
z′=⟨1,x,y⟩ :ます。⟨0,x,y⟩⟨0,x,y⟩
LETすべての証明書の集合に係る及びのすべての証明書の集合に従って。次に、よるのすべての証明書のセットは、となります。そして、よるすべての証明書のセットは、ます。Yx
(これは、および受け入れ言語から派生しています。)V′A
ここでとし、残りの部分は簡単に確認できます。x′=f(x)