Алгоритм Дойча

Алгори́тм До́йча, квантовый алгоритм, предложенный Д. Дойчем в 1985 г., для решения следующей задачи. Пусть дана функция , которая в качестве аргумента принимает или и в качестве значения тоже выдаёт или . Функция задана в виде чёрного ящика, т. е. имеется возможность подавать на вход одно из двух значений и считывать выход (значение функции). Требуется за наименьшее число обращений к функции понять, совпадают или отличаются значения и .

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

Квантовая схема алгоритма Дойча приведена на рисунке.

Алгоритм Дойча использует два кубита. Начальные состояния кубитов записаны слева. То есть алгоритм предписывает создать вначале два кубита в соответствующих состояниях (задаваемых векторами комплексного линейного пространства). Линия на схеме означает в данном случае один кубит. Путь вдоль черты слева направо предписывает последовательность применяемых вычислительных (унитарных) операций (вентилей). На рисунке однокубитный вентиль (преобразование Адамара) преобразует базисный вектор (соответствующий значению бита 0) в вектор , а базисный вектор (соответствующий значению бита ) – в вектор . Поскольку рассматриваются линейные операторы, то достаточно задать их действие на базисные векторы. Двухкубитный вентиль преобразует в и – в , где есть или . То есть этот вентиль осуществляет вычисление функции . На его первый вход подаётся , т. е. суперпозиция обоих значений аргументов. Соответственно, функция вычисляется как бы одновременно в двух точках. После чего вентиль создаёт интерференцию между этими двумя альтернативами. Последний прямоугольник в верхней строке схемы означает проведение измерения над данным кубитом. Несложный алгебраический расчёт показывает, что результат измерения, равный , означает, что значения функции в двух точках совпадают, результат, равный , – что отличаются. Таким образом, мы отвечаем на требуемый вопрос за одно обращение к функции.

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

Совместное состояние двух кубитов записывается в виде
, где тензорное произведение векторов. Совместное состояние можно переписать в виде

.

В предыдущих обозначениях можно записать Невозможно разобрать выражение (неизвестная функция «\ket»): {\displaystyle \left|0\right\rangle\otimes\left|0\right\rangle=\ket{00}} , Невозможно разобрать выражение (неизвестная функция «\ket»): {\displaystyle \left|0\right\rangle\otimes\left|1\right\rangle=\ket{01}} и т. д. Вентиль преобразует это состояние в

Невозможно разобрать выражение (неизвестная функция «\ket»): {\displaystyle \begin{aligned}\frac12\big(\left|0\right\rangle\otimes\ket{f(0)} -\left|0\right\rangle\otimes\ket{1-f(0)}+\left|1\right\rangle\otimes\ket{f(1)}-\left|1\right\rangle\otimes\ket{1-f(1)}\big)=\\ =\frac12\big[\left|0\right\rangle\otimes\big(\ket{f(0)}-\ket{1-f(0)}\big) +\left|1\right\rangle\otimes\big(\ket{f(1)}-\ket{1-f(1)}\big)\big]\end{aligned}} .

Это составное состояние двух кубитов является сцепленным (запутанным). Появление сцепленных состояний есть необходимое условие «квантового ускорения», т. е. более высокой эффективности квантового алгоритма по сравнению с классическими.

Заметим, что если , то Невозможно разобрать выражение (неизвестная функция «\ket»): {\displaystyle \ket{f(x)}-\ket{1-f(x)}=\left|0\right\rangle-\left|1\right\rangle} , а если , то Невозможно разобрать выражение (неизвестная функция «\ket»): {\displaystyle \ket{f(x)}-\ket{1-f(x)}=\left|1\right\rangle-\left|0\right\rangle} . Таким образом, если , то последнее выражение переписывается в виде (с точностью до знака перед всем выражением)

,

а если , то оно переписывается в виде (также с точностью до знака перед всем выражением)

.

Оба выражения выписаны с точностью до знака, поскольку знак перед всем выражением не оказывает влияния на последующие рассуждения и результат измерения в конце.

Теперь применим к первому кубиту, который находится либо в состоянии , если , либо в состоянии , если , преобразование Адамара

,
.

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

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

Литература

  • Нильсен М. А. Квантовые вычисления и квантовая информация / М. Нильсен, И. Чанг. – Москва : Мир, 2006.
  • Прескилл Д. Квантовая информация и квантовые вычисления : лекции / пер. с англ. Т. С. Нечаевой. – Москва ; Ижевск : Инcтитут компьютерных исследований, 2008.
  • Ohya M. Mathematical foundations of quantum information and computation and its applications to nano- and bio-systems / M. Ohya, I. Volovich. – Dordrecht : Springer, 2011. – (Theoretical and Mathematical Physics).
  • Дасгупта С. Алгоритмы / С. Дасгупта, Х. Пападимитриу, У. Вазирани ; пер. с англ. А. С. Куликова. – Изд. 2-е, стер. – Москва : Издательство МЦНМО, 2019.
  • Сысоев С. С. Введение в квантовые вычисления. Квантовые алгоритмы. – Санкт-Петербург : Издательство Санкт-Петербургского университета, 2019.
  • Holevo A. S. Quantum systems, channels, information : a mathematical introduction. – 2nd rev. and expanded ed. – Berlin : De Gruyter, 2019. – (Texts and Monographs in Theoretical Physics).
Материалы портала bigenc.ru переданы в ведение АНО «Интернет-энциклопедия «РУВИКИ» на основе лицензионного соглашения. Возможны неточности в отображении материалов. Если у вас возникли вопросы или вы увидели ошибку, пожалуйста, сообщите нам на info@ruwiki.ru