どーも,竜太です.
今回はぼくが考案した『広義量子超越性』という概念についてご紹介します. その前に,まず,従来の『量子超越性』について見てみましょう.
(狭義)量子超越性
あるアルゴリズムを考えるとき一般にある自然数があって,与えられた十分大きなデータに対し,その計算ステップ数がとできるとき, 多項式時間で解けるアルゴリズムといい,多項式時間で解けないアルゴリズムを超多項式時間かかるアルゴリズムと呼びます.
従来の狭義の意味での量子超越性はチューリングマシンで超多項式時間かかる問題を量子力学の性質を使って多項式時間で解ける場合,『量子超越性』がある問題, と定義していました.ここで注意すべきは例えば並び替えの問題のように同じ仕事をさせる場合でも大きなステップ数が必要なアルゴリズムもあれば,小さなステップ数の アルゴリズムもあるので比較する際には知られているチューリングマシンで計算できるもっとも小さなステップ数のアルゴリズムと比較する必要があることです. 例えば,量子計算を使用した素因数分解をするショアのアルゴリズムはの計算量のオーダーであるのに対し,知られているチューリングマシンで計算できる 最良の素因数分解のアルゴリズムはのオーダーの計算量のため量子超越性があると呼ばれています. このように従来の量子超越性は主にチューリングマシンで多項式時間に解けない問題が量子力学を用いて多項式時間で解けるとき量子超越性があると呼んでいました. しかし,実際には多項式時間で解けるアルゴリズム同士の計算量の比較や多項式時間で解けないアルゴリズム同士の計算量の比較などさまざまです. これらの場合に,従来の量子超越性という単語を用いてよいのかどうかがはっきりしませんでした.
そこで僕は広義の量子超越性という概念を定式化することにしました.
広義量子超越性
ある問題のチューリングマシンでの最良の計算量のアルゴリズムの計算量をのオーダーとし, 同じ問題の量子アルゴリズムの計算量をのオーダーとするとき, この問題が量子超越性を持つとはがのオーダー,つまり,より大きなオーダーを持つ場合を言いいます. 例えば,素因数分解の問題ではよりより, 広義の量子超越性も持っていることが分かります.
広義量子超越性から広義計算量超越性へ
突然ですが本の長さの違う(ゆでる前の)スパゲッティーの束を長い順に並べることを考えましょう. これは実質上,個の数値を降順にソーティングすることに相当します. チューリングマシンで動かせる比較ソートの場合オーダーは平均的にはになります. しかしスパゲッティーの束を縦にまとめてトン,と一回平らなところで均して一番長いスパゲッティーを1本抜き出す操作を1ステップとすると, 僅かステップ数でスパゲッティの束を降順に並べることができることが分かります.つまりオーダーはしかありません.
こうして考えてみると広義量子超越性はなにも量子力学に限った話ではないことが分かります. そこで一般に次のように定義しましょう:
広義計算量超越性
あるチューリングマシンで計算できる問題が与えられたとき, チューリングマシンで動かせる最良のアルゴリズムの計算量をのオーダーとし, 別の方法で動かせるアルゴリズムの計算量をのオーダーとするとき, のときは広義計算量超越性があるアルゴリズムであるといい, 問題は広義計算量超越性があると呼ぶ.
広義計算量超越性があり通常の超越性がない問題の例
実はあみだくじを1ステップで解く光学回路の例がこれに相当します. 任意の置換を互換の積に分解するにはオーダーにしてが必要ですから, これは立派な広義計算量超越性があることになります.
広義計算量超越性は何の役に立つか?
人間は難しい問題に直面したとき,とりあえず名前を付けることでより扱いやすくしてきました. 例えば「こころ」に対して「こころ」と名前を付けずに議論することは大変困難です. 広義計算量超越性という名前ができたことで,量子力学によらず,一般の問題に対して計算量の比較が容易になることでしょう. これは計算量の問題が扱いやすくなることを意味します.
ここまで読んでくださって有難うございます. 何か間違い等ございましたら,ご報告いただけると幸いです^^