技能一覧 › 大学院数学 計算理論・ラムダ計算

多項式時間多対一帰着の性質

の推移性、補集合への移行 、「 かつ ()なら ()」、 なら 以外の任意の に帰着できることなどを証明・判定し、成り立たない主張(逆向き)を見分けられる

前提

この技能までの道筋(21 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 決定性有限オートマトンの動作と受理判定 (大学数学 オートマトン・形式言語)
  2. チューリング機械の動作の追跡 (大学数学 オートマトン・形式言語)
  3. 四則の混じった計算の順序 (算数 計算と数のきまり)
  4. 等間隔にならんだ数の和 (算数 計算と数のきまり)
  5. 分数のたし算・ひき算 (算数 計算と数のきまり)
  6. 小数の四則計算 (算数 計算と数のきまり)
  7. 正負の数の加法・減法 (中学数学 数と式)
  8. 分数のかけ算・わり算 (算数 計算と数のきまり)
  9. 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
  10. 分配法則を使った計算のくふう (算数 計算と数のきまり)
  11. 文字式の計算(同類項・分配法則) (中学数学 数と式)
  12. 等差・等比数列の和と Σ (数学B 数列)
  13. 数列の極限 (数学III 極限)
  14. 関数の極限 (数学III 極限)
  15. 約数の見つけ方 (算数 整数の性質)
  16. 素因数分解と約数の個数 (算数 整数の性質)
  17. 平方根の意味と根号の簡単化 (中学数学 数と式)
  18. 根号の乗除と加減 (中学数学 数と式)
  19. 指数の拡張と指数関数 (数学II 指数関数と対数関数)
  20. 対数の定義と性質 (数学II 指数関数と対数関数)
  21. 計算量のオーダーの比較 (大学数学 アルゴリズムと計算量)

説明

言語 について、( は に多項式時間多対一帰着できる)とは、多項式時間で計算できる関数 で、すべての について となるものが存在することです。直観的には「 が解ければ もほぼ同じ速さで解ける」、つまり「 は 以下の難しさ」を表します。この技能では、 の推移性・補集合への移行・ や への所属の伝わり方を証明し、向きを逆にした成り立たない主張を見分けられるようになります。NP 完全性の議論など、問題の難しさを比べるあらゆる場面の土台です。

なぜそうしてよいのか

ここで は決定性チューリング機械が入力長 の多項式時間で判定できる言語全体、 は非決定性チューリング機械が多項式時間で受理できる言語全体です。関数 を計算する機械は、入力 をテープに置いて動かし、停止したときのテープの内容を とします。 が時間 ( は多項式)で計算できるとき、テープ上には最初に入力の 個の記号があるだけで、ヘッドは 1 ステップに 1 マスしか動かず、1 ステップで新たに書ける記号は高々 1 個です。したがって ステップの後に空白でないマスは高々 個で、 となります。つまり帰着で写した後の入力も多項式の長さに収まります。そして多項式に多項式を代入したもの や多項式どうしの和は、また多項式です。これが以下の証明すべての核心です。

(1) を時間 で判定する機械があれば、入力 に対し を計算してから を判定すれば がわかります。時間は で多項式なので です。 でも、 を決定的に計算してから を受理する非決定性機械を走らせれば同じ見積もりが通り、 です。(2) 推移性: を 、 を が与えるなら、 が を満たし、同じ見積もりで多項式時間です。(3) 補集合: の両辺を否定すると なので、同じ が を与えます(向きは変わりません)。

(4) で なら、 と を 1 つずつ固定し、「 を多項式時間で判定して、 なら 、そうでなければ を出力する」関数 を作れば です( は定数なので書き出しは定数時間)。つまり の言語は自明でないどんな言語にも帰着できてしまいます。ここから、逆向きの主張「 かつ なら 」が偽だとわかります。そのためには に属さない言語が 1 つあればよく、次の対角線論法で具体的に作れます。チューリング機械は遷移表という有限の情報で決まるので、 上の文字列で書き表せます(機械 を表す文字列を と書き、機械を表さない文字列は「何も受理しない機械」を表すと約束します)。そこで とおきます。もし を判定する(必ず停止して正しく受理・拒否する)機械 があったとすると、 について「 は を受理しない 」となり矛盾します。よって はどんな機械でも判定できず、とくに です。また なので であり、(4) より です。 は「易しい側 難しい側」なので、易しさ(所属)は右から左へ( から へ)、難しさ(非所属)は左から右へ( から へ)しか伝わりません。

手順

  1. 主張に現れる帰着 の向きを確かめ、「左が易しい側、右が難しい側」と読む

  2. 所属(, )は右から左へ伝わる: 、。非所属はその対偶で左から右へ: 、

  3. 帰着の組み合わせを整理する: ( を使う)、(同じ を使う)

  4. 証明では、帰着関数の出力長が (最初の 個に 1 ステップ高々 1 個ずつ書き足すだけ)で抑えられることと、多項式の合成 が多項式であることを使って計算時間を見積もる

  5. 向きが逆の主張には反例を作る: は 以外の任意の に帰着できるので、 と、対角線論法で作った に属さない言語 を組み合わせる

例題

アルファベットを とする。次のア〜オの主張のうち、どの言語 についても成り立つもの(反例が 1 つもないもの)をすべて選べ。

ア: かつ ならば

イ: かつ ならば

ウ: ならば

エ: かつ ならば

オ: ならば

例題の解答

(手順 1)どの主張も 、すなわち「 が易しい側、 が難しい側」を仮定している。

ア(手順 3・4): を時間 の 、 を時間 の が与えるとする。 であり、(入力 個に 1 ステップ高々 1 個書き足すだけ)より の計算時間は で多項式。よって常に成り立つ。

イ(手順 2・5): 所属は右から左にしか伝わらないので、左の が に入っても については何もいえない。実際に反例がある。 とすると 。 として、idea で対角線論法により作った言語 をとる。 を判定する機械 があると で「」となり矛盾するので、 はどの機械でも判定できず 。また だから で、, を固定できる。、 とすれば は多項式時間で計算でき、 なので 。しかし 。よってイは成り立たない場合がある。

ウ(手順 3): の両辺を否定すれば 。同じ で帰着できるので常に成り立つ。

エ(手順 2): 「 かつ ならば 」の対偶である。この主張は、 を決定的に時間 で計算してから を受理する非決定性機械を時間 走らせればよいので正しい。よって常に成り立つ。

オ(手順 5): イと同じ , をとると 。もし なら、手順 2 により から となり に矛盾する。よってオは成り立たない場合がある。

以上より、常に成り立つのはア、ウ、エ。

答え:

ア, ウ, エ

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題

この技能を使う問題

この技能の次に学べること