tecktom.com

誤り耐性:訂正の回路も誤る

2026年10月15日10分で読めますAI生成教科書『虎の巻』第6部 第5章 誤り耐性としきい値定理
目次
  1. 雑音の模型:場所と故障
  2. CNOT は誤りを広げる
  3. 誤り耐性の定義
  4. 木下の層

AI 生成・木下が未勉強

相対エントロピーから情報と物理を組み立てる 第6部 第5章 §6.5.1 ★★★ CNOT は誤りを広げるので、1か所の故障が1つの符号ブロックに2個以上の誤りを作らないように回路を組む。これが誤り耐性の定義である

第3部第9章の量子誤り訂正は、雑音が符号の量子ビットにだけ当たり、シンドロームを測る回路と訂正の操作は誤らない、という理想化の上に立っていた。実際の量子コンピュータでは、シンドロームを測るための CNOT も、補助の量子ビットの準備も、測定そのものも、データの量子ビットと同じ程度の確率で誤る。そのうえ計算をするには、符号に書き込んだ論理量子ビットどうしにゲートを当てなければならず、そのゲートも誤る。第6部第4章の Grover の探索を N\sqrt N 回の反復で走らせるには、1回の反復の誤りを 1/N1/\sqrt N よりずっと小さく保つ必要があり、NN が大きければ物理的な部品の誤りではとても足りない。誤りを直す操作が新しい誤りを持ち込むのであれば、符号を大きくするほど誤る場所も増え、得をするかどうかは自明でない。この問いに答えるのがしきい値定理である。物理的な部品1つが誤る確率 ε\varepsilon がある定数 εth\varepsilon _{\mathrm{th}}(しきい値)より小さければ、長さ LL の量子回路を、全体の失敗の確率を任意の δ\delta 以下に抑えたまま、LL と 1/δ1/\delta の対数の多項式倍の資源で実行することができる。

この章ではまず、誤り訂正の回路そのものが誤るときに何が困るか、すなわち誤りが CNOT を通って広がることを調べ、それを防ぐ回路の作り方(誤り耐性)を定める。次に、符号の中にさらに符号を入れる連結によって、論理誤りが εth(ε/εth)2ℓ\varepsilon _{\mathrm{th}}(\varepsilon /\varepsilon _{\mathrm{th}})^{2^\ell} と2重指数で下がることを導き、しきい値定理を述べる。3つ目に、現在の実験で主に使われる表面符号を、第5部第2章のトーリック符号を平面に切ったものとして作り、4つ目に、その復号を統計力学の相転移に写して、しきい値の数値(10.9%・10.3%・2.9%・0.75%)がそれぞれ何を意味するかを整理する。5つ目の節は、第6部の各章に置いている「情報の側から見ると」の節で、しきい値を環境へ漏れる情報 I(R;E)I(R;E) が 00 に向かうか ln⁡2\ln2 に向かうかの境目として読み、誤り訂正が雑音の持ち込むエントロピーを熱として捨て続ける操作であること(第4部第5章の Landauer 原理)を確かめる。6つ目に、古典の誤り訂正と von Neumann の多数決回路、計算量の BQP と並べて、量子のしきい値定理が古典の場合と何が同じで何が違うかを確かめる。

この章の対数は自然対数(nat)とする。Pauli 演算子は X,Y,ZX,Y,Z、恒等演算子は 1\mathbf 1 と書き、XjX_j は jj 番目の量子ビットにだけ当てる XX を表す(第3部第9章と同じ)。物理的な部品1つの誤りの確率を ε\varepsilon、論理量子ビットの誤りの確率を εL\varepsilon _{\mathrm L} と書く(記法の正本の ε\varepsilon は1電子のエネルギーだが、この章には現れない)。符号のパラメータ [[n,k,d]][[n,k,d]] は、nn 個の物理量子ビットに kk 個の論理量子ビットを書き込み、距離が dd であることを表す。連結の段数は ℓ\ell と書き、kk と区別する。

雑音の模型:場所と故障

量子回路を、時間の刻みごとに並んだ場所(location)の集まりと見る。場所とは、1量子ビットの準備・1量子ビットのゲート・2量子ビットのゲート・測定・何もしない待機のどれか1つの操作である。この章で使う雑音の模型は局所確率的雑音で、各場所が独立に確率 ε\varepsilon で故障し、故障した場所は理想の操作のあとに、その場所が触る量子ビットに任意の Pauli 演算子を当てる、とする。任意の Pauli 演算子でよいとするのは、第3部第9章の誤りの離散化により、Pauli の誤りを直す符号は任意の誤りの演算子の線形結合も直すからである。故障した場所の数が mm の配置は確率 εm\varepsilon ^m 程度で起こるので、回路の失敗の確率は「何か所の故障で回路が失敗するか」の最小値で決まる。

