Квантовые ошибки и декогеренция

Главное инженерное препятствие: кубиты теряют квантовость от любого взаимодействия со средой.

Декогеренция — потеря квантовых свойств (суперпозиции и запутанности) из-за неконтролируемого взаимодействия кубита с окружением.

Почему кубиты такие хрупкие

Кубит хранит информацию в тонких амплитудах и фазах. Любое случайное взаимодействие со средой — тепловой фонон, блуждающее магнитное поле, фотон — фактически «измеряет» кубит и разрушает его состояние. Время, за которое кубит сохраняет когерентность, измеряется микросекундами — миллисекундами. За это окно надо успеть выполнить все гейты и измерения. Отсюда два врага: декогеренция (состояние «расплывается») и ошибки гейтов (каждая операция неидеальна, точность ~99.9%, но при тысячах гейтов ошибки накапливаются).

Два типа квантовых ошибок

В отличие от классики, где бит может только «перевернуться» (0 в 1), у кубита ошибки богаче:

  • Bit-flip — переворот, как гейт X (|0> становится |1>).
  • Phase-flip — переворот фазы, как гейт Z (меняет относительную фазу). У классического бита аналога нет.

Любую квантовую ошибку можно разложить на комбинацию этих двух — это упрощает задачу коррекции.

Коррекция без копирования

Классическая коррекция тривиальна: храним три копии бита и голосуем. Но кубит копировать нельзя (неклонирование!) и нельзя измерять (коллапс!). Хитрость квантовой коррекции: один логический кубит кодируют в запутанное состояние нескольких физических, и измеряют не сами кубиты, а специальные «синдромы» — совместные чётности, которые говорят, какая ошибка случилась, не раскрывая само состояние. Покажем классическую аналогию голосования (квантовая сложнее, но идея избыточности та же).

def majority_vote(bits):
    return 1 if sum(bits) > len(bits) / 2 else 0

# Логический бит = 0, закодирован тремя физическими. Один испортился шумом.
noisy = [0, 1, 0]    # средний кубит перевернулся
recovered = majority_vote(noisy)
print('приняли:', noisy, '-> восстановили:', recovered)

noisy2 = [1, 1, 0]   # логическая 1, один перевернулся
print('приняли:', noisy2, '-> восстановили:', majority_vote(noisy2))

Вывод:

приняли: [0, 1, 0] -> восстановили: 0
приняли: [1, 1, 0] -> восстановили: 1

Как работает под капотом (NISQ)

Полноценная коррекция ошибок прожорлива: по оценкам, на один надёжный логический кубит нужны сотни — тысячи физических. Сегодняшние машины этого не тянут, поэтому нынешнюю эпоху называют NISQ (Noisy Intermediate-Scale Quantum) — «шумные кубиты среднего масштаба без полной коррекции». В NISQ-эре алгоритмы должны быть короткими, чтобы успеть отработать до декогеренции, и шумоустойчивыми. Переход к «отказоустойчивым» квантовым компьютерам с миллионами физических кубитов — главная инженерная цель десятилетия.

Частые ошибки

  • «Коррекция = три копии и голосование». Для кубитов копирование запрещено; коррекция тоньше.
  • Игнорировать phase-flip — у классики его нет, но для кубитов он так же опасен, как bit-flip.
  • Считать число кубитов в пресс-релизе «полезными» кубитами. Это физические; логических после коррекции в сотни раз меньше.

Итог

  • Декогеренция и ошибки гейтов делают кубиты хрупкими; окно работы — микросекунды.
  • Квантовые ошибки бывают bit-flip и phase-flip; коррекция использует избыточность и измерение синдромов.
  • Сейчас идёт NISQ-эра: шумные машины без полной коррекции.
Проверьте себя
1. Что такое декогеренция?
AУскорение кубита
BПотеря квантовых свойств из-за взаимодействия с окружением
CТип гейта
DМетод измерения
2. Какой тип ошибки есть у кубита, но не у классического бита?
ABit-flip
BPhase-flip (переворот фазы)
CПотеря питания
DПереполнение
3. Почему квантовую ошибку нельзя исправить тремя копиями и голосованием?
AЭто медленно
BКубит нельзя копировать (неклонирование) и нельзя свободно измерять
CГолосование запрещено
DКопии дороги
4. Что означает NISQ?
AИдеальные кубиты
BШумные кубиты среднего масштаба без полной коррекции ошибок
CНовый язык
DТип железа на ионах