IPSJ情報処理カタログ #ジョーショリ

用語集

量子コンピュータ

りょうしこんぴゅーたQuantum Computing

概 要

量子がもつ「重ね合わせ」や「量子もつれ」といった現象を利用したコンピュータのこと。実現すれば、現在のコンピュータでは到底考えられない複雑な計算が一瞬で完了することが期待される。

解 説

現在のコンピュータでは、「0」と「1」のいずれかの状態をとる「ビット(bit)」という値が、取り扱う最小の値で、この組み合わせで、さまざまなデータを表現したり、計算したりします。たとえばビットが10個集まれば、2の10乗=1024通りの値を表現できます。この値は、当たり前ですが、データを設定したときに確定します。たとえば「500」という値を格納したら、ずっと「500」という値のままです。

対して量子コンピュータでは「量子ビット(キュービット:qubit)」と呼ばれる単位が最小単位です。この量子ビットも「0」と「1」のいずれかの状態を持ちますが、観測するまで「0」とも「1」とも確定しません。量子ビットが10個集まったときは、2の10乗、すなわち先ほどと同じく1024通りの情報を保存できますが、量子の重ね合わせの理論によって、観測するまでは、「0〜1023」までのすべての状態を保持しています。

そして量子コンピュータでは、重ね合わせの状態のまま計算できます。つまり1024通りの状態をもったまま計算することで、同時並列計算ができるのです。

この重ね合わせの理論によって、とても多くの並列計算ができるため、従来とは比べものにならないほどの高速な演算が可能となります。

量子コンピュータは、(現在のコンピュータで使っている)電気ではなく、量子を使って実現します。

量子コンピュータには、実際に(光などの)量子があり、それに対して手を加えて、その結果を観測することで計算結果を求めます。そのため実現がとても難しく、研究レベルでしかも数十の量子ビットでしか実現されていません。1つ1つの量子ビットを使った量子コンピュータは、量子ゲート方式と呼ばれており、そうして構成した量子コンピュータを「万能型」と言います。

現時点では、もう少し扱いやすく工夫したものとして、量子アニーリング方式があります。これは複数の量子をつなげて配置し、その量子に対して外部から状態の変更を加えたときに、最終的に安定した状態を計算結果として求めるものです。

大雑把に説明すると、それぞれの量子は磁石の「N」や「S」のように並んでいて、外側から「N」や「S」を裏返すと、「N同士」や「S同士」は反発し、「NとS」は引き合うので、どこかで状態が確定します(量子の場合は、NやSがスピンの向きに相当します)。これが求められる結果というやり方をするのです。

この方法では、図に示したように、計算したいデータを量子の配列で表現して、そこから結果を求められる計算にしか使えにないため、「特化型量子コンピュータ」(または「非万能量子コンピュータ」)と言います。特化型といっても、さまざまな最適化問題を解くことができ、十分、実用的です。

実現できること

  • ・より高精細な未来予測
  • ・強靱な暗号化(もしくは逆に、現在の暗号化データの数秒での解読)
  • ・物理・化学・医療など、さまざまな分野でのシミュレーションによる未知の現象の究明

将来の展開

万能型量子コンピュータは、まだ先のものですが、現在のコンピュータで量子コンピュータを模したエミュレータがあるので、量子コンピュータを使ったプログラミングは、実際に試せます。

模倣であるため、速度的・効率的に、現在のコンピュータに対する優位性は、まったくありませんが、いまから量子コンピュータを使ったプログラムを作っておけば、将来、量子コンピュータが実現した暁には、信じられない速度で動くプログラムが実現する可能性があります。

特化型量子コンピュータは、さまざまなメーカーがすでに作っており、実用に向けて進んでいます。たとえばAWSでは、量子コンピュータの「Amazon Braket」というサービスを提供しており、個人でも時間単位で借りて使えます。

PAGE TOP