CNOT は誤りを広げる

CNOT(制御を量子ビット1、標的を量子ビット2とする)U=∣0⟩⟨0∣⊗1+∣1⟩⟨1∣⊗XU=| 0 \rangle \langle 0 |\otimes\mathbf 1+| 1 \rangle \langle 1 |\otimes X のすぐ前に Pauli の誤り EE があると、UE=(UEU†)UUE=(UEU^\dagger)U なので、理想の CNOT のあとに誤り UEU†UEU^\dagger が残ったのと同じになる。4つの基本の場合を計算すると

U(X⊗1)U†=X⊗X,U(1⊗X)U†=1⊗X,U(1⊗Z)U†=Z⊗Z,U(Z⊗1)U†=Z⊗1(6.5.1)U(X\otimes\mathbf 1)U^\dagger=X\otimes X,\qquad U(\mathbf 1\otimes X)U^\dagger=\mathbf 1\otimes X,\qquad U(\mathbf 1\otimes Z)U^\dagger=Z\otimes Z,\qquad U(Z\otimes\mathbf 1)U^\dagger=Z\otimes\mathbf 1\tag{6.5.1}

である。制御側の XX は標的へ写り、標的側の ZZ は制御へ写る。XX が制御から標的へ広がるのは、CNOT が制御の値を標的へ足し込む操作だからで、ZZ が逆向きに広がるのは、Hadamard で基底を取り替えると CNOT の制御と標的が入れ替わり、XX と ZZ も入れ替わるからである。

この性質から、シンドロームの測定を素朴に組むと、1か所の故障が符号の中に2個の誤りを作る。第3部第9章のスタビライザー符号で生成元 X1X2X3X4X_1X_2X_3X_4 を測るには、補助の量子ビットを ∣+⟩| + \rangle に準備し、補助を制御・データを標的とする CNOT を4本当ててから、補助を XX の基底で測る。補助の XX はデータの XX と可換な生成元の固有値を変えないので、この操作は生成元の固有値 ±1\pm1 を補助に写す。ところが2本目の CNOT のあとで補助に XX の故障が起きると、式 (6.5.1) により残りの2本の CNOT を通ってデータの3番目と4番目に XX が写り、データに重み2の誤り X3X4X_3X_4 が残る(例題 6.5.1)。距離 33 の符号は重み1の誤りしか直すことができないので、この1か所の故障で論理誤りになりうる。誤り訂正をしたのに、故障1か所で失敗する確率 O(ε)\mathcal{O}(\varepsilon ) が残ってしまい、符号を使わない場合と次数が変わらない。

誤り耐性の定義

そこで、回路の部品(ガジェット)に次の条件を課す。

定義 6.5.1(誤り耐性のガジェット)

距離 d=2t+1d=2t+1 の符号を使う。符号化した操作(ゲート・準備・測定・誤り訂正)を物理的な場所の回路として実装したものをガジェットと呼ぶ。ガジェットが誤り耐性を持つとは、ガジェットの中の故障が s≤ts\le t か所なら、出力の各符号ブロックに残る誤りの重みが(入力の誤りの重みに)ss を足した値を超えないことをいう。特に t=1t=1 の符号では、故障1か所が1つのブロックに誤りを2個以上作らない。

誤り耐性は、故障の数と誤りの数を1対1以下に保つ条件である。これが満たされれば、ブロックが失敗するには故障が t+1t+1 か所以上要り、失敗の確率は O(εt+1)\mathcal{O}(\varepsilon ^{t+1}) になる。

誤り耐性を満たす作り方は主に3つある。1つ目は横断的(transversal)なゲートで、2つのブロックの jj 番目どうしにだけ CNOT を当てる。1か所の故障は各ブロックの jj 番目にしか誤りを作らないので、条件が自動的に満たされる。CSS 符号(第3部第9章の Steane 符号など)では論理 CNOT を横断的に実装することができる。2つ目は、シンドロームを1個の補助で測る代わりに、補助を 12(∣0000⟩+∣1111⟩)\frac1{\sqrt2}(| 0000 \rangle +| 1111 \rangle ) のような猫状態にして、データの各量子ビットに別の補助の量子ビットを当てる方法で(Shor 1996)、補助の1か所の故障はデータの1か所にしか写らない。3つ目は測定の誤りへの対処で、シンドロームの測定そのものが誤るので、1回の測定結果を信じず、同じシンドロームを何回も測って時間の方向にも冗長にする。表面符号では1回の周期ごとに全部の生成元を測り、時間の方向に並んだシンドロームの変化をまとめて復号する(6.5.4節)。

