SFの世界がまた近づいている
みなさんは量子コンピュータというものをご存知でしょうか。
この記事で初めて知ったという方もいらっしゃるでしょう。あるいは、SF作品などで耳にしたことがある人もいるかもしれません。
量子コンピュータとは、量子力学を利用して計算を行うコンピュータのことで、従来のコンピュータでは解くことが困難な問題を短時間で解くことができる、夢のようなコンピュータのことです。量子力学を利用した計算は1980年にその可能性が示されて以来、多くの研究者によって研究されてきました。
その結果、2011年にカナダのD-Wave Systems社によって世界初の商用量子コンピュータが発表され、2016年にはIBMによって量子コンピュータがクラウドで公開されました。
具体的には、交通渋滞の緩和や航空経路の最適化、創薬のためのシミュレーション、機械学習などのために活用されることが期待されています。現在も盛んに研究が進められており、これからますます発展していくことが予想される分野です。
コンピュータとは言うけれど
さて、量子コンピュータとはいったいどのようなものなのでしょうか。
みなさんがコンピュータという言葉を聞くと、メール・チャットのような通信、画像や動画の投稿などができるいわゆる汎用型のコンピュータを想像されると思います。
しかし、量子コンピュータは「コンピュータ」と名がつくものの、方式によっては汎用型のコンピュータとして運用できないものもあります。
例えば、量子コンピュータには「量子ゲート方式」と「量子アニーリング方式」という方式がありますが、「量子ゲート方式」が汎用型として使えるのに対して、「量子アニーリング方式」は組み合わせ最適化問題を解くことにのみ特化しています。
「どちらか」から「両方」へ
では、量子コンピュータは従来のコンピュータとどのような点が異なっているのでしょうか。
最も重要な違いは従来のコンピュータがビットを使うのに対し、量子コンピュータでは量子ビットというものを使うという点です。
量子ビットとは、通常のビットのように「0」か「1」のどちらかの値を持つのに加えて、「0」と「1」の2つの値を同時に持つことが可能なビットのことです。
量子コンピュータはこの量子ビットの性質を利用して、従来のコンピュータでは不可能なほどの並列性を実現します。
「量子ゲート方式」と「量子アニーリング方式」、何が違う?
量子コンピュータには「量子ゲート方式」と「量子アニーリング方式」があると言いましたが、そのの違いは量子ビットの使い方、つまり計算原理にあります。
量子ゲート方式
「量子ゲート方式」とは従来のコンピュータのビットを量子ビットに置き換えて計算を行う方式です。
原理が従来のコンピュータに近いため、従来のコンピュータにできることは全てできてしまう、言ってしまえば上位互換となるものです。量子ビットを増やせば増やすほど演算能力を高めることができます。
しかし、この方式はノイズに弱いため、多くの量子ビットを備えた状態で安定した計算をすることは技術的に困難であります。
ちなみに「量子ゲート方式」を使うと素因数分解が高速に解けるため、RSA暗号(Web上の標準的な暗号)が破られてしまうという話がありますが、現状のRSA暗号を解くためには4000個以上の量子ビットを用意する必要があります。
IBMによって2017年11月に稼働に成功したマシンが50量子ビットなので、RSA暗号が解けるようになるのはまだまだ先のことになりそうですね。
量子アニーリング方式
対して「量子アニーリング方式」はその名の通り「量子アニーリング(量子力学的「焼きなまし」)」という現象を利用して計算を行う方式で、「実現可能な解の中からコスト関数の値を最小にするものを見つける」組み合わせ最適化問題を解くことに特化しています。
実際の計算としては、
-
組み合わせ最適化問題の解とコスト関数の値がそれぞれ量子ビットの値と全体のエネルギーに対応するようにパラメータを設定する。
-
量子ビットに強い横磁場をかけて、量子力学的な重ね合わせの状態を作る。
-
ゆっくりと磁場を弱めていき、量子ビットの値を確定させる。
という手順を踏みます。
この時それぞれの量子ビットの値は、「量子アニーリング」によって全体のエネルギーを最小にする値になるので、確定した量子ビットの値がそのまま組み合わせ最適化問題の解となります。
この方式の面白いところは、問題から解を全く想像できない状態でも、適切にパラメータを設定して磁場の操作を行うことで、解を求めることができる点です。また、量子ビット全体で1つの状態を表しているために「量子ゲート方式」と比較してノイズに強いという特徴があり、「量子アニーリング方式」であるD-Wave Systems社による量子コンピュータは2000量子ビットを備えています。
真価を引き出すのは、僕らの仕事だ
量子コンピュータはこれからも進歩していき、高性能化していくことが予想されます。紹介した2つの方式とは異なる、新たな方式が生み出されるかもしれませんし、近い将来身近な存在となることも十分考えられます。しかし、量子コンピュータはただ単に高性能なコンピュータというわけではなく、その性質をうまく活用することで初めてその真価を発揮するものです。よって、今私たちにできることは、より性能を引き出せるアルゴリズムや応用の可能性を見つけ、量子コンピュータの発展に向けて準備することだと思います。