はじめに
前回、量子コンピュータの話はレイヤーを分けると見通しがよくなる、という話を書きました。
今回はその第1回として、いちばん下の 物理(量子力学) の話を整理します。
量子コンピュータを勉強しようとすると、粒子と波、観測、不確定性原理、シュレディンガーの猫、多世界解釈など、不思議な話に引っ張られます。
どれも面白いですが、量子コンピュータを理解する入口として、全部を一気に理解しようとするとつらいです。
量子コンピュータに絞れば、量子計算が使う性質に絞って理解を深めるのがタイパ良いと思います。せっかくなので、量子力学勉強すると楽しいとは思いますが。
この記事は、数式をきっちり理解するためというより、「まずどこを見ればよさそうか」の方向性をつかむための記事です。
細かい式が追えなくても、量子でコンピュータでどんなことが重要なのかが少し見えれば十分、くらいの温度感で読んでもらえればと思います。
量子計算が主に使う3つの性質
量子コンピュータの物理として、まず押さえたいのは 重ね合わせ・もつれ・干渉 です。測定も重要ですが、計算で重要なのはこの3つかと思います。
重ね合わせ
古典ビットは 0 か 1 のどちらかです。一方、量子ビット(qubit)は、ざっくり言うと 0 と 1 の重ね合わせを状態として持てます。
α|0⟩ + β|1⟩
ここで α と β は振幅です。確率そのものではなく、複素数です。測定して 0 が出る確率は |α|²、1 が出る確率は |β|² です。
振幅は複素数、確率はその絶対値の二乗。この区別がかなり大事です。
突然、数式というか記号を出しましたが、詳細は本読んでもらうのが良いと思います。
もつれ
もつれは、複数の qubit を合わせたときに、個々の qubit の状態に分解できない状態です。
たとえばマックスもつれているベル状態は、よくこう書かれます。
(|00⟩ + |11⟩) / √2
これは「1つ目が 0 なら2つ目も 0、1つ目が 1 なら2つ目も 1」という相関を持ちます。ただし、単なる相関というより、状態全体としてしか書けないところが重要です。
量子力学では、「もつれ = 遠くの粒子が不思議に連動する話」みたいな話が出てくるのです、それです。数学的には、複数 qubit の状態がテンソル積に分解できない(独立した状態で表現できない)みたいな話とリンクします。
干渉
量子アルゴリズムでいちばん大事なのは、たぶん干渉です。
重ね合わせだけだと、「全パターンを同時に持てる」ように見えます。でも測定したら1つの結果しか出ません。
では何がうれしいのか。振幅が複素数なので、足し合わせたときに打ち消し合えることです。
量子アルゴリズムでは、間違った答えにつながる振幅を打ち消し、正しい答えにつながる振幅を強めるように回路を作ります。
つまり、量子計算の強さは「全部を並列に試す」ことではなく、干渉で確率の山を作ることにあります。
(ただし、アルゴリズムによって見方は少し変わり、変分法と呼ばれるアプローチではパラメータ付き量子回路を古典最適化で調整するものもあるようです。)
いくつかの誤解を避ける
「全パターン並列」は入口としては便利だけど危ない
n 個の qubit を使うと、状態空間は 2^n 次元になります。ただし、測定すると取り出せるのは基本的に1つの結果です。全部の答えをリストとして取り出せるわけではありません。
だから、量子アルゴリズムは「たくさん状態を持てる」だけでは足りません。答えの構造を位相に埋め込み、干渉で読み出せる形にする必要があります。
「並列に計算できるから速い」ではなく、「干渉を設計できる問題では速くなる可能性がある」と見るほうが、だいぶ誤解が減る気がします。
不確定性原理や解釈論はいったん横に置く
最初は、量子コンピュータって、不確定性原理とか量子力学の王道なぞ原理とかも出てくるのかなと思ってましたが、どうも出てこない(or メインストリームじゃない)ようです。
他にも、コペンハーゲン解釈や多世界解釈ってめちゃくちゃ面白い議論があるのですが、量子コンピュータにフォーカスしたら知らなくて良さそうです。
まずは「状態を持つ、ゲートで変える、測定する、干渉で確率を寄せる」くらいの動作仕様を受け入れる。解釈はそのあとで楽しむ、くらいが学習しやすい気がしています。量子コンピュータに必要な量子力学を勉強すると、結構ノイズが含まれてそうだなという印象です。半導体も一緒で、CPUのスイッチ動作の理解には、半導体のリッチな物理現象の一部しか必要ないと思います。勉強すると面白いとは思いますが人生は有限なので。。。
おわりに
今回は、量子コンピュータを理解する入口として、物理のどこを見るかを整理しました。自分の中では、まずこういう見方を持つと迷子になりにくいです。
- 量子コンピュータで使う量子力学は一部
- 重ね合わせ、もつれ、干渉を見る
- 振幅と確率を分ける
- 「全パターン並列」だけでなく「干渉で確率の山を作る」のが大事
- 不確定性原理や解釈論はいったん横に置く
次は、機械としての量子コンピュータ、つまり qubit、物理方式、制御、誤り訂正あたりを整理する予定です。
まだ自分も整理中なので、間違いや違和感があれば教えてもらえるとうれしいです。
