В Алгоритм Бернштейна – Вазирани, который решает Проблема Бернштейна – Вазирани. это квантовый алгоритм изобретен Итан Бернштейн и Умеш Вазирани в 1992 г.[1] Это ограниченная версия Алгоритм Дойча – Йожи где вместо того, чтобы различать два разных класса функций, он пытается изучить строку, закодированную в функции.[2] Алгоритм Бернштейна – Вазирани был разработан для доказательства разделение оракула между классы сложности BQP и BPP.[1]
Постановка задачи
Учитывая оракул который реализует функцию в котором является обещал быть скалярное произведение между и секретная строка по модулю 2, , найти .
Алгоритм
Как правило, наиболее эффективный метод поиска секретной строки - это вычисление функции раз, когда , [2]
В отличие от классического решения, которое требует как минимум запросы функции для поиска , требуется только один запрос с использованием квантовых вычислений. Квантовый алгоритм выглядит следующим образом: [2]
Применить Преобразование Адамара к состояние кубита получить
Далее применяем оракул который преобразует . Это можно смоделировать с помощью стандартного оракула, преобразующего применив этот оракул к . ( обозначает сложение по модулю два.) Это преобразует суперпозицию в
К каждому кубиту применяется другое преобразование Адамара, благодаря чему для кубитов, где , его состояние конвертируется из к и для кубитов, где , его состояние конвертируется из к . Чтобы получить , измерение в стандартная основа () выполняется на кубитах.
Графически алгоритм может быть представлен следующей диаграммой, где обозначает преобразование Адамара на кубиты:
Причина, по которой последнее состояние потому что для конкретного ,
С верно только когда , это означает, что единственная ненулевая амплитуда находится на . Итак, измерение выходного сигнала схемы в вычислительной базе дает секретную строку .
Смотрите также
Рекомендации