Найти в Дзене
Электромозг

Как хранятся аналоговые биты в кубитах квантового компьютера — объясняю ещё раз подробно но понятно

Оглавление

Несколько недавних статей я посвятил теме квантовых компьютеров, её технической составляющей, чтобы показать, что квантовые компьютеры — не замена классическим, а лишь полезное дополнение для определённого круга задач. Объяснял, что такое кубит, как осуществляется параллелизм квантовых вычислений и как хранятся числа в кубитах.

Основное непонимание вызвала именно тема последней статьи, поэтому сегодня я постараюсь изложить материал более конкретно и подробно без лишних отступлений в физику. Однако, для улучшенного восприятия этого материала всё же перечитайте и изначальную статью по этой теме. Практика показывает, что тот же самый материал, прочитанный с интервалом в один день, воспринимается гораздо легче. Да и кое-какие поправки я в него тоже внёс :-)

Итак, оставим физику процесса в стороне, с ней вы могли ознакомиться в предыдущей статье, и сконцентрируемся больше на логике. Наша цель — понять, почему в кубитах мы можем хранить больше битов, чем, собственно, в логических ячейках классического компьютера.

Например, у нас есть 3 бита. Тремя битами мы можем закодировать 8 чисел. И у нас есть три кубита. В три кубита мы можем поместить 8 битов и закодировать 256 чисел. Как это сделать?

Как один кубит кодирует 2 значения?

Мы уже знаем, что один кубит, находящийся в состоянии суперпозиции, содержит два неких базисных состояния одновременно. Их можно интерпретировать, как 0 и 1, или как то иначе, сейчас это для нас не важно. Это не те биты, которые мы будем кодировать, поэтому просто назовём их базисными состояниями кубита, и не важно, как они выглядят.

Нам надо лишь помнить, что после прочтения кубита (измерения его состояния) он коллапсирует в одно из этих двух состояний с определённой вероятностью. И вот вероятности этих состояний можно заведомо задать кубиту, а также выразить их математически.

Математически вероятности в кубите выражаются суммой двух волновых функций базисных состояний, каждая из которых умножена на свой вероятностный коэффициент — амплитуду вероятности. И в качестве этих коэффициентов используются числа, сумма квадратов которых даёт единицу.

Точнее, сумма квадратов модулей этих чисел даёт единицу, поскольку амплитуда вероятности — комплексное число, содержащее мнимую часть, обозначающую фазу вращения амплитуды вокруг оси времени и моделирующую возможность полноценной интерференции вероятностей между собой. А мнимая часть числа может дать отрицательное значение при возведении комплексного числа в квадрат, поэтому его берут по модулю, превращая в действительное число. Впрочем, это уже детали, не нужные для понимания дальнейшего материала.

Кстати, получить такие коэффициенты можно, нормализовав к этому условию два любых других числа. Для нормализации чисел нужно разделить каждое из них на корень суммы квадратов обоих чисел.

Например, нам нужно нормализовать числа 4 и 8:

4 / √(4²+8²) ≈ 0,447

8 / √(4²+8²) ≈ 0,894

Мы получили две амплитуды вероятности — 0,447 и 0,894.

Поскольку сумма квадратов этих чисел даёт единицу, то если мы хотим получить из них проценты вероятности, то возводим их в квадрат и умножаем на 100:
0,447²*100≈20%
0,894²*100≈80%

Возвращаемся к числам амплитуд вероятности. Одно число отвечает за вероятность появления в кубите одного базисного состояния, а другое — другого базисного состояния. Таким образом, мы уже записали в кубит два числа — 0,447 и 0,894, которые, по сути, и являются аналоговыми битами. С одной стороны, это минимальные объёмы информации кубита, а с другой стороны, они могут иметь любые дробные значения, удовлетворяющие условию нормализации.

Как три кубита кодируют 8 значений?

Мы помним, что кубиты описываются суммой волновых функций их базисных состояний (каждая из которых умножена на вероятностный коэффициент). Поэтому один кубит имеет 2 базисных состояния:

Состояние 1: 0
Состояние 2: 1

...и описывается двумя соответствующими функциями (с двумя коэффициентами).

Система из двух кубитов имеет 4 базисных состояния:

Состояние 1: 00
Состояние 2: 01
Состояние 3: 10
Состояние 4: 11

...и описывается четырьмя соответствующими функциями базисных состояний (с четырьмя коэффициентами).

Система из трёх кубитов имеет 8 базисных состояний:

Состояние 1: 000
Состояние 2: 001
Состояние 3: 010
Состояние 4: 011
Состояние 5: 100
Состояние 6: 101
Состояние 7: 110
Состояние 8: 111

...и описывается восемью соответствующими функциями, по одной на каждое базисное состояние (с восемью коэффициентами).

Поскольку коэффициенты мы можем рассматривать, как уже говорилось выше, как своего рода аналоговые биты, то получается, что система из трёх кубитов имеет ёмкость 8 бит.

Заключение

Описанное выше кодирование информации актуально для квантовых алгоритмов, но мало подходит для привычных нам классических вычислений. Поэтому рассматривать описанные аналоговые биты стоит лишь в контексте оценки фактической информационной ёмкости кубитов, а не как реальные логические элементы классического представления информации (0/1) для классических алгоритмов.

Надеюсь, что эта более подробная статья оказалась более понятной, чем предыдущая. На этом на сегодня всё. Ставьте нравлики, если процесс понимания сущности квантового компьютера благодаря моим статьям у вас постепенно прогрессирует, ну или если ничего не понятно, но очень интересно :-)

Обязательно оставляйте свои комментарии и подписывайтесь на мой канал! Удачи вам!