Быстрые квантовые алгоритмы
Квантовый алгоритм нахождения периода: основная идея.
Рассмотрим оператор умножения вычета на , действующий по правилу . (Более корректное обозначение — , однако число не меняется на протяжении всего вычисления, поэтому мы опускаем его в индексах). Этот оператор переставляет базисные векторы при (напомним, что ). Будем считать, что на остальных базисных векторах он действует тождественно, при .
Поскольку для умножения вычетов есть обычная булева схема полиномиального — — размера, то существует и квантовая схема примерно такого же размера (использующая напрокат дополнительные q-биты, как это объяснялось раньше).
Перестановка, которую задает оператор , разбивается на циклы. Цикл, содержащий , содержит и (после итераций мы попадаем из в ). Алгоритм, о котором пойдет речь, начинает с состояния и применяет к нему оператор по многу раз. Но за пределы орбиты (цикла перестановки, которому принадлежит ) мы такими преобразованиями не выйдем. Поэтому рассмотрим ограничение оператора на подпространство, порожденное орбитой .
Собственные числа для , где — период.
Легко проверить, что написанные векторы действительно собственные. Достаточно заметить, что умножение на приводит к сдвигу индексов в сумме. Если заменить переменную суммирования, чтобы устранить этот сдвиг, получим множитель .
Если бы мы могли измерять собственные числа оператора , то получали бы числа . Сначала разберем, как это может нам помочь в нахождении периода.
Пусть у нас есть машина , которая при каждом запуске выдает нам число , где — искомый период, а — равномерно распределенное на множестве случайное число. Мы предполагаем, что представлено в виде несократимой дроби (если бы машина выдавала число в виде , то вообще не было бы проблем).
Получив несколько дробей такого вида , можно с большой вероятностью найти число , приводя эти дроби к общему знаменателю.
Лемма. Если получено дробей, то вероятность того, что наименьшее общее кратное их знаменателей отлично от , меньше .
Доказательство. Дроби получаются сокращением дробей (т.е. ), где — независимо распределенные случайные числа. Достаточно, чтобы эти числа были в совокупности взаимно просты, тогда наименьшее общее кратное будет равно .
Вероятность того, что имеют общий простой делитель , не больше, чем . Поэтому вероятность получить не после приведения к общему знаменателю не превосходит (эта сумма заведомо включает в себя все простые, меньшие ).
Теперь будем строить машину . Она должна содержать схему, измеряющую собственные числа оператора для любого (а не только для — числа, для которого ищется период). Точнее говоря, нам нужен оператор , если . Как оператор действует в остальных случаях, неважно. Его можно доопределить любым вычислительно тривиальным способом. На самом деле, все приведенные ранее рассуждения об имитации классических схем квантовыми сохраняют силу и для имитации схем, вычисляющих частично определенные функции.
Задача 12.2. Используя оператор , реализуйте оператор для любого , взаимно простого с .
Обозначим (подпространство, порожденное ), тогда искомая схема должна реализовывать измеряющий оператор с операторами вида , где — некоторая несократимая дробь, а — мусор. При этом для условных вероятностей должно выполняться неравенство
где , обозначает несократимую дробь, представляющую рациональное число .Построение такой измеряющей схемы довольно сложное, поэтому вначале объясним, как из нее строится машина . Возьмем состояние в качестве начального. Прямое вычисление (читателю рекомендуется его проделать) показывает, что
Это равенство гарантирует равномерное распределение числителей дробей. Проведем измерение в этом состоянии, тогда по формуле полной вероятности получаемВероятности всех равны: , а указанное выше свойство условных вероятностей гарантирует нам, что с вероятностью будет получаться ,. Как будет видно в дальнейшем, при построении можно сделать величину сколь угодно малой.
Условно работу машины можно представить в виде такого процесса:
(Cлучайный выбор происходит сам по себе, без применения какого бы то ни было оператора. Просто формула полной вероятности устроена так, как будто до начала измерения генерируется случайное , которое затем остается постоянным. Разумеется, формула условной вероятности верна только тогда, когда оператор является измеряющим для заданных подпространств ).