加速定理の概要
計算複雑性理論における加速定理は、特定の計算問題を解決する
アルゴリズムに対し、より高速に解く手法が存在することを示す重要な定理です。加速定理は、計算効率の向上に寄与する無限の可能性を秘めています。
チューリング機械の例
具体例として、回文(palindrome)を認識する1-テープチューリング機械を考えてみましょう。この機械は、計算時間がO(n²)に相当する
アルゴリズムを用いて回文を判断します。
アルゴリズムの流れは以下の通りです:
1. 入力の左端の記号を読み取り、空白記号を記入し、その記号を記憶します。
2. ヘッドを右端まで移動し、記号を読み取り、左側に記憶していた記号と異なる場合は拒否して停止します。記号が一致する場合、空白記号を書き込みます。
3. 最後に空白で埋まった場合は受理し、そうでなければ手順1に戻ります。
この方法では、左端に戻るのが非効率的であるため、左右を入れ替えて同じ処理を繰り返しても構いません。しかし、計算量のオーダーは変わりません。
一方、同じ問題をO(n)の時間計算量で解く2-テープチューリング機械も考えられます。この機械の動作は、入力を作業テープにコピーし、ヘッドを左端および右端にセットした状態で始まります。読み取った記号が異なる場合には拒否し、一致する場合にはヘッドを前進させます。最終的に空白を読み取ることで受理が確定します。
加速定理の種類
加速定理にはさまざまな種類があります。チューリング機械に関する線形加速定理は、ある特定の計算量f(n)を持つチューリング機械が与えられた場合、同様の問題を解決するための計算量cf(n)を持つチューリング機械が存在することを示しています(cは正の定数)。
さらに、ブラムの加速定理は、時間計算量がO(f(n))の
アルゴリズムが存在するなら、O(log f(n))の
アルゴリズムもある問題に対して存在することを示します。これは、時間の計算量だけでなく、他の複雑性の測定基準にも適用されます。加速関数は計算可能関数の範囲で指定可能です。
また、量子
コンピュータに関連する2次関数的加速定理によれば、決定性
コンピュータがO(f(n))の時間で操作できる場合、量子
コンピュータではO(√f(n))の時間で同じ操作を実行できることが示唆されています。
形式的体系における加速定理
加速定理は計算複雑性の領域にも留まらず、理論Tとその拡張Sに関するものもあります。特に、Tで証明可能な論理式がSではより簡単に証明できるといった場合も、加速定理と呼ばれます。ゲーデルの加速定理がその代表例であり、これらの加速定理は相互に対になる関係があることが知られています。
例えば、ブラムの加速定理の変種であるハルトマニスの加速定理が、ゲーデルの加速定理の証明に寄与していることもわかっています。その一方で、エーレンフォイヒト・ミッシェルスキーの加速定理は、帰納的可算集合に関する特定の事実を基に証明されています。
これらの概念は、
計算複雑性理論の深い理解を助け、さらなる研究の出発点となるでしょう。