計算可能性理論および 計算複雑性理論において、多対一還元(マッピング還元とも呼ばれる[ 1 ])は、 1つの決定問題(インスタンスがであるかどうか)のインスタンスを変換する還元である。)別の決定問題(インスタンスが計算可能な関数を使用して、縮小されたインスタンスは次の言語で表されます。最初のインスタンスがその言語である場合に限るしたがって、もし私たちが決定できるならば言語の例私たちは、言語の例還元法を適用して解くことでしたがって、還元法は2つの問題の相対的な計算難易度を測定するために使用できる。に縮小平たく言えば少なくとも、これは、また、(それ以外は比較的単純な)問題を解決するプログラムの一部としても使用できます。。
多対一還元は、チューリング還元の特殊なケースであり、より強力な形式です。[ 1 ]多対一還元では、オラクル(つまり、私たちの解)は、)は最後に一度だけ呼び出すことができ、答えは変更できません。つまり、この問題を表示したい場合は問題に還元できる私たちは、私たちのソリューションを私たちのソリューションでは一度だけチューリング還元とは異なり、与えられたインスタンスのメンバーシップ問題を解決するために必要な回数だけ。
多対一還元は、 1944年にエミール・ポストが発表した論文で初めて使用された。 [ 2 ]その後、ノーマン・シャピロは1956年に同じ概念を強い還元可能性という名前で使用した。[ 3 ]
仮定するそしてアルファベット上の形式言語であるそしてそれぞれ。多対一削減には全計算可能関数である各単語がはかつその場合に限りは。
このような関数存在すると、ある人は言う多対一還元可能またはm還元可能そして書く
2つの集合が与えられた場合ある人は言う多対一はそして書く
計算可能な関数全体が存在する場合ともし。
多対一削減の場合単射である場合、1対1還元について語り、次のように書きます。。
1対1削減の場合は全射である、とある人は言うは再帰的に同型であるそして[ 4 ] p.324と書いている。
両方そしてとある人は言う多対一等価またはm等価であるそして書く
セットは、次の場合に多対一完全、または単にm完全と呼ばれる。は再帰的に列挙可能であり、すべての再帰的に列挙可能な集合はm-還元可能。
関係確かに同値関係であり、その同値類はm次数と呼ばれ、半順序集合を形成する。によって誘導される秩序[ 4 ] p.257
m次数のいくつかの特性(チューリング次数の類似特性とは異なるものもある) :[ 4 ] 555~581ページ
特徴づけられるのはイデアルのいくつかの明示的な性質を満たす唯一の半順序集合として、チューリング次数については同様の特徴付けが見つかっていない。[ 4 ] 574-575頁
マイヒルの同型定理は次のように述べることができる。「すべての集合に対して自然数のその結果として、そして同じ同値類を持つ。[ 4 ] p.325これらは1度と呼ばれます。
多対一還元は、多くの場合、リソースの制約を受けます。たとえば、還元関数が多項式時間、対数空間で計算可能であること、または回路、または多対数射影であり、後続の各削減概念は前のものよりも弱い。詳細については、多項式時間削減および対数空間削減を参照のこと。
与えられた意思決定問題そしてそして、インスタンスを解決するアルゴリズムN多対一削減を使用できるにインスタンスを解決するで:
言語のクラスC (または自然数の冪集合の部分集合) が多対一還元に関して閉じているとは、 Cに含まれない言語からCに含まれる言語への還元が存在しないことをいいます。クラスが多対一還元に関して閉じている場合、多対一還元を用いて、ある問題を C に含まれる問題に還元することで、その問題が C に含まれることを示すことができます。多対一還元は、 P、NP、L、NL、co-NP、PSPACE、EXPなど、よく研究されている複雑性クラスのほとんどが何らかの多対一還元に関して閉じているため、価値があります。たとえば、最初に挙げた 4 つのクラスは、多対数時間射影という非常に弱い還元概念を除いて閉じていることが知られています。ただし、これらのクラスは任意の多対一還元に関して閉じているわけではありません。
多対一還元の一般化されたケースについても検討することができる。そのような例の1つがe還元であり、ここでは再帰的に列挙可能なものであって、再帰的に制限するものではない結果として得られる還元関係は、、そしてその半順序集合はチューリング次数と同様の方法で研究されてきた。例えば、ジャンプ集合が存在する。e-次数について。e-次数は、チューリング次数の半順序集合とは異なるいくつかの性質を持ちます。例えば、ダイヤモンドグラフを以下の次数に埋め込むことができます。[ 5 ]
問題Aから問題Bへの多項式時間多対一還元(通常、両方とも決定問題である必要があります) は、問題Aへの入力を問題Bへの入力に変換する多項式時間アルゴリズムであり、変換後の問題は元の問題と同じ出力を持ちます。問題Aのインスタンスx は、この変換を適用して問題Bのインスタンスyを生成し、y を問題Bのアルゴリズムへの入力として与え、その出力を返すことによって解くことができます。多項式時間多対一還元は、多項式変換またはリチャード・カープにちなんでカープ還元とも呼ばれます。このタイプの還元は、次のように表されます。または[ 6 ] [ 7 ]