The Deutsch – Jozsa алгоритм - это детерминированный квантовый алгоритм, предложенный Дэвидом Де utsch и Ричард Джозса в 1992 году с улучшениями, внесенными Ричардом Кливом, Артуром Экертом, Кьярой Маккиавелло и Микеле Моска в 1998 году. Несмотря на то, что в настоящее время он практически не используется, это один из первых примеров квантового алгоритма, который экспоненциально быстрее любого возможного детерминированного классического алгоритма.
В задаче Дойча – Йозса нам дается квантовый компьютер черного ящика, известный как оракул, который реализует некоторую функцию . Функция принимает на вход n-значные двоичные значения и выдает на выходе 0 или 1 для каждого такого значения. Нам обещали, что функция будет либо константой (0 на всех выходах или 1 на всех выходах), либо сбалансированной (возвращает 1 для половины входного домена и 0 для второй половины). Затем задача состоит в том, чтобы определить, является ли постоянным или сбалансированным, с помощью оракула.
Задача Дойча – Йожи специально разработана, чтобы быть простой для квантового алгоритма и сложной для любого детерминированного классического алгоритма. Мотивация состоит в том, чтобы показать проблему черного ящика, которая может быть эффективно решена квантовым компьютером без ошибок, тогда как детерминированному классическому компьютеру потребуется большое количество запросов к черному ящику для решения проблемы. Более формально, это дает оракул, относительно которого EQP, класс задач, которые могут быть решены точно за полиномиальное время на квантовом компьютере, и P являются
Так как задачу легко решить на вероятностном классическом компьютере, она не приводит к разделению оракула с BPP, классом задач, которые могут быть решена с ограниченной ошибкой за полиномиальное время на вероятностном классическом компьютере. Проблема Саймона является примером проблемы, которая приводит к разделению оракула между BQP и BPP .
Для традиционный детерминированный алгоритм, где n - количество бит, оценка потребуется в худшем случае. Чтобы доказать, что является постоянным, необходимо оценить чуть более половины набора входов и их выходы должны быть идентичны (помня, что функция гарантированно будет сбалансированной или постоянный, а не где-то посередине). Наилучший случай имеет место, когда функция сбалансирована и первые два выходных значения, которые случаются, различны. Для обычного рандомизированного алгоритма постоянных оценок функции достаточно для получения правильного ответа с высокой вероятностью (неудачный с вероятностью с ). Тем не менее, оценки по-прежнему необходимы, если нам нужен всегда правильный ответ. Квантовый алгоритм Дойча-Йозса дает ответ, который всегда является правильным при единственной оценке .
Алгоритм Дойча-Йозса обобщает более раннюю (1985) работу Дэвида Deutsch, который предоставил решение для простого случая, когда .. В частности, нам была предоставлена логическая функция, вход которой равен 1 бит, и спросили, является ли оно постоянным.
Алгоритм, который первоначально предлагал Дойч, фактически не был детерминированным. Алгоритм был успешным с вероятностью половина. В 1992 году Дойч и Джозса разработали детерминированный алгоритм, который был обобщен до функции, которая принимает бит для ввода. В отличие от алгоритма Дойча, этот алгоритм требовал двух вычислений функции вместо одного.
Дальнейшие усовершенствования алгоритма Дойча – Йозса были сделаны Кливом и др., В результате чего был получен детерминированный алгоритм, требующий только одного запроса . Этот алгоритм до сих пор называют алгоритмом Дойча – Йозса в честь новаторских методов, которые они использовали.
Для работы алгоритма Дойча – Йозса оракульные вычисления from должен быть квантовым оракулом, который не декогерируется . Он также не должен оставлять копии в конце вызова оракула.
алгоритм Дойча-Йожи квантовая схемаАлгоритм начинается с состояния бита . То есть каждый из первых n битов находится в состоянии , а последний бит - . Преобразование Адамара применяется к каждому биту для получения состояния
У нас есть функция , реализованная как квантовый оракул. Оракул отображает состояние до , где - сложение по модулю 2 (подробности реализации см. ниже). Применение квантового оракула дает
Для каждого либо 0, либо 1. Проверяя эти две возможности, мы видим, что указанное выше состояние равно
В этот момент последний кубит можно игнорировать, поэтому ниже остается:
Мы применяем преобразование Адамара к каждому кубиту, чтобы получить
где - сумма побитового произведения.
Наконец, мы исследуем вероятность измерения ,
, который оценивается как 1, если является постоянным (конструктивное вмешательство ) и 0, если сбалансировано (деструктивная интерференция ). Другими словами, окончательное измерение будет (т.е. все нули), если является константой и приведет к некоторым другим состояниям, если сбалансировано.
Алгоритм Дойча является частным случаем общего алгоритма Дойча – Йоже. Нам нужно проверить условие . Это эквивалентно проверке (где - сложение по модулю 2, которое также можно рассматривать как квантовый элемент XOR, реализованный как элемент Управляемое НЕ ), если ноль, то является постоянным, в противном случае не является постоянным.
Начнем с двухкубитного состояния и применить преобразование Адамара к каждому кубиту. Это дает
Нам дана квантовая реализация функции , который отображает до . Применяя эту функцию к нашему текущему состоянию, мы получаем
Мы игнорируем последний бит и глобальную фазу и поэтому имеем состояние
Применяя преобразование Адамара к этому состоянию, мы имеем
тогда и только тогда, когда мы измеряем ноль и тогда и только тогда, когда мы измеряем единицу. Итак, мы с уверенностью знаем, является ли постоянным или сбалансированным.