STAGE 2位相に目印を付ける
Xゲートと多重制御Z
🎯 ミッション
前ステージの錠前を量子回路に移植しよう。「0の位置にX」「全部1なら位相反転」「Xを戻す」の3手で、|101⟩ だけを −|101⟩ に変え、他の7状態は無傷で返す固定回路が組めれば合格。
未達成

ねこ博士
前のステージで、C=101 専用の錠前は NOT 1個とAND 2個の固定回路で作れると分かった。今日はこれを量子回路に移植する。
その前に、量子側の道具を思い出しておこう。使うのは前作で学んだことだけだよ。
その前に、量子側の道具を思い出しておこう。使うのは前作で学んだことだけだよ。

うさ美
整理し直します。量子ビットが3個あるときの状態は、000から111までの8つの候補それぞれに矢印(振幅)が1本ずつ付いた一覧表でした。矢印には長さと向きがあって、測定するとどれか1つの候補が出る。その確率は矢印の長さの2乗。
記号では、たとえば「101の状態」を |101⟩ と書くのでした。そして計算=ゲートは、この一覧表の書き換え。Xゲートは0と1を入れ替える書き換えです。
記号では、たとえば「101の状態」を |101⟩ と書くのでした。そして計算=ゲートは、この一覧表の書き換え。Xゲートは0と1を入れ替える書き換えです。

ねこ博士
それで十分だ。さて、移植には設計変更が1か所だけ要る。古典の錠前は「一致なら出力線に1を出す」だった。量子版のオラクルがやりたいのは、そうではなくて一致した候補の矢印を反対向きにすることだったね。矢印の向き――これを位相と呼ぶ――に目印を付けるんだ。
そこで、ANDの代わりになる新しい門番を1人紹介する。多重制御Zだ。働きはただひとつ。「ビットが全部1の候補の矢印だけ、向きを正反対にする。それ以外には指一本ふれない」。3ビットなら、|111⟩ を −|111⟩ にして、残りの7つはそのまま通す。
そこで、ANDの代わりになる新しい門番を1人紹介する。多重制御Zだ。働きはただひとつ。「ビットが全部1の候補の矢印だけ、向きを正反対にする。それ以外には指一本ふれない」。3ビットなら、|111⟩ を −|111⟩ にして、残りの7つはそのまま通す。

うさ美
全部1のときだけ働く――ANDと同じ発想の門番なんですね。
でも、それだと困りませんか。この門番が目印を付けてくれるのは |111⟩ だけです。私たちの正解は 101。111専用の錠前しか売っていないのに、101の錠前が欲しい状況です。
でも、それだと困りませんか。この門番が目印を付けてくれるのは |111⟩ だけです。私たちの正解は 101。111専用の錠前しか売っていないのに、101の錠前が欲しい状況です。

ねこ博士
そこで前のステージの答えを思い出してほしい。古典の錠前では、C の 0 の桁に NOT を置いた。量子版もまったく同じ手を使う。C=101 の 0 になっている桁――真ん中の y₁ に、X ゲートを掛けるんだ。
Xは0と1を入れ替えるから、もし入力が101なら、真ん中だけ裏返って 101 → 111 になる。正解の候補だけが、門番の効く「全部1」の形に化ける。
Xは0と1を入れ替えるから、もし入力が101なら、真ん中だけ裏返って 101 → 111 になる。正解の候補だけが、門番の効く「全部1」の形に化ける。

うさ美
なるほど、それなら手順はこうですね。
①真ん中のビットにXを掛ける(101→111)
②多重制御Zで、全部1なら矢印を反転
③真ん中のXを掛け直して、元に戻す(111→101)
順に追うと、|101⟩ →① |111⟩ →② −|111⟩ →③ −|101⟩。ちゃんと101に目印が付きました。
①真ん中のビットにXを掛ける(101→111)
②多重制御Zで、全部1なら矢印を反転
③真ん中のXを掛け直して、元に戻す(111→101)
順に追うと、|101⟩ →① |111⟩ →② −|111⟩ →③ −|101⟩。ちゃんと101に目印が付きました。

ねこ博士
そう。では、正解でない候補も通してみよう。ここが肝心の確認だ。たとえば |110⟩。
①でXが真ん中を裏返して |100⟩。②の門番は「全部1」ではないから何もしない。③でXが戻して |110⟩。
つまり、入ったときとまったく同じ姿で出てくる。矢印の向きも長さも無傷だ。8つの候補のうち、−が付いて出てくるのは |101⟩ ただ1つ。これで C=101 専用の量子錠前が完成した。
①でXが真ん中を裏返して |100⟩。②の門番は「全部1」ではないから何もしない。③でXが戻して |110⟩。
つまり、入ったときとまったく同じ姿で出てくる。矢印の向きも長さも無傷だ。8つの候補のうち、−が付いて出てくるのは |101⟩ ただ1つ。これで C=101 専用の量子錠前が完成した。

