STAGE 1
量子ビットとは何か
0と1の重ね合わせ
🎯 ミッション
量子ビットの状態を「0の矢印と1の矢印の2本組」として説明できるようになろう。読み出しの確率が矢印の長さの2乗で決まること、そして「向きの違いも状態の違い」であることまで押さえられれば合格。
未達成

ねこ博士
今日から新しい旅を始めよう。テーマは量子コンピュータの中身だ。前の旅の最後に「量子コンピュータの敵はデコヒーレンス」という話をしたけれど、そもそもこの機械がどうやって計算するのか、そしてなぜ特定の問題を桁違いに速く解けるのかは、まだ話していなかった。今回はそこを最後まで解き切る。出発点として、まずふつうのコンピュータが情報をどう持っているか、整理してもらえるかな。

うさ美
はい。ふつうのコンピュータの情報の最小単位はビットで、0か1のどちらか一方の値を取るスイッチです。文章も画像も音楽も、ぜんぶ0と1の長い列で表されている。スマホの中には、そういうスイッチが何十億個も入っているんですよね。それで質問です。量子ビットという言葉を聞いたことがありますが、ふつうのビットと何が違うんですか?

ねこ博士
量子ビット(キュービットとも読む)は、0と1にあたる2つの状態を持つ、とても小さな物理系だ。実物としては、超伝導回路を流れる電流だったり、電磁場に浮かべたイオン1個だったり、光子1個だったりする。ここで記号をひとつ導入しよう。0にあたる状態を |0⟩ と書いて「ゼロの状態」と読む。同じく |1⟩ は「イチの状態」。縦棒とカギ括弧はただの飾りで、「これは状態の名前です」という目印だと思えばいい。そして肝心なのはここだ。量子ビットの状態は「0か1のどちらか」ではなく、|0⟩ に矢印1本、|1⟩ に矢印1本、合わせて2本の矢印の表で表される。

うさ美
矢印――前の旅の振幅ですね。復習として整理します。振幅は長さと向きを持つ矢印で、正体は複素数――複素数の教室で習った、掛け算が回転になるあの数です。そしてある結果が起きる確率は、その矢印の長さの2乗で決まる。……ということは、です。|0⟩ の矢印の長さを a、|1⟩ の矢印の長さを b とすると、読み出したら0か1のどちらかにはなるのだから、aの2乗+bの2乗=1になっていないといけませんね。確率の合計は100%のはずですから。

ねこ博士
その通り。その約束を規格化と呼ぶよ。たとえば |0⟩ の矢印の長さが0.8、|1⟩ の矢印の長さが0.6なら、0.64+0.36=1でちゃんと規格化されている。この量子ビットを測定――つまり読み出すと、64%の確率で0、36%の確率で1が出る。そして測定した瞬間、結果の手がかりが測定装置と環境に残るから、それ以降この量子ビットは出た方の状態そのものになる。0が出たなら、状態は |0⟩ に変わり、もう一度読んでも0しか出ない。

うさ美
前の旅の足し算ルールの後半――「手がかりが残った道筋は、もう干渉できない」と同じ話ですね。そこは納得です。でも、いちばん気になる言葉がまだ出ていません。「重ね合わせ」です。2本の矢印がどちらも0でない状態のことだと思うのですが、それは結局どういう意味なんですか? 「本当は0か1のどちらかに決まっているけれど、隠れていて分からないだけ」とは違うんですか?
|0⟩の矢印の長さ 0.71
|1⟩の矢印の長さ 0.71
0が出る確率 50%
1が出る確率 50%
矢印の配分
測定結果の集計 → 0: 0回 / 1: 0回
スライダーで |0⟩ の矢印(青)と |1⟩ の矢印(赤)の長さの配分を変えられる。規格化の約束(長さの2乗の合計=1)は自動で守られ、棒グラフは「長さの2乗=読み出しの確率」。「測定する」を押すと、その確率にしたがって実際に0か1が1つだけ出る。×100回でまとめて測ると、集計が確率の比に近づいていくのが分かる。1回1回の結果は誰にも予言できない――予言できるのは確率だけ、というのが量子力学の約束だった。

ねこ博士
いい質問だ。「隠れているだけ」説――つまり局所実在論の仲間は、きみがベルの不等式の旅で実験的に否定されるのを見届けた通り、量子力学の答えではない。ただ今日は、もっと小さくて具体的な証拠を見せよう。2つの状態を比べる。ひとつは |0⟩ の矢印と |1⟩ の矢印が同じ向きで、長さが√2分の1(約0.71)ずつの状態。もうひとつは、|1⟩ の矢印だけが正反対の向き(半回転ずれた向き)になっている状態だ。前者を |+⟩(プラス状態)、後者を |−⟩(マイナス状態)と呼ぶ。それぞれ読み出したら、何が出るかな。

うさ美
確率は長さの2乗で決まって、向きは2乗すると消えます。長さはどちらの状態でも0.71ずつだから、2乗して0.5。つまり |+⟩ も |−⟩ も、読み出せば50%で0、50%で1。読み出しでは全く区別がつきません。……あれ? それなら |+⟩ と |−⟩ は同じ状態ということになりませんか? 区別する方法がないなら、違いに意味はないはずです。

ねこ博士
ところが、区別する方法があるんだ。そこが今日いちばん大事なところだよ。矢印の向き――前の旅で位相と呼んだものだね――の違いは、そのまま読み出しても現れない。でも、読み出す前に矢印の表を混ぜる操作をすると、足し算ルールの出番になって、向きの違いが表に飛び出してくる。実は、|+⟩ を確実に0に、|−⟩ を確実に1に変えてから読む操作が実在する。次のステージでその操作を自分で作ってもらうから、今日は予告だけにしておこう。大事な結論はこうだ。「読み出しの確率が同じ」でも「同じ状態」とは限らない。量子ビットの状態には、確率の表よりも多くの情報――矢印の向き――が入っている。

