(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【サルでも分かる】量子コンピュータ入門

スポンサーリンク

f:id:mtiit:20200118201020j:plain

はじめに

量子コンピュータってたまにニュースで聞くけど何も分かっていない

程度の知識でも量子コンピュータについて大枠を理解できるよう、順を追って説明する入門記事を書いてみました。

所要時間目安 : 5分

何が量子?

普通のコンピュータとは何が違うの?

量子コンピュータは量子力学の性質を利用して計算を行うコンピュータです。

量子の世界ではミクロな物質が持つ性質を使って、「0」か「1」が確定していない重ね合わせの状態を取ることができます。
以下にてその確率が重ね合わさって存在しているイメージを解説していますが、観測することで初めて状態が確定するという常識が通用しない世界です。

0と1が重ね合わさっていると何が嬉しいの?

0と1が曖昧な状態を「量子ビット」と言いますが、10個の量子ビットを用いれば\rm{2^{10}}、つまり1024通りの可能性を表現できます。

通常のコンピュータが10ビットでその状態を網羅するためには1024回計算を繰り返す必要がありますが、量子コンピュータであれば1回で済むというわけです。大量のデータの並列処理に量子コンピュータが期待されています。

1024通りの結果をどう得る?

1024通りの中のどれが欲しい答えかは分かるの?

量子ビットは観測すると状態が確定するので、1024通りの状態が重ね合わせになっている10個の量子ビットも観測すれば1通りに収束します。
量子ビットは0か1かは五分五分の確率なので、そのままであれば1024通りの中からランダムな状態が観測されるだけで何も役に立たない乱数発生マシーンです。

そこで「量子アルゴリズム」が登場します。

量子アルゴリズムは、量子コンピュータが必要な計算結果を出力する確率を高める手順です。量子コンピュータの世界では解きたい問題に応じて量子アルゴリズムを用意する必要があります。有名なものでは、素因数分解を解く「ショアのアルゴリズム」などがあります。

Googleの量子超越性

Googleの量子コンピュータがニュースになっていたよね?

Googleは50数個の量子ビットを用意し、特別な問題においてはスーパーコンピューターを凌駕することを実験で示しました。

\rm{2^{53}}は約9000兆なので、すさまじいと思えますが汎用的な量子コンピュータを作ろうと思うと100万量子ビット必要と言われています。

汎用的な量子コンピュータってなに?

今のパソコンのように、アルゴリズムさえ与えてあげればなんでもできるものを指します。

少し難しいですが、量子ゲート方式という量子ビットを使って演算回路を作る方式は汎用的な量子コンピュータが実現可能ですが、アニーリング方式という組み合わせ最適化問題に特化した方式では汎用的な演算はできません。

量子ビットを増やしていくにも、回路が複雑になることによるノイズの発生など課題も山積みですが、化学メーカーにて「科学シミュレーション」という使われ方が特に期待されているようです。

今後に期待!

まとめ

  • 量子コンピュータは並列処理に強い
  • 量子ゲート方式とアニーリング方式がある
  • Googleは53bitの量子コンピュータを動かした
  • 100万~1億量子ビットあれば現代の暗号は解けてしまう

以上、サルでも分かる量子コンピュータでした。