量子コンピュータの挑戦: スーパーコンピュータに勝てるだろうか?
Google、IBM、Intel、そして Microsoftといった巨大IT企業たちが量子コンピュータの開発に熱心になっている。それは量子コンピュータが従来のコンピュータよりも圧倒的な速度で計算を行うことができると期待されているからである。
特に最近では、さまざまな種類の"量子"コンピュータもしくは量子力学から着想を得た専用マシンが登場してきている。しばしば、スーパーコンピュータの〜〜倍速いという言葉でそれらのマシンの性能が謳われたりすることをよく耳にする。量子コンピュータは本当にスーパーコンピュータに勝つ事ができるのだろうか?
本稿では、量子コンピュータの速さとは何か、そして量子コンピュータが、現代のシリコン半導体技術の結晶とも言える従来型の古典コンピュータと繰り広げる戦いについて紹介したい。
量子コンピュータによる計算の高速化
量子コンピュータが計算を高速化すると期待されている理由は、最も基本的な物理法則である量子力学を最大限に利用して計算をするコンピュータだからだ。量子力学は、半導体、レーザー、MRIなどミクロな世界の現象を利用する身近な技術の基礎にもなっている。
私たちが普段使っているコンピュータのCPUも半導体で作られているので、その意味では量子力学が使われている。しかし、その半導体チップ上で行われる計算は、スイッチのオン「0」とオフ「1」のどちらか一方しかとらない"ビット"を用いており、物理法則で許されるものと比べると制限されたものだといえる。なぜなら、量子力学では「0」か「1」かが確定していない重ね合わせ状態が許されているからだ。このような量子力学のルールを計算原理に積極的に用いて計算を高速化するマシンが量子コンピュータと呼ばれている。計算の高速化が示されている問題としては、整理されていないデータから重ね合わせを利用して高速に目的の情報を探索するグローバー探索、古典コンピュータでは効率よく解く事ができない代表的な問題である素因数分解、そして、電子や分子など量子力学を取り込まないと計算できない化学物質・材料シミュレーションをする量子シミュレーションである。
このように多数の電子の振る舞いを計算することはスーパーコンピュータでは難しく、量子コンピュータの実現により高精度で高速な計算が可能になることが期待されている。 (写真はMacquarie Universityより引用)
量子超越性の意味
Google、IBM、Rigetti らのグループはすでに、10−20量子ビット規模のゲート型量子コンピュータを実現している。近い将来、50量子ビット規模のものを実現すると予想されている。この規模のゲート型量子コンピュータが良い精度で実現されると"ある意味において"スーパーコンピュータを超えると考えられている。
残念ながら、これは、先に述べた探索や素因数分解、化学・材料シミュレーションという土俵でスーパーコンピュータを超えるというものではない。これは、量子コンピュータに入力する情報は50ビットを超えられないので必然的に探索や素因数分解のサイズは50ビット未満になってしまい、古典コンピュータでも簡単に解く事ができてしまうので当然である。
では、どのような意味でスーパーコンピュータに勝てるのだろうか。量子コンピュータでは、重ね合わせ状態が許されているため、50量子ビットを古典コンピュータで愚直にシミュレーションするためには全ての重ね合わせのパターンである2の50乗(1015、すなわち1000兆)パターンの数字を保持しながらそれぞれのパターンを計算する必要がある。
量子コンピュータの量子ビット数が多くなることに伴って、量子コンピュータの振る舞いを1つずつスーパーコンピュータでシミュレーションすることが難しくなりつつある。このような、「量子コンピュータそのものをそっくりそのままシミュレーションしてみよ」という量子コンピュータにとって圧倒的に有利な土俵においてスーパーコンピュータと競争をしている。そして、スーパーコンピュータ上で愚直にシミュレーションするよりも量子コンピュータ実機の方が精度を考慮しても速くなる量子超越が近々実証されると期待されている。
また、量子力学を用いたその他の専用マシンにおいても、スーパーコンピュータとの比較は同じく、つぶさにそのマシンを古典コンピュータでシミュレーションさせた場合の結果であることに注意すべきであろう。手放しで、スーパーコンピュータにとってもっとも有利な方法でその専用マシンが対象とする問題を解いているわけではない。これは、スーパーコンピュータの〜〜倍という言葉から想像するよりもがっかりするかもしれない。
量子コンピュータの方が速くて当然という勝負において、やっと、量子の制御技術や精度が要求にあった水準にまできたということである。
スーパーコンピュータでつぶさにシミュレーションすることが難しい対象というのは、他にもたくさんある。例えば、風や水の流れなどのアナログな物理現象のシミュレーションは一般的に難しい。このため、自動車や飛行機の設計において風洞実験は現在でも活躍している。
アナログ量子コンピュータは風洞実験が実現するような、量子コンピュータがアナログな物理現象を精密に制御された形として実現する、といったものであろう。自動車や飛行機の設計において風洞実験が活躍しているように、量子力学に従うミクロな世界を知り、自在に操るためには、このようなアナログな量子コンピュータは大いに活躍するだろう。
車の風洞実験の様子。空気力学のシミュレーションが難しいため、このように実環境でテストする。それと同じように量子力学を現在のコンピュータでシミュレーションことが難しいため、量子力学を用いた量子コンピュータで量子化学計算の可能性等が期待されている。
(写真はメルセデスブログより引用)
古典コンピュータの進化
量子コンピュータの発展と同時に、古典コンピュータ上のシミュレーション方法も進化する。IBMのグループは、量子回路の性質をうまく利用すれば、56量子ビットの量子コンピュータもスーパーコンピュータを使ってなんとかシミュレーションできることを発表している。
精密に制御できる量子コンピュータが実現され、それを最適にシミュレーションしようと努力することによって、究極的に複雑な量子の世界というフロティアを攻略するための方法がこれからたくさん見つかると予想される。量子情報分野の国際会議で、「今こそ古典アルゴリズムをとことん最適化する時期」という指摘があった。これは、もし2018年に量子コンピュータがスーパーコンピュータを超越する年だとするなら、それが古典コンピュータ側のちょっとした改善によって簡単に覆されてしまうなら悲しい、盤石の状況で量子コンピュータの時代へと乗りだそうということだ。
量子コンピュータの実現への道のり
ゲート型量子コンピュータの要求を満たすようにデバイスを作りこむことは非常に挑戦的である。ノイズのあるデバイスでもそれが一定のレベルよりも低ければ、量子誤り訂正技術によって精度保証して信頼できる計算ができることも理論的に示されている。しかし、これを実現するためには、1万~1億量子ビットが必要であると考えられている。この莫大な量子ビットの数と引き換えに、ゲート型量子コンピュータはアナログマシンからデジタルマシンへと進化することができる。
1億量子ビットの集積化は火星に行くような数十年かかる究極的に困難な挑戦だと思う。しかし、真空管からスタートして1億個のトランジスタを1つのCPUに搭載することもできた。アポロプロジェクトはフロンティアだった月に到達する目標のもとたくさんの副産物を生んだ。量子コンピュータの実現に向けた、この究極的に困難な挑戦もたくさんの副産物を生むだろう。そして、その果てに実現された究極の量子コンピュータが、本当の意味で現代のスーパーコンピュータを超越できるかもしれない。