Быстрые квантовые алгоритмы
Единственное нетривиальное использование квантовых свойств для вычислений, которое мы уже рассмотрели, — это решение универсальной переборной задачи алгоритмом Гровера, изложенным в
"Определение квантового вычисления. Примеры"
. К сожалению, при этом достигается лишь полиномиальное ускорение. Поэтому никаких серьезных следствий для теории сложности вычислений (типа ) алгоритм Гровера не дает. В настоящее время нет доказательства того, что квантовые вычисления превосходят по скорости классические вероятностные. Но есть косвенные свидетельства в пользу такого утверждения. Первое из них — пример задачи с оракулом (т.е. процедурой типа "черного ящика"), для которой существует полиномиальный квантовый алгоритм, в то время как любой классический вероятностный алгоритм экспоненциален1Следует иметь в виду, что сложность задач с оракулом часто отличается от сложности обычных вычислительных задач. Классический пример — теорема о том, что
[36, 37]. Оракульный аналог этого утверждения неверен [30]!
. Этот пример, построенный Д. Саймоном [42], называется задачей о скрытой подгруппе в
. В дальнейшем мы решим также задачу о скрытой подгруппе в
, обобщающую все результаты из этого раздела.
Задача о скрытой подгруппе. Пусть — конечная группа, причем задано некоторое представление элементов
двоичными словами. Имеется устройство ( оракул ), вычисляющее функцию
со следующим свойством:
![]() |
( 12.1) |

Задача о скрытой подгруппе в .
Мы рассмотрим сформулированную выше задачу в случае . Элементы этой группы
можно представлять строками длины из нулей и единиц; групповая операция — побитовое сложение по модулю 2.
Легко доказать, что нельзя быстро найти "скрытую подгруппу" на классической вероятностной машине. (Классическая машина посылает на вход "черного ящика" строки и получает ответы
. Каждый следующий вопрос
зависит от предыдущих ответов
и некоторого случайного числа
.)
Утверждение 12.1. Пусть . Для любого классического вероятностного алгоритма, делающего не более
обращений к оракулу, существует подгруппа
и соответствующая функция
, для которой алгоритм ошибается с вероятностью
.
Доказательство. Для одной и той же подгруппы существует несколько различных оракулов
. Мы будем считать, что один из них выбирается случайно и равновероятно. (Если алгоритм ошибается с вероятностью
при случайном оракуле, то он также будет ошибаться с вероятностью
при каком-нибудь конкретном оракуле.) Случайный оракул обладает следующим свойством: если очередной ответ
не совпадает ни с одним из предыдущих ответов
, то он равномерно распределен на множестве
. Таким образом, случайный оракул эквивалентен устройству с памятью, которое на вопрос
выдает наименьшее число
, такое что
. Классическую машину можно изменить таким образом, что она сама будет производить случайный выбор
, когда
.
Пусть число вопросов к оракулу равно . Без уменьшения общности все вопросы различны. В случае
все ответы также различны, то есть
для всех
. Теперь рассмотрим случай
, где
выбирается случайно с равномерным распределением на множестве всех ненулевых элементов группы
. Тогда, независимо от используемого алгоритма,
c вероятностью
. С вероятностью
это имеет место для всех
. Напомним, что у нас есть два случайных параметра:
и
. Мы можем зафиксировать
таким образом, чтобы вероятность получения ответов
(для всех
) по-прежнему была больше
. Посмотрим, что будет делать классическая машина в этом случае. Если она выдает ответ "
" с вероятностью
, положим
— тогда выдаваемый ответ будет неверным с вероятностью
. Если же вероятность ответа "
" меньше
, положим
.
Теперь определим квантовый аналог описанного выше устройства. Соответствующий квантовый оракул — это унитарный оператор
![]() |
( 12.2) |

Пусть , а
— группа характеров на
, т.е. гомоморфизмов
. В случае
группу
можно охарактеризовать следующим образом:







Начнем с того, что приготовим состояние в одном квантовом регистре. Во второй регистр поместим состояние
и применим оператор
. Затем выбросим второй регистр, т.е. не будем его больше использовать. Получится смешанное состояние







Задача 12.1. Пусть — независимые случайные равномерно распределенные элементы абелевой группы
. Докажите, что они порождают всю группу
c
вероятностью
.
Таким образом, достаточно случайных элементов, чтобы породить всю группу
с вероятностью ошибки
. (Такая маленькая вероятность ошибки получается без особых затрат по сравнению с
. Чтобы сделать ее еще меньше, эффективнее всего воспользоваться стандартной процедурой: повторить все вычисление несколько раз и выбрать наиболее часто встречающийся ответ).
Подведем итог: для нахождения "скрытой подгруппы" требуется
обращений к квантовому оракулу. В целом алгоритм имеет сложность
.