Классический бит против кубита
Главное различие классической и квантовой информации — и почему «0 и 1 сразу» вводит в заблуждение.
Кубит — единица квантовой информации; его состояние задаётся двумя комплексными амплитудами при базисных состояниях |0> и |1>, а не одним из двух значений.
Бит: две устойчивые позиции
Классический бит — это переключатель: он либо в положении 0, либо 1. Регистр из n битов хранит ровно одно из 2^n значений в каждый момент. Вся классическая информатика стоит на этом: транзистор открыт или закрыт, напряжение высокое или низкое.
Кубит: точка в пространстве состояний
Кубит описывается не числом 0/1, а парой комплексных чисел — амплитуд a и b — при двух базисных состояниях, которые принято обозначать |0> и |1> (это запись «кет», просто имена для двух опорных векторов). Состояние записывают как a·|0> + b·|1>, где a и b — комплексные, и выполняется условие нормировки: |a|^2 + |b|^2 = 1. Числа |a|^2 и |b|^2 — это вероятности увидеть 0 или 1 при измерении.
Важно: пока мы не измеряем, кубит — это вектор (a, b), а не «значение». Он живёт в двумерном комплексном пространстве. Множество всех допустимых состояний образует поверхность (сферу Блоха — о ней позже), а не две точки.
Смоделируем кубит на обычном Python: комплексные числа в нём встроены (литерал 1j — мнимая единица).
import cmath
# Кубит как пара комплексных амплитуд (a|0> + b|1>)
a = complex(0.6, 0.0) # амплитуда при |0>
b = complex(0.0, 0.8) # амплитуда при |1> (комплексная!)
p0 = abs(a)**2 # вероятность исхода 0
p1 = abs(b)**2 # вероятность исхода 1
print('p0 =', round(p0, 4))
print('p1 =', round(p1, 4))
print('сумма =', round(p0 + p1, 4))Вывод:
p0 = 0.36 p1 = 0.64 сумма = 1.0
Как работает под капотом
Почему амплитуды комплексные, а не просто вероятности? Потому что амплитуды умеют складываться и вычитаться — в том числе гасить друг друга (интерференция). Если бы кубит описывался только вероятностями p0 и p1, он был бы обычной «вероятностной монеткой» и не давал бы никакого преимущества. Вся мощь — в том, что амплитуды могут быть отрицательными или комплексными и интерферировать. Вероятность же мы получаем лишь в конце, возводя модуль амплитуды в квадрат (правило Борна).
Частые ошибки
- «Кубит хранит 0 и 1 одновременно, поэтому в нём вдвое больше информации». Нет: из одного кубита при измерении вы достаёте лишь один бит.
- Путать амплитуду и вероятность. Амплитуда a комплексная; вероятность — это |a|^2.
- Думать, что состояние «случайно меняется само». До измерения эволюция кубита детерминирована (унитарна); случайность появляется только при измерении.
Итог
- Бит — одно из двух значений; кубит — вектор (a, b) из комплексных амплитуд.
- Условие нормировки |a|^2 + |b|^2 = 1 связывает амплитуды с вероятностями.
- Сила кубита — в способности амплитуд интерферировать, а не в «двух значениях сразу».