量子コンピュータは誤りを起こします — それも大量に。典型的な超伝導量子ビットのゲートは0.1〜1%の誤り率を持ちます。1000ゲートの回路を実行すれば、間違った答えを得ることは事実上確実です。これは現在のハードウェアのバグではなく、根本的な課題です。量子誤り訂正(QEC)はその解決策であり、それを理解することは量子コンピューティングがどこへ向かっているのかを理解する鍵となります。
なぜ量子誤りは異なるのか
古典コンピュータにも誤りはありますが、対処は簡単です。ビットを3回コピーして多数決を取ればよいのです。1つのコピーが反転しても、残りの2つが多数決で勝ちます。
量子ビットはコピーできません — 複製不可能定理(no-cloning theorem) がそれを禁じています。重ね合わせを崩さずに量子ビットを測定して誤りをチェックすることはできません。しかも量子誤りは単なるビット反転だけではありません。位相誤り(|0⟩ と |1⟩ の間の相対位相がずれるもの)や、その両方の組み合わせも存在します。
量子誤りの3つの種類
あらゆる量子誤りは、3つのパウリ演算子の組み合わせに分解できます。
- X誤り(ビット反転): |0⟩ → |1⟩ および |1⟩ → |0⟩。古典的なビット反転に相当します。
- Z誤り(位相反転): |0⟩ → |0⟩、|1⟩ → −|1⟩。古典的な対応物はなく、位相に影響します。
- Y誤り: X誤りとZ誤りが同時に組み合わさったもの。
量子ビットに対する任意の誤りは、X、Y、Z(および恒等演算子)の線形結合として表すことができます。これは、X誤りとZ誤りを独立に訂正できれば、あらゆる誤りを訂正できることを意味します — これはQECにおける重要な洞察です。
大きなアイデア:コピーなしの冗長性
QECは1つの論理量子ビットを多数の物理量子ビットにわたって符号化します。この考え方は古典的な繰り返し符号に似ていますが、量子力学に合わせて適応されています。
最も単純な例は3量子ビットビット反転符号です。|0⟩ を |000⟩ として、|1⟩ を |111⟩ として符号化します。1つの量子ビットが反転した場合、(実際の値を測定せずに)量子ビットのペア間のパリティを測定することで検出し、訂正します。
Logical |0⟩ = |000⟩
Logical |1⟩ = |111⟩
If qubit 1 flips: |100⟩ or |011⟩
Parity check: measure (q0 ⊕ q1) and (q1 ⊕ q2)
→ 10 → qubit 0 flipped → apply X to correct
パリティ測定には補助量子ビット(ancilla qubits) を使用します — これはデータ量子ビットを乱すことなく誤り情報を吸収する補助的な量子ビットです。これこそが魔法です。符号化された状態を崩すことなく誤りを検出できるのです。
表面符号:今日の主要なアプローチ
表面符号(surface code) は、近い将来のハードウェアにとって最も有望なQEC符号です。これは1つの論理量子ビットを、次のように配置された物理量子ビットの2Dグリッドに符号化します。
● — ● — ● — ●
| | | |
● — ● — ● — ●
| | | |
● — ● — ● — ●
| | | |
● — ● — ● — ●
データ量子ビット(●)が量子情報を保持します。その間にある補助量子ビットが継続的にパリティを測定します。7×7のグリッド(49個の物理量子ビット)は、誤り率 ~p² で1つの論理量子ビットを符号化します — 物理ゲート誤り率が1%であれば、論理誤り率は ~0.01% まで下がります。
表面符号の閾値は約1%です。ハードウェアのゲート誤りがこれを下回っていれば、物理量子ビットを増やすことで論理誤り率を任意に小さくできます。IBMの最良のシステムはこの閾値に近づきつつあります。
何個の物理量子ビットが必要か?
RSA-2048を破るためにショアのアルゴリズムを誤りなく実行するには、次のように推定されています。
- 約2000万個の物理量子ビット
- 各論理量子ビットには約1000〜10,000個の物理量子ビットが必要
- ゲート誤り率は0.1%未満でなければならない
現在のハードウェア:約1000量子ビット、約0.1〜1%のゲート誤り。ギャップは現実のものです — フォールトトレラントなRSA破りの量子コンピュータまでは、おおよそ10〜15年です。
化学や最適化における近い将来の量子優位性については、要件ははるかに低くなります。約100個の論理量子ビットがあれば、古典的な計算の手に負えない分子に対して十分かもしれません。
これが今日のNISQデバイスにとって何を意味するのか
現在のNISQデバイスにはQECがありません。すべてのゲートがノイズを加えます。代わりのアプローチは次のとおりです。
- 回路を浅く保つ — ゲートが少ないほど、蓄積されるノイズが少ない
- 誤り緩和を使う(訂正ではなく) — 追加の量子ビットなしで統計的に誤りの影響を減らす、Zero Noise Extrapolation(ZNE)などの後処理技術
- ノイズ耐性のあるアルゴリズムを設計する — VQE、QAOA、その他の変分法は、中程度のノイズに対して頑健になるよう設計されている
HLQuantumには、任意の回路に適用できる組み込みの誤り緩和機能が含まれています。
result = hlq.run(
qc,
backend="qiskit",
device="ibm_sherbrooke",
error_mitigation="zne", # Zero Noise Extrapolation
shots=8192
)
ZNEは複数のレベルで意図的にノイズを増幅し、ゼロノイズ極限へと外挿します。これはQECではなく — 統計的なトリックです — しかし短い回路に対しては驚くほどよく機能します。
注目すべき近い将来のマイルストーン
スケールでの誤り訂正の実証 — IBM、Google、Microsoftは、表面符号の論理量子ビットが物理量子ビットを上回る(誤り率が閾値を下回る)ことを実証しようと競っています。Googleは2024年後半に閾値を下回る実証を主張しました。
マジック状態蒸留 — 非クリフォードゲート(Tゲートなど)は、フォールトトレラントなアーキテクチャにおいて特別な蒸留プロトコルを必要とします。これは現在、量子ビットのオーバーヘッドの面で極めて高コストです。
論理ゲートの速度 — 表面符号における論理ゲートは、物理ゲートよりもはるかに遅いです。それを高速化することは、2026〜2030年における重要なハードウェアの課題です。
誤り訂正が特定のSDKとどのように相互作用するかについてのより深い解説は、量子誤り訂正の用語集エントリとNISQ時代ガイドを参照してください。