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