うさ美
1つ気になります。③でXを戻すのはなぜ必要なんでしょうか。②の時点でもう目印は付いています。そこで終わりにしては駄目なんですか。

ねこ博士
②で終わると、目印は付いているが、候補の名前が書き換わったままになる。101の成分は111の行に、110の成分は100の行に引っ越した状態だ。オラクルの約束は「目印を付ける以外の変化を残さない」こと。あとに続く「平均のまわりの折り返し」は、一覧表が元の並びのままであることを前提に働くからね。
調べるために一時的に形を変えたら、調べ終わったら元通りにして返す――この「行きに使った変換を、帰りに逆再生する」型は、この先もくり返し出てくる。覚えておいてほしい。
調べるために一時的に形を変えたら、調べ終わったら元通りにして返す――この「行きに使った変換を、帰りに逆再生する」型は、この先もくり返し出てくる。覚えておいてほしい。

うさ美
古典の錠前との対応がきれいに見えてきました。
・NOTを置く位置 ↔ Xを置く位置(どちらもCの0の桁)
・AND ↔ 多重制御Z(どちらも「全部1」の見張り)
そして今回も、正解C=101の情報はゲートの配置に焼き付いているだけで、回路の中に比較用のメモはない。X・多重制御Z・Xと並べた固定回路ですね。
・NOTを置く位置 ↔ Xを置く位置(どちらもCの0の桁)
・AND ↔ 多重制御Z(どちらも「全部1」の見張り)
そして今回も、正解C=101の情報はゲートの配置に焼き付いているだけで、回路の中に比較用のメモはない。X・多重制御Z・Xと並べた固定回路ですね。

ねこ博士
その通り。最後にひとつ、目印の性質を確認しておこう。矢印の向きが反対になっても、長さは変わらない。確率は長さの2乗だから、いま測定しても101が出やすくなってはいない。目印はいわば透明なインクで、あとで「平均のまわりの折り返し」が長さの差に変換して初めて見えるようになる。前作でやった通りだ。
ここまでは、入力が |110⟩ とか |101⟩ とか、1つの候補だけの場合を調べた。次のステージでいよいよ、重ね合わせをこの錠前に通す。
ここまでは、入力が |110⟩ とか |101⟩ とか、1つの候補だけの場合を調べた。次のステージでいよいよ、重ね合わせをこの錠前に通す。
結果: |000⟩ はそのまま通り抜けた(目印なし)
C=101 の量子錠前に、8つの候補を1つずつ通す実験。ボタンで入力を選ぶと、3ステップでの変化が上に出る。Xで真ん中が裏返り、101だけが111になって門番Zに捕まり、−の目印を付けられてから元の姿101に戻される。他の7候補は門番の前を素通りし、入ったときと同じ姿で出てくる。正解の情報はXを置いた位置に焼き付いている。
【C=101 の量子錠前(オラクル)】
・道具:Xゲート(0↔1の入れ替え)と、多重制御Z(全部1の候補の矢印だけ反対向きにする。他はそのまま)
・手順:① Cの0の桁(y₁)にX ② 多重制御Z ③ ①のXを掛け直して戻す
・正解の通り道:|101⟩ → |111⟩ → −|111⟩ → −|101⟩。目印が付くのはこの1つだけ
・外れの通り道(例):|110⟩ → |100⟩ → |100⟩ → |110⟩。全部1にならないのでZは働かず、無傷で出てくる
・向きの反転は長さを変えないので、いま測っても当たりは出やすくならない。目印は「平均のまわりの折り返し」(前作STAGE6)が長さに変換する
・回路は固定:比較用のメモはなく、C の情報は X の配置そのもの。錠前のピンと同じ
確認クイズ
Q1. 正解が C=011 のとき、多重制御Zの前後でXゲートを掛けるべきビットは?
正解! Xを掛けるのは「Cの0の桁」。C=011 で0なのは y₂ だけだ。こうすると正解の011だけが111に化けて門番Zに捕まる。古典の錠前でNOTを置いた位置と、きれいに対応している。
Q2. C=101 の量子錠前に |110⟩ を通すと、出てくるのは?
正解! |110⟩ は①のXで |100⟩ になるが、全部1ではないので②のZは働かない。③のXが元に戻して |110⟩。一致しない候補は、何事もなかったかのように出てくる――これがオラクルの「それ以外には何もしない」の中身だ。
Q3. 手順③で、最初に掛けたXをもう一度掛けて「戻す」のはなぜ?
正解! ②で終わると101の成分は111の行に引っ越したままだ。あとに続く「平均のまわりの折り返し」は一覧表が元の並びであることを前提に働くので、調べ終わったら逆再生で元通りにして返す。この「行きの変換を帰りに逆再生する」型は、STAGE4の逆計算でも主役になる。