⚛️ Квантове Виправлення Помилок
Досліджуйте, як квантові коди виправлення помилок захищають крихкі кубіти від декогеренції та шуму.
Про цю симуляцію
Ця симуляція реалізує 3-кубітний код повторення з виправленням бітових помилок — найпростіший квантовий код виправлення помилок. Логічний кубіт |0⟩ або |1⟩ кодується як |000⟩ або |111⟩ за допомогою двох вентилів CNOT, після чого кожен фізичний кубіт проходить через зашумлений канал, який незалежно перевертає його з ймовірністю p. Дві перевірки парності (стабілізатори) S1 = Z⊗Z⊗I та S2 = I⊗Z⊗Z вимірюються без колапсу логічної інформації, а отриманий синдром (S1, S2) шукається в таблиці, щоб визначити — і повернути назад — єдиний помилковий кубіт. Голосування більшістю потім декодує виправлену трійку назад у логічний біт, а симулятор відстежує, як часто весь цей конвеєр усе ж дає збій.
🔬 Що показано
Живу 5-етапну схему — Кодування, Канал, Синдром, Виправлення, Декодування — для 3-кубітного коду бітових помилок, а також графік порогу, що порівнює логічну частоту помилок p_L = 3p²(1-p) + p³ з фізичною частотою помилок p. Нижче порогу коду ~0,5 кодування завжди зменшує частоту помилок; вище нього кодування погіршує ситуацію.
🎮 Як використовувати
Встановіть ймовірність помилки на кубіт p та тип помилки (бітова X чи фазова Z, хоча цей код справді захищає лише від X-помилок), оберіть логічний стан |0⟩ чи |1⟩, потім натисніть «Запустити раунд», щоб побачити синдром одного випробування, розташування помилки та виправлення на схемі, або «1000 випробувань», щоб отримати статистично значущу логічну частоту помилок, побудовану відносно теорії.
💡 Чи знали ви?
Таблиця синдромів, використана тут, — це точнісінько класична логіка парності у стилі Хеммінга: S1=1,S2=0 означає, що перевернувся кубіт 1; S1=1,S2=1 означає кубіт 2; S1=0,S2=1 означає кубіт 3; S1=0,S2=0 означає відсутність помилки. Цей код може виправити лише одну бітову помилку на блок — якщо два або три з трьох кубітів перевертаються одночасно, голосування більшістю обманюється, і логічна помилка проникає, що є саме тим членом 3p²(1-p)+p³, який показує графік порогу.
Поширені запитання
Що таке 3-кубітний код виправлення бітових помилок?
Це найпростіший квантовий код виправлення помилок, що кодує один логічний кубіт у три фізичні кубіти через |0⟩→|000⟩ та |1⟩→|111⟩ за допомогою двох вентилів CNOT від першого кубіта. Він захищає від незалежних бітових (X) помилок на будь-якому одному кубіті блоку ціною використання трьох фізичних кубітів на один логічний кубіт.
Як працює вимірювання синдрому, не руйнуючи закодовану інформацію?
Стабілізатори S1 = Z⊗Z⊗I та S2 = I⊗Z⊗Z є перевірками парності, що порівнюють пари кубітів (q1 з q2, і q2 з q3) без вимірювання їхніх окремих значень. Оскільки вони комутують з логічними операторами, їх вимірювання виявляє лише те, чи непарна кількість кубітів відрізняється від сусідів — синдром помилки — залишаючи закодований логічний стан незміненим.
Як симулятор вирішує, який кубіт виправити?
Він зчитує дворозрядний синдром (S1, S2) з фіксованої таблиці пошуку: (1,0) вказує на помилку в кубіті 1, (1,1) — в кубіті 2, (0,1) — в кубіті 3, а (0,0) означає, що помилку не виявлено. Визначений кубіт потім повертають назад, після чого голосування більшістю серед усіх трьох кубітів декодує виправлений блок в один логічний біт.
Що таке поріг помилок, показаний на графіку?
Логічна частота помилок після виправлення дорівнює p_L = 3p²(1-p) + p³ — ймовірність того, що два або три з трьох кубітів перевернуться (що код не може виправити), тоді як фізична, некодована частота помилок дорівнює просто p. Дві криві перетинаються приблизно при p ≈ 0,5: нижче цього порогу код зменшує ефективну частоту помилок, а вище нього виправлення дає зворотний ефект, оскільки помилки на кількох кубітах стають більш ймовірними, ніж код може впоратися.
Чому опція фазової помилки поводиться так само, як бітова помилка в цьому симуляторі?
3-кубітний код повторення, показаний тут, побудований спеціально для виправлення X (бітових) помилок — його стабілізатори мають тип Z, які виявляють лише перевороти в обчислювальному базисі. Справжня Z (фазова) помилка потребувала б коду, побудованого натомість у базисі, поверненому Адамаром. Симулятор зберігає ту саму логіку синдрому Z-стабілізатора для перемикача фазової помилки для педагогічного порівняння, тому реальні відмовостійкі архітектури, такі як 9-кубітний код Шора, поєднують код бітових помилок з кодом фазових помилок для одночасної обробки обох типів помилок.