昨今AIやビッグデータなど、コンピュータを活用した新たなテクノロジーが花盛りです。
その中でも、大量の計算を必要とする分野については、コンピュータ技術の発展により急激な進歩が見られています。
スーパーコンピュータ解析を用いた地域限定の天気予報や、ビッグデータ解析による市場動向の調査といった分野はまさに良い例です。
しかし、このところさらに不連続な進化を可能にする技術開発が進んでいます。
その一つが「量子コンピューティング」です。
特に最近、Googleが研究の結果、「量子超越性」というブレークスルーを実現したかもしれない、という大きなニュースが話題となりました。
今回はこの「量子コンピューティング」について、技術や利用分野まで簡単にご説明します。
1.古典コンピュータ
現在「コンピュータ」と呼ばれる機械の原型ともいえる「ENIAC(エニアック)」は、アメリカで1946年に開発されました。
このコンピュータは、現代と違い真空管を使ったもので、大量の電気を使い、今とは比べ物にならない程低い計算能力ではありましたが、当時としては画期的なものでした。
プログラミングされるENIAC(WikiPedia)
ただこのENIAC、実は現在のコンピュータと違って内部計算には「10進法」つまり私たちが通常取り扱っている数字と同じ考え方が採用されていました。
これに対し、現在のコンピュータは、あとで説明する量子コンピュータなど特殊なものを除いて全て「2進数」で全ての数字を扱っています。
二進法とは、「0」か「1」だけを扱い2ごとに桁上がりをしていく方式で、たとえば
5=4+1→「101」
15=8+4+2+1→「1111」
といった形で数字を0か1かだけで表していきます。
なお2進法で数字を示した際の桁数を「ビット数」と言います。
この2進法、半導体を使った現在のコンピュータを作動させるには非常に良い方式だったのですが、計算が複雑になるにつれ、ビット数が急激に増えて計算能力をどんどん強化する必要がある、というデメリットが出てきました。
例えば、計算には電子の動き(すなわち電流)を利用しますので、一つ一つはわずかでも大量になればそれだけ電気が流れます。その結果熱が発生するのですが、最近のパソコンの心臓部(CPU)は高性能化のため回路が極めて微細化されているので、その小さな中に大量の電流が流れるとなると、大きな発熱量となります。この発熱量、面積当たりでみると「金属も溶けるほど」といわれており、冷却が大きな課題となっています。
このような現在のコンピュータは、量子コンピュータなど新世代の概念に対比して「古典コンピュータ」と呼ばれています。
2.スーパーコンピュータ
スーパーコンピュータも、本質的には「古典コンピュータ」と同じ「2進法」を基礎に持つコンピュータであるといえます。
このスーパーコンピュータは、その名の通り「スーパー」な計算能力を持ち、構造解析、有機化合物や高分子などの特性シミュレーション、天気予報や流体力学、ビッグデータ解析など大量の計算に特化した能力を持っています。
これらの計算方法には「スカラー型(計算を順次処理していくもの)」と「ベクトル型(一度に大量の数字=数列を扱い計算するもの)」がありますが、いずれも大量の計算処理をするために、前述の0と1でできた巨大なデータを高速に扱い続ける必要があります。
このため、スーパーコンピュータには一般的に大規模で安全な場所、大量の電力、そして十分な冷却施設(上で説明した発熱がさらに大きいため)が必要となり、結果として機材も運用コストも大変高額となります。私が大学で材料力学の研究をしていた30年前は、「〇秒〇円」といった料金や予算が厳格に定められており、誰もが使えるものではありませんでした。
これに対し最近は「並列コンピューティング」技術の進歩で安価なパソコンを連結することでスーパーコンピュータに近い性能を発揮できたり、クラウドを利用して誰でも安価かつ手軽にスーパーコンピュータを利用できたり(例えばエクストリームーD社)、といった環境の変化が見られます。
とはいえ、その背景にあるのは依然として「古典コンピュータ」の世界であり、複雑さが増すと計算量が飛躍的に増大してしまう、といった問題は解決されていません。
3.量子コンピュータ
そこで昨今脚光を浴びているのが「量子コンピュータ」です。
量子とは、元々物理学の世界で取り扱われていた概念で、「一つの物体」と「それに付随するエネルギー」別々ではなく、「粒子と波やエネルギーの性質を一緒くたにした超微小な単位」のことを言います。
私たちの目に見える物質は「そこにある」ことや「どれくらいの速度で移動している」といった状態が測定できるのですが、その物質が測定するための光の波長より小さくなると「だいたいどれくらいの場所」で「だいたいどれくらいの速度」くらいしかわからなくなり、何よりそれが測定ごとに異なってくる、といった不思議な現象を見せるようになります。
量子コンピュータは、こういった量子の特性を利用してしまう機械なのです。
コンピュータにおける一個の計算単位は、古典的コンピュータの場合「0か1」という2種の状態しかとり得ないのですが、量子コンピュータの場合、前述の通り測定ごとに様々な値を取ることになります。量子コンピュータにおけるこの計算単位を、量子ビット(quantum bitやQbit)と呼びます。
この量子ビットを組み合わせ、様々な計算結果を一気に計算してしまうことを可能にすることがポイントです。
量子力学においては、測定ごとに異なる結果が表れるため「パラレルワールドが無数に発生している」と論じる人もいますが、まさに量子コンピュータはその「パラレルワールド」を全て観察するための機械であるともいえます。
しかし、そんな多数の結果を一気に計算されても、どれが求めるべき結果であるか取り出すことが出来なければ単なるカオスとなってしまいます。
この点について、現在大きく分けて「量子回路(ゲート)方式」と「量子焼きなまし(アニーリング)方式」という2つの方式が採用されています。前者はどちらかといえば古典コンピュータに近いもの、後者は多数の組み合わせを一気に解くのに適した方式といわれています。
この量子コンピュータによる計算結果が、従来型のコンピューター(スーパーコンピュータなど)による「力技の多量計算」によって実現不可能な計算能力にまで達した状態を「量子超越性(りょうしちょうえつせい)」と呼びます。
4.量子コンピュータが活用される分野
量子コンピュータは、古典的コンピュータが不得手としてきた「多数の組み合わせ」を取り扱う分野において特に威力を発揮します。特に非線形問題と呼ばれる分野(1対1で結果が得られる線形問題と違い、ストレートに解が求められない複雑な問題)においては、古典的コンピュータが「モンテカルロ法」など一定の範囲制限を置いて計算回数を減じる妥協策を採らざるを得ないのに対し、量子コンピュータの場合、一度にいくつもの組み合わせを本当に解くことができ、このような問題の最適解へ早くたどり着くことができます。
たとえば、自動車のように多数の部品をいくつもの工程で組み立てるような製造の場合で、しかも複数の製品を同時並行で製造する最適な(物や人の移動を最小限にする)工場レイアウトを検討する場合、人間の能力や古典的コンピュータの場合は、一定の前提条件を置かなければいくつもの組み合わせを無限に計算する必要があり、非常に長い時間(数年~数百年)がかかって計算が難しくなってしまいますが、量子コンピュータの場合はこのような計算において数秒で最適解を計算してしまう場合があります。
また、量子コンピュータは自然科学(天気予報など)、AI・機械学習、ビッグデータ解析、金融、社会科学の分野においても最適解を探るのに適しています。
意外なところでは、量子コンピュータが普及すると「暗号が意味をなさなくなる」とも言われています。
暗号解読はまさに「多数の組み合わせ」計算の集合体ですので、量子コンピュータにとっては最も得意な分野なのです。
これをもっと拡大して考えると、ひょっとしたらいまだ世界に知られていない名曲や名作文学も、量子コンピュータで作成できる可能性もあるのです。
音楽や文学は、音符や文字を組み合わせた、言ってみれば巨大な暗号です。
聴いたもの、読んだものに感動を与える素晴らしい交響曲や小説を量子コンピュータがあっという間に創り上げてしまう、そんな時代が割と早くやってくるかもしれません。
ワーグナー「トリスタンとイゾルデ」