top of page

АППАРАТНЫЙ ПОДХОД К МОДЕЛИРОВАНИЮ КВАНТОВЫХ ВЫЧИСЛЕНИЙ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА ОПТИМИЗАЦИИ 

Квантовые вычисления

Квантовые гейты

​Отличие кубитов от классических битов

Классический компьютер состоит из элементарных ячеек – битов, двум состояниям которых приписываются значения 1 или 0. В наборе битов (регистре) записывается и обрабатывается информация в виде двоичных чисел. Один бит имеет два базисных состояния 0 и 1. Перебирая эти базисные состояния, можно закодировать двоичное число длиной N. Например, в системе из трех битов можно записать одну из восьми последовательностей нулей и единиц.

Состояния квантовой системы и их преобразования можно описать используя компактные бра/кет обозначения. Бра и кет (англ. bracket — скобка)— обозначения, введенные Дираком на заре зарождения квантовой механики как удобное средство манипулирования векторами. Кет-векторами |x> обозначают вектор-столбцы и обычно используют для описания квантовых состояний. В середине скобки, по Дираку, должен помещаться индекс состояния, т.е. величина или набор величин, которые определяют состояние системы. Бра-вектор <y| обозначает вектор-строку.

В квантовом компьютере кубит – это квантовая система, которая, как и бит, имеет два базисных состояния |0>  и |1>, но в отличие от бита, кубит может находиться в любом суперпозиционном состоянии |q> = a|0> + b|1>, где a, b – комплексные числа, |a|^2 + |b|^2. Таким образом, квантовый бит может принимать бесконечно много значений, но как результат измерения мы получим либо состояние |0> с вероятностью |a|^2, либо состояние |1> с вероятностью |b|^2.

Наиболее важным отличием кубитов от классических битов является не непрерывная природа суперпозиционных состояний, а возможность квантового перепутывания состояний в системе кубитов. В квантовой механике размерность пространства состояний системы в целом есть произведение размерностей пространств состояний отдельных подсистем. Система из N кубитов имеет 2^N базисных состояний. Произвольное состояние N кубитов (a1|0>+ b1|1>)(a2|0>+ b2|1>) ... (an|0> + bn|1>) содержит все возможные бинарные строки (комбинации из нулей и единиц) длиной N. В приведенном выше примере для N=3 все 8 двоичных чисел могут быть закодированы в трех кубитах одновременно. Это становится возможным за счет квантовомеханического перепутывания. Нелокальные корреляции в системе кубитов и обеспечивают экспоненциально большое вычислительное пространство и параллелизм квантовых вычислений.

По числу задействованных кубитов гейты делятся на одно- и многокубитные. Набор N кубитов составляет квантовый регистр. Гейт переводит одно состояние регистра в другое. Действие гейта на регистр можно записать так: G|R> = |R'>.

Гейты – линейные операции: G(|p> + |g>) = G |p> + G |g>.

Демонстрация действия гейта на кубит

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

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

Таблица истинности отражает действие гейта на базисные состояния. Ее структура имеет следующий вид: по горизонтали записываются слева начальные состояния входящих кубитов, а справа — соответствующие конечные. По вертикали записываются все базисные состояния. Пример матричной записи кубита и таблиц истинности будет дан в таблице ниже.

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

Однокубитный гейт NOT

Однокубитная логическая операция NOT переводит |q> = a|0> + b|1> в |q'> = b|0> + a|1>, т. e. переставляет весовые коэффициенты кубита местами.

Квантовому состоянию кубита соответствует столбец:

 

                          

Поэтому квантовым аналогом классического  NOT-гейта является матрица вида: 

Двукубитный гейт  CNOT

Двубитный гейт CNOT (англ. Controlled NOT), действующий на двукубитное состояние в общем виде записывается так: CNOT = (R00 |00> + R01 |01> + R10 |10> + + R11 |11>) = R00 |00> + R01 |01> + R11 |10> +  R10 |11>.

Простейшим двухкубитным контролируемым гейтом в классическом компьютере является CNOT. В квантовых вычислениях вводится подобный гейт, который имеет два входных кубита и два кубита на выходе. Как и в классическом случае один из пары кубитов называется контролирующим, а второй контролируемым или кубитом-мишенью. Логика выполнения операции при этом определяется следующим образом: если контролирующий кубит находится в состоянии |1>, тогда контролируемый кубит подвергается квантовой операции NOT, в противном случае контролируемый кубит остается без изменения.

Кроме упомянутых выше гейтов NOT и CNOT в квантовых вычислениях используются также некоторые другие гейты. Их применение не необходимо, но запись алгоритма с их помощью намного проще. На практике часто используются такие гейты: однобитный H (англ. Hadamard), двубитный S (англ. swap), трехбитные CCNOT (гейт Тоффоли), CSWAP (гейт Фредкина).

Гейт Тоффоли инвертирует кубит B при условии что значение кубитов A и C равны 1.

Гейт Фредкина устроен следующим образом: он осуществляет перестановку кубитов B и C при условии, что значение кубита A равно 0 .

КВАНТОВЫЕ ГЕЙТЫ

ПОЛЕЗНЫЕ РЕСУРСЫ

Источникhttps://neerc.ifmo.ru/wiki/index.php?title=Квантовые_гейты

КВАНТОВЫЕ ВЫЧИСЛЕНИЯ И АТОМ-ПОЛЕВЫЕ ПЕРЕПУТАННЫЕ СОСТОЯНИЯ В МОДЕЛИ ТИПА ДЖЕЙНСА-КАММИНГСА

bottom of page