量子誤り訂正
壊れやすい量子ビットを、測定で状態を壊さずに守るしくみ。ビット反転・位相反転の訂正から表面符号としきい値定理まで、実用量子計算の土台を原理からつかめます。
- 1.量子誤りはビット反転(Xエラー)と位相反転(Zエラー)に分解でき、この2種を訂正できれば任意の連続的な誤りも訂正できる(誤りの離散化)。
- 2.多数の物理量子ビットを束ねて1つの論理量子ビットを作り、状態そのものは測定せず「シンドローム」だけを測ることで、重ね合わせを壊さずに誤りの位置を特定する。スタビライザ形式がこれを体系化する。
- 3.表面符号は2次元格子上の近接測定だけで動き、物理誤り率がしきい値(約1%)を下回れば符号を大きくするほど論理誤り率を指数的に下げられる(しきい値定理)。
なぜ量子は「訂正」がこれほど難しいのか
物理量子ビットは熱・電磁場・制御パルスの揺らぎで、マイクロ秒〜ミリ秒のうちに状態が壊れます(デコヒーレンス)。古典計算なら「同じビットを複製して多数決」で守れますが、量子ではこれが通じません。理由は3つあり、量子誤り訂正(QEC: Quantum Error Correction)の設計をすべて規定します。
- 複製できない:未知の量子状態の複製は物理的に不可能(複製不可能定理)。単純なコピー多数決が使えません。
- 測ると壊れる:直接観測すると重ね合わせが確定値に潰れ、計算途中の情報が失われます。誤りを「見に行く」こと自体が破壊的です。
- 誤りが連続的:古典誤りは0/1の反転だけですが、量子状態は連続的に少しずつズレ得るため、無限種類の誤りがあるように見えます。
QEC はこの3つを同時に回避する仕掛けです。誤りの分解から表面符号としきい値定理まで順に組み上げます。
誤りをX・Z・Yに分解する
「無限種類に見える誤り」を有限個に畳み込みます。1量子ビットの任意の誤りは、次の3つのパウリ演算子(と恒等演算子 I)の線形結合で書けます。
X : ビット反転 |0> ↔ |1> (古典のビット反転に相当)
Z : 位相反転 |0> → |0>, |1> → -|1> (量子特有。重ね合わせの符号を反転)
Y : 両方 Y = iXZ (ビット反転と位相反転の同時発生)
要点は、微小な回転を含む任意の1量子ビット誤りが a·I + b·X + c·Z + d·Y の形で書けることです。ゆえに X と Z の2種を訂正できれば、Y(=iXZ)も、そして任意の連続誤りも訂正できます。これを**誤りの離散化(digitization of errors)**と呼びます。
シンドローム測定(後述)を行うと、a·I + b·X + … と重ね合わさった誤り状態が、結果に応じて「I が起きた」「X が起きた」のいずれか1つへと射影されます。測定という射影のおかげで、連続的なズレが「起きた/起きていない」の離散判定に畳み込まれる——これが量子測定を逆手に取った QEC の核心です。
3量子ビット符号:最小の直観
まずビット反転(X)だけを守る最小の符号を見ます。1論理量子ビットを3物理量子ビットに符号化します。
|0>_L = |000>
|1>_L = |111>
論理状態: α|0>_L + β|1>_L = α|000> + β|111>
古典の3重多数決に似ていますが、決定的な違いは 中身(α, β)を測定してはいけないことです。代わりに「隣り合うビットが同じ値か」というパリティ(偶奇)だけを測ります。
Z1 Z2 : 1番目と2番目のビットが同じか異なるか(±1)
Z2 Z3 : 2番目と3番目のビットが同じか異なるか(±1)
Z1 Z2 はパリティを返すだけで、α・β の値には一切触れないため、重ね合わせが保たれます。この2つの測定結果の組をシンドロームと呼び、どのビットが反転したかを一意に指し示します。
| シンドローム (Z1Z2, Z2Z3) | 意味 | 訂正操作 |
|---|---|---|
| (+1, +1) | 誤りなし | 何もしない |
| (-1, +1) | 1番目のビットが反転 | 1番目に X を適用 |
| (-1, -1) | 2番目のビットが反転 | 2番目に X を適用 |
| (+1, -1) | 3番目のビットが反転 | 3番目に X を適用 |
アダマール変換で X と Z を入れ替えれば、位相反転(Z)を守る3量子ビット符号も同様に作れます。両方を守るには、この2つを入れ子にした9量子ビットのショア符号が最初の完全な例です。
3量子ビット符号は直観のための教材で、ビット反転か位相反転の「片方」しか守れません。任意の1量子ビット誤りを訂正するには、少なくとも5量子ビットの完全符号([[5,1,3]])かショアの9量子ビットが必要で、実運用ではさらに大きな符号を使います。
スタビライザ形式:QECの共通言語
「状態は測らずパリティだけ測る」を一般化した枠組みが**スタビライザ形式(stabilizer formalism)**で、現代 QEC のほぼ全符号を記述する共通言語です。
正しい論理状態 |ψ>_L を固有値 +1 で固定するパウリ演算子の集合を選び、これをスタビライザ生成元と呼びます。3量子ビット符号なら生成元は Z1Z2 と Z2Z3 で、正しい状態は必ず両者の +1 固有状態です。
- 測るのは生成元だけ:正しい状態では常に +1。誤りが入ると、それと反交換する生成元だけが -1 を返し、この -1 の並びがシンドロームです。
- 論理情報に触れない:スタビライザ測定は論理状態(
α,β)と可換に設計されるので、測っても重ね合わせは保たれます。 - 論理演算子は別枠:全生成元と可換だがどれにも属さないパウリ演算子が論理 X・論理 Zで、論理量子ビットの中身を操作します。
n 物理量子ビットに n - k 個の独立な生成元を課すと k 論理量子ビットが定義され、[[n, k, d]] 符号と表記します(d は符号距離=論理誤りを起こす最小の物理誤り数)。距離 d の符号は (d-1)/2 個までの誤りを確実に訂正できます。実装では、生成元を直接測る代わりに補助(アンシラ)量子ビットにパリティだけを転写して測り、これを誤り監視のため繰り返します。
表面符号:実機で最有力の符号
理論上どれだけ良い符号でも、遠く離れた量子ビット間の測定が必要なら実機では組めません。超伝導量子ビットやイオントラップは隣接する量子ビットしか高精度に相互作用させられないからです。この制約を満たしつつ高い訂正能力を持つのが**表面符号(surface code)**で、Google・IBM ら多くのハードウェア開発の主軸です。
表面符号はデータ量子ビットを2次元格子に並べ、面(プラケット)と頂点(スター)ごとに近接4量子ビットだけのスタビライザを割り当てます。
格子上の2種類のスタビライザ(各々が近接4量子ビットを測る)
Zタイプ(面) : 面を囲む4つの量子ビットの ZZZZ パリティ → Xエラーを検出
Xタイプ(頂点): 頂点に集まる4つの量子ビットの XXXX パリティ → Zエラーを検出
すべての測定が局所的(近接4ビットのみ)なので実際のチップ配線に素直に載ります。誤りは格子上で「反交換したスタビライザ」のペアとして現れ、誤りチェーンの両端が -1 を出します。古典側で走らせる復号アルゴリズム(最小重み完全マッチング等)が -1 の点対を最短経路で結び、訂正すべき物理ビットを推定します。
| 観点 | 3量子ビット符号 | ショア9量子ビット符号 | 表面符号 |
|---|---|---|---|
| 訂正できる誤り | X か Z の片方のみ | 任意の1量子ビット誤り | 任意の誤り(距離まで) |
| 測定の局所性 | 近接のみ | ブロック内 | 厳密に近接4ビットのみ |
| しきい値 | 実質なし | 低い | 高い(約1%) |
| 実機適合性 | 教材向け | 限定的 | 超伝導・イオン等で主流 |
| 1論理あたりの物理量子ビット | 3 | 9 | 距離に応じ数百〜数千 |
表面符号の強みはしきい値の高さです。約1%という比較的緩い物理誤り率まで許容できるため、物理誤り率が0.1〜1%に達しつつある現実のハードウェアで初めて意味を持ちます。代償として、実用的な論理量子ビット1個に数百〜数千の物理量子ビットを要します。
しきい値定理:スケールすれば勝てる
QEC には根源的なジレンマがあります。符号化・測定・訂正の回路自体も物理量子ビットとゲートで組む以上、その回路の中でも誤りが起きる。訂正しようとして新たな誤りを撒くなら無意味では——この問いに答えるのが**しきい値定理(threshold theorem)**です。
主張はこうです。物理誤り率 p がある符号固有のしきい値 p_th を下回れば、符号距離 d を大きくするほど論理誤り率 p_L を指数的に下げられる。おおよその振る舞いは次式です。
p < p_th のとき: p_L ~ (p / p_th)^(d/2)
p が p_th 未満なら p / p_th が1未満となり、指数 d/2 を上げる(符号を大きくする)ほど p_L は急速に0へ向かいます。逆に p_th を超えると符号を大きくするほど論理誤り率は悪化します。p_th は「訂正が割に合うか否か」を分ける臨界点です。
物理誤り率がしきい値を上回る限り、量子ビットをいくら増やしても論理誤り率は下がらず、むしろ増えます。だからハードウェア開発の第一目標は「量子ビット数」ではなく「1量子ビット・1ゲートあたりの物理誤り率をしきい値未満に叩き込むこと」です。表面符号のしきい値が約1%と高いことが、これを現実的にしました。
しきい値定理は、半導体 の微細化が古典計算のスケーリングを支えたのと同じ役割を量子計算で担います。「部品が十分良ければ規模を増やすほど信頼性が上がる」という保証であり、これなしに大規模量子計算は原理的に成立しません。
論理量子ビットとフォールトトレランス
以上を束ねた到達点が**論理量子ビット(logical qubit)**です。多数の物理量子ビットと、その上で回り続けるシンドローム測定・訂正のプロセス全体が、1つの「壊れにくい仮想の量子ビット」として振る舞います。アルゴリズムはこの論理量子ビット上で記述され、下層の物理的な揺らぎは QEC が吸収します。
- フォールトトレラント量子計算:測定やゲート操作の途中に誤りが混じっても破局的に増幅しないよう回路全体を設計する枠組み。個々の部品が誤っても系全体は正しく動く点で、古典の冗長設計と発想を共有します。
- オーバーヘッドの現実:暗号解読級のアルゴリズムには数千〜数百万の論理量子ビットが要るとされ、各々が数百〜数千の物理量子ビットを消費するため、必要な物理量子ビット総数は膨大です。暗号 で語られる「量子コンピュータが RSA を破る」時期がなお遠いのは、素の量子ビット数ではなくこの QEC オーバーヘッドを賄える低誤り率・大規模化が壁だからです。
- 誤りの離散化:任意の連続誤りが
I, X, Z, Yの重ね合わせで書け、測定の射影で離散化される。だから X と Z を訂正できれば十分。 - なぜ状態を測らないか:複製不可能・測定破壊のため、状態ではなくスタビライザ(パリティ)だけを測り、論理情報を保って誤り位置を得る。
- [[n,k,d]] と表面符号:
n物理・k論理・距離dで(d-1)/2個を訂正。表面符号は近接4ビットのみで局所実装でき、しきい値が約1%と高い。 - しきい値定理:
pがp_th未満なら距離を上げるほど論理誤り率が指数的に減少。超えると逆効果。
まとめ
量子誤り訂正は、量子の3つの弱点——複製不可能・測定破壊・連続誤り——を逆手に取った設計です。連続誤りを X・Z へ離散化し、状態ではなくスタビライザだけを測って重ね合わせを守りつつ誤り位置を特定し、表面符号の近接測定で実機に載せ、しきい値定理が「良い部品を規模で束ねれば信頼性が上がる」ことを保証する。この上に立つ論理量子ビットの大量のオーバーヘッドこそが、実用的なフォールトトレラント量子計算までの距離を決めています。関連する古典計算の基盤は 半導体 と プログラミング も参照してください。
量子コンピューティング Article
量子誤り訂正を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
量子誤り訂正
比較で見る軸
難易度: advanced / カテゴリ: 量子コンピューティング / タグ数: 6
導入後に効く点
多数の物理量子ビットを束ねて1つの論理量子ビットを作り、状態そのものは測定せず「シンドローム」だけを測ることで、重ね合わせを壊さずに誤りの位置を特定する。スタビライザ形式がこれを体系化する。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- 量子コンピューティング
- タグ数
- 6
判断チェックリスト
- 自社の用途が「量子誤り訂正 / 量子コンピュータ」に近いか確認する。
- 強みである「量子誤りはビット反転(Xエラー)と位相反転(Zエラー)に分解でき、この2種を訂正できれば任意の連続的な誤りも訂正できる(誤りの離散化)。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。