最近、量子コンピューターに関する記事で「疑似量子」という用語を見かけることが増えた。疑似という表現は「本物ではないが、本物に近い性質を持つこと」を意味していると考えられる。
こうした表現を見て、「なぜ疑似なのか」「本物とは何が違うのか」が気になる人もいるはずだ。そこで今回は「疑似量子」の正体を解き明かしてみたいと思う。
現在の量子コンピューターは電卓にすら劣る
量子コンピューターには、大きく2つの方式がある。汎用コンピューターを実現する「量子ゲート方式」と用途を限定した特化型の「量子アニーリング方式」だ。
量子ゲート方式の量子コンピューターは、量子のふるまいを利用して、現在のコンピューターと同じような汎用の演算を行う。いわば「量子コンピューターの王道」といえるものだ。
ただしどんな演算でも高速に実行できるわけでなく、量子コンピューターに向いた問題で特に威力を発揮する。そうした問題として有名なのが「素因数分解」だ。量子コンピューターは理論的に、素因数分解問題を解くための「ショア(Shor)のアルゴリズム」を高速に実行できることが知られている。
従来のコンピューターでは、大きな数の素因数分解を短時間で行うことが難しい。公開鍵暗号方式で以前よく使われていた「RSA暗号」は、この性質を利用して安全性を担保している。ところが、実用的な量子コンピューターが登場すれば、素因数分解問題を短時間で解けるようになるため、RSA暗号が意味をなさなくなってしまう。
量子コンピューターが一般的になれば、現在の暗号は安全性を保てなくなる可能性があるのだ。そこで、量子コンピューターであっても破るのが難しい「耐量子暗号」の開発が精力的に進められるようになった。
もっとも、現時点での量子ゲート方式の量子コンピューターは、そこまでの性能は持っていない。複雑なアルゴリズムはおろか、単純な演算すらまともに解けないレベルにとどまっている。
量子ゲート方式の量子コンピューターは汎用コンピューターなので、「1+1」という普通の足し算を実行できる。少し前、この足し算を量子コンピューターで実行するデモを見たことがある。
この足し算を通常のコンピューターで実行すれば、もちろん「2」という結果を得られる。ソフトウエアによる量子コンピューターのエミュレーターで実行した場合も結果は「2」になる。汎用コンピューターなので当然だろう。
ところが、この足し算を量子コンピューターの実機で実行するデモでは、半分くらいの確率でしか正解にならなかった。現在の量子コンピューターは、安物の電卓にすら遠く及ばない程度の能力しか持っていないのだ。量子コンピューターを「何か高性能なコンピューター」と素朴にとらえている人にとって、この結果は衝撃的なはずだ。