計算に要るゲートをすべて横断的に作れる符号は無い(Eastin–Knill の定理1B. Eastin and E. Knill (2009), Phys. Rev. Lett. 102, 110502。下の脚注へ)。第6部第1章で見たように、万能なゲートの組には Clifford ゲートだけでは足りず、T=diag(1,eiπ/4)T=\mathrm{diag}(1,\mathrm{e}^{\mathrm{i}\pi/4}) のようなゲートが要る。表面符号や Steane 符号では Clifford ゲートを誤り耐性で作り、TT ゲートは雑音のあるマジック状態 T∣+⟩T| + \rangle をたくさん用意して蒸留し、テレポーテーションで当てる(Bravyi–Kitaev2S. Bravyi and A. Kitaev (2005), Phys. Rev. A 71, 022316。下の脚注へ)。この章ではゲートの作り方の細部に立ち入らず、どのガジェットも誤り耐性を持つように作れることを前提に、誤りの確率の勘定に進む。

例題 6.5.1 1か所の故障が2個の誤りになる回路 ★★

オリジナルデータの量子ビット1〜4と補助の量子ビット0がある。補助を制御、データ jj を標的とする CNOT を CjC_j と書き、生成元 X1X2X3X4X_1X_2X_3X_4 を測るために C1,C2,C3,C4C_1,C_2,C_3,C_4 をこの順に当てる。

  1. (1) C2C_2 と C3C_3 の間で補助に XX の故障が起きた。回路の終わりにはどの誤りが残るか。
  2. (2) 同じ場所で補助に ZZ の故障が起きた場合はどうか。
  3. (3) 回路が始まる前にデータ1に ZZ の誤りがあった場合、回路の終わりにはどの誤りとして見えるか。
  4. (4) (1) の誤りは、距離3の符号では直せるか。補助を4量子ビットの猫状態にした場合と比べよ。
解答

(1) 残りの CNOT は C3,C4C_3,C_4 で、どちらも補助が制御である。式 (6.5.1) の1つ目を2回使うと、X0↦X0X3↦X0X3X4X_0\mapsto X_0X_3\mapsto X_0X_3X_4。補助の XX は XX の基底の測定の結果を変えないので無害で、データに X3X4X_3X_4 が残る。

(2) 補助の ZZ は制御側の ZZ なので、式 (6.5.1) の4つ目により CNOT を通っても Z0Z_0 のままで、データには広がらない。補助を XX の基底で測った結果が反転し、シンドロームが1回だけ誤る。これは測定の誤りとして、測定を繰り返すことで扱う。

(3) データ1は C1C_1 の標的で、標的の ZZ は制御へ写る(3つ目の式)ので、Z1↦Z0Z1Z_1\mapsto Z_0Z_1。C2,C3,C4C_2,C_3,C_4 はデータ1にも補助の ZZ にも影響しない。補助の ZZ は測定の結果を反転させるので、Z1Z_1 が生成元 X1X2X3X4X_1X_2X_3X_4 と反交換することが、シンドロームの反転として正しく読み出される。データの誤りが補助に写るのは、シンドロームを測る仕組みそのものである。

(4) X3X4X_3X_4 は生成元 X1X2X3X4X_1X_2X_3X_4 を掛けると X1X2X_1X_2 に等しく、どちらで見ても重み2の誤りである。距離3の符号が保証するのは重み1の誤りの訂正だけなので、1か所の故障で論理誤りになりうる。猫状態の補助を使うと、データ jj にはそれぞれ別の補助の量子ビット jj が当たるので、補助の1か所の XX はデータの1か所にしか写らず、条件 6.5.1 が満たされる。

1 B. Eastin and E. Knill (2009), Phys. Rev. Lett. 102, 110502。

2 S. Bravyi and A. Kitaev (2005), Phys. Rev. A 71, 022316。

木下の勉強ステータス

木下はまだこの記事を勉強していません。

AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com

← AI生成教科書『虎の巻』の記事一覧へ