Быстрые квантовые алгоритмы
Обсуждение алгоритма.
Обсудим два естественно возникающих вопроса по поводу изложенного алгоритма.
— Можно ли находить собственные числа других операторов так же, как в алгоритме вычисления периода? Да, например, можно находить собственные числа таких операторов , для которых , и есть полиномиальная схема реализации оператора . (Из задачи 7.5 следует, что если для самого оператора есть полиномиальная схема, то и для оператора ее также можно построить).
Точность определения собственных чисел произвольного оператора невелика, полиномиально зависит от размера схемы. Если можно эффективно вычислять степени оператора (как и было в рассмотренном алгоритме), то точность можно сделать экспоненциальной.
— Какие собственные числа мы находим?
Мы находим значение случайно выбранного собственного числа. Распределением по множеству всех собственных чисел можно управлять, выбирая начальное состояние (в алгоритме вычисления периода — ). Если взять в качестве начального состояние, задаваемое диагональной матрицей плотности
где пробегает множество собственных векторов , то получим равномерное распределение на множестве всех собственных чисел. В алгоритме нахождения периода начальное состояние выбиралось иначе: мы выбирали такой вектор, чтобы получить равномерное распределение на собственных числах, соответствующих определенной орбите, остальные собственные числа не порождались.Задача 12.3. Постройте квантовую схему размера , реализующую преобразование Фурье на группе при любом с точностью . (Определение см. в задаче 8.4. Указание: воспользуйтесь результатом задачи 11.2).
Задача о скрытой подгруппе в .
Алгоритмы, открытые Саймоном и Шором, обобщаются на довольно широкий класс задач, связанных с абелевыми группами. Самой общей из них является задача о скрытой подгруппе в [23]. К ней сводится задача о скрытой подгруппе в любой конечно-порожденной абелевой группе , поскольку можно представить как фактор-группу (для некоторого ).
"Скрытая подгруппа" изоморфна , поскольку она имеет конечный индекс: порядок группы не превосходит . С вычислительной точки зрения представляется базисом , двоичная запись которого имеет длину . Любой такой базис считается решением задачи. (Эквивалентность двух базисов можно проверить при помощи полиномиального алгоритма).
Задача о вычислении периода является частным случаем задачи о скрытой подгруппе в . Напомним, что . Фунция удовлетворяет условию (12.1), где . Эта функция полиномиально вычислима, поэтому любой полиномиальный алгоритм нахождения скрытой подгруппы преобразуется в полиномиальный алгоритм решения задачи о вычислении периода.
Известная задача вычисления дискретного логарифма может быть сведена к задаче о скрытой подгруппе в . Дискретным логарифмом числа по основанию , где — некоторый первообразный корень по модулю простого числа (образующая ), называется наименьшее положительное число такое, что . Рассмотрим функцию . Эта функция также удовлетворяет условию (12.1), где . Зная базис подгруппы , легко найти элемент вида . Тогда , т.е. есть дискретный логарифм по основанию .
Опишем квантовый алгоритм решения задачи о скрытой подгруппе в . Он аналогичен алгоритму для случая , только вместо оператора используется процедура измерения собственных чисел. Вместо базиса самой группы мы будем искать систему образующих для группы характеров (переход от к осуществляется при помощи полиномиального алгоритма, см., например,[14, Т.1]). Характер
задается набором чисел по модулю . Это рациональные числа со знаменателями не больше .Если породить случайных равномерно распределенных характера , , то они порождают всю группу с вероятностью (см. задачу 12.1). Каждую из величин достаточно знать с точностью и вероятностью ошибки , где
( 12.3) |
Выберем достаточно большое число (конкретная оценка получается из анализа алгоритма). Мы будем работать с целыми числами в диапазоне от до .
Приготовим в одном квантовом регистре длины состояние
В другой регистр поместим . Применим квантовый оракул (12.2) и выбросим второй регистр. Получится смешанное состояниеТеперь мы собираемся измерить собственные значения операторов сдвига по модулю :
(меняется только -ая компонента). Эти операторы коммутируют, поэтому у них есть общий базис из собственных векторов, и, значит, можно определять их собственные числа одновременно. Собственные числа имеют вид . Соответствующие собственные векторы равныВероятность того, что реализуется данный набор , равна
где обозначает характеристическую функцию множества . Фурьеобраз от произведения равен свертке фурье-образов сомножителей. Таким образом, получаем:При заданных значениях функция является вероятностным распределением, относительно которого
( — любое). Мы измеряем величины (как уже говорилось, измерение одной из них не меняет значения другой); при этом нас устроит точность и вероятность ошибки . Тем самым мы получаем значения с точностью и вероятностью ошибки . Теперь осталось подобрать числа и , чтобы удовлетворить неравенствам 12.3.Сложность алгоритма.
Tребуется обращений к оракулу, каждый вопрос имеет длину . Размер квантовой схемы оценивается как .
Замечание. Для измерения собственных чисел операторов можно воспользоваться квантовым преобразованием Фурье на группе при (см. задачу 8.4). Это позволяет несколько уменьшить размер схемы (на логарифмический множитель), однако приходится использовать нестандартные элементы.