
5.重ね合わせたあと、どうやって答えを取り出すの?――量子計算の「干渉」とは
前回までに、
量子コンピューターは、たくさんの状態を重ね合わせとして扱える。
でも、その答えを全部まとめて読み出せるわけではない。
というところまで見てきました。
では、
全部読めないなら、たくさん持つ意味はあるの?
という疑問が残ります。
量子コンピューターの工夫は、
「たくさん持つこと」ではなく、そのあと何をするか
にあります。
今回は、その中心にある
「干渉」を見てみます。
重ね合わせは、まだスタート地点
量子コンピューターでは、複数の可能性を含んだ量子状態を作ります。
でも、それだけでは欲しい答えも、いらない答えも一緒です。
候補者を全員会議室に集めただけ。
まだ採用者は決まっていません(笑)。
大事なのは、
その量子状態そのものに手を加えること
です。
ここで「干渉」が出てくる
量子には、波のような性質があります。
波は重なると、
強め合ったり、
打ち消し合ったりします。
これが干渉です。
量子コンピューターでは、この性質を利用して、
役に立つ情報は目立ち、そうでない情報は目立ちにくくなるように量子状態を操作します。
ただし、
最初から正解を知っていて、その答えだけを強めているわけではありません。
それでは計算する意味がありません。
問題の中にある構造やパターンを利用して、
欲しい情報が測定結果に現れやすい状態を作る。
ここがポイントです。

ここから、ShorのアルゴリズムとGroverのアルゴリズムを少しだけ見てみます。
ただし、この記事では、数式や数学的な仕組みをきちんと理解することを目的にはしません。
そこまで入ると、急に数学の授業が始まります(笑)。
ここで感じ取ってほしいのは、
量子コンピューターも、いきなり答えそのものを取り出しているわけではない
ということです。
Shorのアルゴリズムでは、答えにつながる「周期という特徴」を探します。
一方、Groverのアルゴリズムでは、たくさんの候補の中から「正解候補そのもの」が見つかりやすくなるようにします。
どちらも量子の重ね合わせや干渉を使いますが、
正解へ近づく道筋は少し違う。
この記事では、その違いがなんとなく見えれば十分です。
Shorのアルゴリズムでは、「答え」ではなく「特徴」を探す
少しだけ素因数分解で考えてみます。
たとえば、
15を素因数分解する。
答えは3 × 5ですが、ここでは知らないことにします。
Shorのアルゴリズムでは、3や5を直接探すわけではありません。
探すのは、
計算の中に現れる「周期」
です。
例えば、15を使ったある計算では、途中で
1 → 2 → 4 → 8 → 1……
という4個ごとの繰り返しが現れます。
この「4」が周期です。
Shorのアルゴリズムでは、素因数を直接探しにいくのではなく、まずこうした数字の繰り返しのクセを量子計算で探します。
そして、その周期が分かると、あとは普通のコンピューターで計算することで、元の数を割り切る数字――つまり素因数へたどることができます。
ここでは、
「周期が分かると、素因数を探すための大きな手がかりになる」
くらいに思ってもらえれば十分です。
詳しい計算まで入ると、ここから急に数学の授業が始まるので(笑)、今回はそこには入りません。

では、干渉は何をしているのか
量子状態の中には、たくさんの可能性があります。
でも、その全部を一覧表として読むことはできません。
そこで、
全部を読むのではなく、欲しい特徴を測定から読み取りやすい形にする。
ここで干渉を使います。
強め合う成分と、打ち消し合う成分を利用して、
周期に対応するパターンが、測定結果に現れやすくなる
ように量子状態を変えていきます。
すると測定したとき、
全部の計算結果は見えなくても、
「どうやら4個ごとに繰り返しているらしい」
という、欲しかった特徴を読み取りやすくなります。
実際には、測定した値をそのまま見て、
「周期は4です!」
と量子コンピューターが答えてくれるわけではありません。
測定結果を手がかりに、普通のコンピューターで計算しながら周期を推定します。
ここで大事なのは、
全部の答えを読もうとしているのではない
ということです。
たくさんの可能性を利用して、
答えにつながる特徴を、読み取れる形に変える。
そのために干渉を使います。
Groverでは、また少し違う
前の記事でも登場したGroverのアルゴリズムでは、考え方が少し違います。
Shorが、
周期という「特徴」を、測定から読み取れる形にする
のに対し、
Groverでは、
正解候補そのものが測定されやすくなる
ように量子状態を変えます。
つまり、
Shorでは、
答えにつながる特徴を取り出しやすくする。
Groverでは、
答えの候補そのものを取り出しやすくする。
やり方は違います。
でも共通しているのは、
干渉を使って、必要な情報が測定結果に現れやすい状態を作る
ことです。
つまり、重ね合わせでたくさんの可能性を扱い、
最後に欲しい情報が見えやすくなるように仕込んでいる。
そんなイメージです。
量子ちゃん、
候補は大量に抱えるのに、最後は意外と選別上手です(笑)。

だから、重ね合わせだけでは足りない
量子コンピューターでは、
重ね合わせを作るだけでは計算は終わりません。
大事なのは、
重ね合わせる
↓
量子状態を操作する
↓
干渉させる
↓
必要な情報を目立たせる
↓
測定する
という流れです。
つまり、
全部の候補を持つことがすごいのではなく、そこから何を浮かび上がらせるかが重要。
ということです。

あとがき
ここまで読んで、
「周期? 干渉? Shor? Grover? ちょっと待ってください」
となった方。
大丈夫です。
私も途中で何回か待ってもらいました(笑)。
今回は、量子コンピューターの中でもかなり大事な、
「重ね合わせたあと、何をしているの?」
というところを見ています。
ただ、非ITの方が今回、
Shorのアルゴリズムを説明できる必要はありません。
周期を計算できる必要もありません。
ましてや、
「量子干渉について、白板を使って説明してください」
とか言われても、
普通に逃げて大丈夫です(笑)。
今回、持ち帰ってほしいのは本当にこれだけです。
量子コンピューターは、たくさんの候補を持つだけではない。
そのあと、
干渉を使って、必要な情報が見えやすい状態に変えてから測定している。
ここまでです。
ここを越えると、
「量子コンピューターって、100万個を同時に計算する超高速パソコンなんでしょ?」
という説明を聞いたときに、
「いや、もうちょっと癖のあるやつです(笑)」
と思えるようになります。
それだけでも、かなり前進です。
そして次回は、
じゃあ、その量子状態って、実際にはどうやって操作してるの?
という話です。
ここでようやく、
量子ゲート
が出てきます。
名前だけ見ると、
なんだか空港の搭乗口みたいですが、
飛行機には乗りません(笑)。
もう少しだけ、量子の中を歩いてみます。
今のところ、
迷子札はまだ必要ありません。
次の記事
こちらの登録マガジンはこちら
他のマガジンの紹介