← sim_game

Quantum Lab

技術解説 遊び方

技術解説: Quantum Lab のシミュレーション

1〜3量子ビットの量子回路を、状態ベクトルで「厳密に」計算しています。確率的なサンプリングはありません。

1. 量子ビットと状態ベクトル

1量子ビットの状態は、2つの複素数(振幅)で表します。

|ψ⟩ = α|0⟩ + β|1⟩ |α|² + |β|² = 1 測定すると 0 が出る確率は |α|²、1 が出る確率は |β|²

n 量子ビットでは、2n 個の振幅を持つベクトルになります(3量子ビットで8個)。ゲーム内では、上の線(q0)を最上位ビットとして |q0 q1 q2⟩ の順に並べ、実数部と虚数部を交互に並べた配列で持っています。n が1増えるとメモリと計算量が2倍になるので、50量子ビット前後で通常のコンピュータでは扱えなくなります。これが「量子コンピュータは古典コンピュータで効率的に再現できない」と期待される根拠の一つです。

2. ゲートは「ユニタリ行列」

回路の各ゲートは、状態ベクトルにかけるユニタリ行列(確率の総和 1 を保つ行列)です。1量子ビットゲートは、対象のビットだけが違う2つの振幅の組 (|…0…⟩, |…1…⟩) に 2×2 行列をかけます。

H = (1/√2) [[1, 1], [1, −1]] X = [[0, 1], [1, 0]] Y = [[0, −i], [i, 0]] Z = [[1, 0], [0, −1]] S = [[1, 0], [0, i]] T = [[1, 0], [0, e^{iπ/4}]] CNOT: |c, t⟩ → |c, t ⊕ c⟩ CZ: |11⟩ → −|11⟩ SWAP: |a, b⟩ → |b, a⟩

2量子ビットゲートは、状態ベクトルの添字(ビット列)の入れ替えや符号反転として実装しています(4×4 行列を作る必要はありません)。列は左から順に適用され、同じ列の中のゲートは別々の線に作用する必要があります。

3. ブロッホ球

1量子ビットの純粋状態は、球面上の1点で表せます。

|ψ⟩ = cos(θ/2)|0⟩ + e^{iφ} sin(θ/2)|1⟩ ↔ (x, y, z) = (sin θ cos φ, sin θ sin φ, cos θ) x = 2 Re ρ₀₁ y = −2 Im ρ₀₁ z = ρ₀₀ − ρ₁₁ (ρ = 縮約密度行列)

4. もつれと CNOT

CNOT は、制御ビットが |1⟩ のときだけ標的を反転します。制御ビットが重ね合わせのとき、その両方の枝に同時に作用するので、積の形で書けない状態ができます。

H ⊗ I : |00⟩ → (|00⟩ + |10⟩)/√2 CNOT : → (|00⟩ + |11⟩)/√2 (ベル状態: どちらも測ると必ず同じ値)

これはコピーではありません。未知の量子状態を複製することはできません(複製不可能定理)。CNOT がするのは「相関を作る」ことです。H・CZ・H = CNOT(標的側を H で挟む)、CNOT 3個 = SWAP、といった等式も、ステージ7・8で確かめられます。

5. 合格判定(忠実度)

全体にかかる位相(全体位相)は観測できないので、比較では無視します。

状態を作るステージ: F = |⟨目標 | あなたの回路の出力⟩|² 動作を作るステージ: F = |tr(U目標† Uあなた)|² / 4ⁿ (n = 量子ビット数)

F ≥ 0.999 で合格です。ただし相対位相(例えば |0⟩+|1⟩ と |0⟩−|1⟩ の違い)は区別されるので、Z や S をかけ忘れると不合格になります。動作ステージでは、すべての入力基底に対する出力を比べるため、「たまたま特定の入力だけ合っている」回路は通りません。

6. なぜゲートにコストがあるか

ゲートコスト理由(おおまか)
H, X, Y, Z, S, S†1クリフォードゲート(基本的で実装しやすい)
T, T†2誤り訂正のあるコンピュータでは、T ゲートの作成が最も高価(マジックステート蒸留)
CNOT, CZ22量子ビットゲートは、1量子ビットゲートより誤りやすい
SWAP3CNOT 3個ぶんで作るのと同じ

コストの値は、現実のハードウェアの数字ではなく、ゲームのために付けた「相対的な重み」です。ただし、少ないゲートで同じ結果を出すことが、ノイズの多い現在の装置でも誤り訂正でも重要、という点は現実と同じです。

7. クリフォードゲートと T ゲート

H, S, CNOT(とパウリ行列)だけで作れる回路はクリフォード回路と呼ばれ、ビット数が多くても古典コンピュータで効率よく再現できます(ゴッテスマン–ニルの定理)。ここに T ゲートを加えると、一般の量子計算を(任意の精度で)作れるようになります。つまり、量子計算の「力」の源は T ゲート(のような非クリフォードな操作)にあります。T を2回かけると S と同じになります(45°+45°=90°)。

8. グローバーの探索アルゴリズム(ステージ10〜17)

N 個の候補から「答え」を1つ探す問題です。普通は平均 N/2 回調べますが、グローバー法は約 (π/4)√N 回の繰り返しで見つけます(2次の高速化)。1回の繰り返しは次の2操作です。

幾何学的には、状態は「答え」と「それ以外の一様な状態」が張る平面内にあり、1回の繰り返しで角度 2θ(sinθ = 1/√N)ずつ答えに近づきます。k 回後の成功確率は sin²((2k+1)θ) です。N=4 では 1 回でちょうど 100%。N=8 では 1 回で 78.1%、2 回で 94.5%、3 回目は行き過ぎて約 33% に下がります(回しすぎも禁物)。

コストは CCZ を 6(実機では T ゲート多数に分解されるため)としています。

9. このシミュレーションに入っていないもの

遊び方