うさ美
なるほど……。ふつうのビットなら「読んだら何が出るか」が状態のすべてなのに、量子ビットは読んだだけでは見えない中身を持っている。たとえて言うと、回っているコマは、止まった瞬間の倒れる向きだけ見ても、時計回りだったか反時計回りだったかは分からない。でも回り方そのものは確かに違っていて、他のコマとぶつけたら違いが結果に出る――そんな感じでしょうか。

ねこ博士
いいアナロジーだね。もちろんコマは古典的な物体で、回り方は「隠れて決まっている」だけだから、例えとしては入り口までだよ。でも「単独の読み出しに現れない違いが、組み合わせたときに結果を変える」という構図はよく捉えている。これで「重ね合わせ」の正しい読み方が言える。重ね合わせとは、「0でもあり1でもある」ことでも、「決まっているのに隠れている」ことでもなく、「0の矢印と1の矢印が両方あって、これからの操作でお互いに干渉できる状態」のことだ。矢印が干渉できる、というこの一点が、量子コンピュータの動力源のすべてになる。
左が |+⟩、右が |−⟩。矢印の長さはどちらも0.71ずつなので、読み出しの確率はともに50%対50%(下の棒グラフ)。違いは |1⟩ の矢印の向きだけ。この向き(位相)の違いは単独の読み出しには一切現れないが、STAGE3で矢印を混ぜる操作をすると、|+⟩ は確実に0、|−⟩ は確実に1を出す状態に変わる――つまり完全に区別できる、正真正銘の「別の状態」だ。

うさ美
ひとつ確認させてください。矢印が2本あるといっても、読み出したときに出てくる答えは1つだけですよね。0.8と0.6の量子ビットを1回読んでも、出るのは「0」か「1」のどちらかで、「0.8」という数字が出てくるわけではない。矢印の長さそのものを直接読むことは、できないんですか?

ねこ博士
できない。1回の測定で得られるのは、候補のうちの1つだけ。しかも測定した瞬間に状態は出た方に変わってしまうから、同じ量子ビットを測り直して情報を追加で搾り取ることもできない。矢印の長さを推定したければ、同じ状態をたくさん用意して何度も測り、統計を取るしかないんだ。この「表の中身は豊かなのに、読み出し口は狭い」という性質は、この旅でこれから何度も壁として立ちはだかる。そして量子アルゴリズムの賢さは、ぜんぶこの壁との付き合い方にある。

うさ美
整理します。①量子ビットの状態は、候補 |0⟩ と |1⟩ に1本ずつ割り当てた矢印の一覧表。②矢印の長さの2乗が読み出しの確率で、合計は必ず1(規格化)。③読み出すと答えは1つだけ出て、手がかりが残るので状態は出た方に変わる。④矢印の向き(位相)の違いも状態の違いで、読み出しには現れないが、矢印を混ぜる操作で表に出せる。――ふつうのビットとの違いは、スイッチが「増えた」のではなく、状態の記述が表ごと豊かになったことなんですね。

ねこ博士
よくまとまったね。実物の話も少しだけしておこう。よく使われる量子ビットは、絶対零度近くまで冷やした超伝導回路(電流の量子状態)、電磁場の罠に浮かべたイオン(電子のエネルギー状態)、そして光子(偏光など)だ。どの方式でも、矢印の配分――0.8と0.6のような中間の状態――は、外から電磁波のパルスを当てるなどの操作で自在に作れる。その「操作」こそが計算の正体で、次のステージの主役だよ。計算とは、矢印の表を書き換えること。そこで今日の |+⟩ と |−⟩ の区別も、約束通り実演しよう。
【量子ビットの基本ルール】
・状態=候補 |0⟩ と |1⟩ に1本ずつの矢印(振幅)の一覧表。矢印は長さと向き(位相)を持つ
・読み出しの確率=矢印の長さの2乗。全候補の合計は必ず1(規格化)
・測定すると答えは1つだけ出て、手がかりが残るので状態は出た候補そのものに変わる
・矢印の向きの違いも状態の違い(例: |+⟩ と |−⟩)。単独の読み出しには現れないが、矢印を混ぜる操作で完全に区別できる
確認クイズ
Q1. ある量子ビットの |0⟩ の矢印の長さが0.6、|1⟩ の矢印の長さが0.8のとき、読み出して0が出る確率は?
正解! 確率は矢印の長さの2乗。0.6の2乗=0.36で36%。|1⟩ の方は0.8の2乗=0.64で64%となり、合計はちゃんと1(規格化)になっている。
Q2. |+⟩(矢印が同じ向き)と |−⟩(|1⟩ の矢印だけ正反対)の関係として正しいのは?
正解! 向き(位相)の違いは2乗すると消えるので、そのまま読んだのでは区別できない。しかし矢印を混ぜる操作(STAGE3のアダマールゲート)を挟めば、|+⟩ は確実に0、|−⟩ は確実に1を出す。状態には確率の表以上の情報が入っている。
Q3. 量子ビットの「重ね合わせ」の意味として、この旅で採用した正しい読み方は?
正解! 「隠れて決まっている」説(局所実在論)はベルの不等式の実験で否定済み。また量子ビットは中間の値を取るアナログ量でもない――読み出せば必ず0か1のどちらかが出る。矢印が2本あって干渉できる、これが重ね合わせの中身だ。