Квантовый параллелизм. Алгоритмы Дойча и Дойча- Джозсы.
Пусть функция имеет однобитовую область определения и однобитовое множество значений. Нетрудно видеть, что таких функций всего четыре. Две из них постоянны:
1. , , 2. ,
Две другие функции переменны:
3. , , 4. ,
Квантовая реализация функции состоит в том, что двухкубитовое состояние преобразуется в состояние , т.е.
Здесь символ означает сложение по модулю 2.
В частности, если во втором кубите исходно записан ноль ( ), то функция задает следующее преобразование:
Графическое представление для квантового вычисления функции показано на рисунке.
Рис.5.1 Схема квантового вычисления функции
Рассмотрим для примера четвертую из представленных выше функций: , . Нетрудно видеть, что рассматриваемая функция задает следующее преобразование:
Задача 5.4 Покажите, что введенное определение квантовой реализации функции задает унитарное преобразование входного состояния в выходное. Найдите соответствующие унитарные матрицы для каждой из четырех представленных выше функций.
Принцип суперпозиции позволяет подавать на вход схемы квантового вычисления функций не только определенное базисное состояние , но и произвольную суперпозицию таких состояний. Эта возможность обеспечивает так называемый квантовый параллелизм, которой означает, что (в определенном смысле) квантовый алгоритм позволяет вычислять функцию для многих значений аргумента одновременно. Квантовый параллелизм, таким образом, обеспечивает принципиально важное преимущество квантовых схем вычислений над классическими. Заметим, в то же время, что результаты квантовых параллельных вычислений не могут быть непосредственно экстрагированы из квантовой системы из-за неизбежной редукции квантового состояния при измерениях.
Задача 5.5 Докажите справедливость результата, представленного на следующем рисунке.
Рис. 5.2 Демонстрация квантового параллелизма для функции с однокубитовой областью определения.
Результаты, полученные в задаче, являются простейшей демонстрацией свойства квантового параллелизма. Благодаря действию элемента Адамара на первый кубит, на вход вычислителя функции поступает суперпозиция состояний . В итоге, выходное состояние системы представляет собой суперпозицию результатов вычислений при значениях аргумента и .
Представленный результат может быть обобщен на вычисление функции с - битовой областью определения и - битовым множеством значений. Квантовая реализация функции в этом случае определяется тем же преобразованием , где символ означает сложение по модулю 2, но теперь - не один кубит, а - кубитовый регистр данных.
Задача 5.6Докажите справедливость результата, представленного на рисунке.
Рис.5.3 Демонстрация квантового параллелизма для функции с -кубитовой областью определения.
Указание к задаче: воспользуйтесь результатами задачи 4.10.
Здесь обозначение символизирует - кубитовый провод (регистр запроса). Каждый кубит рассматриваемого провода подвергается преобразованию Адамара , что обеспечивается тензорным произведением . Область определения функции задана базисными состояниями . Множество значений функции определяется всего двумя состояниями и . Квантовый параллелизм обеспечивает одновременное вычисление функции в точках от до .
Алгоритм Дойча описывается квантовой схемой, приведенной на рисунке.
Рис.5.4 Квантовая схема для алгоритма Дойча
Задача 5.7Покажите, что состояние на выходе схемы Дойча есть:
,
когда функция постоянна, т.е.
,
когда функция переменна, т.е.
Указание к задаче: покажите, что действие оператора на состояние приводит к состоянию
Произведем измерение первого кубита выходного состояния , полученного в представленной выше задаче. В результате измерения с достоверностью получится , если функция постоянна и , если функция переменна. Полученный результат весьма поучителен: посредством одного- единственного вычисления мы смогли идентифицировать определенное глобальное свойство функции (ее постоянство или переменность). При классическом рассмотрении задачи нам, очевидно, потребовалось бы два вычисления для решения той же самой задачи.
Заметим, что схема Дойча не ставит цели восстановить неизвестную функцию целиком: она ориентирована только на идентификацию рассматриваемого глобального свойства неизвестной функции.
Можно констатировать, что в алгоритме Дойча двухбитовая неопределенность, соответствующая четырем возможным функциям , снижается до однобитовой неопределенности, соответствующей только двум возможным функциям . Измерение на выходе схемы Дойча позволяет отличить пару функций (1,2) от пары (3,4). Очевидно, что для того, чтобы отличить пару (1,3) от пары (2,4), достаточно измерить . Аналогично, что для того, чтобы отличить пару (1,4) от пары (2,3), достаточно измерить . Два последних алгоритма аналогичны в классическом и квантовом случае. Возникает резонный вопрос: почему нет аналога алгоритму Дойча в классической теории информации? Дело в том, что в действительности нет двух раздельных теорий информации (классической и квантовой). Существует только одна последовательная теория информации- это квантовая информатика. Классическая теория информации- есть «урезанная» версия квантовой (в классической теории бит может находиться только в состояниях или , но не их суперпозиции). Такое «урезание», как мы видим уже на примере алгоритма Дойча, делает теорию логически менее привлекательной, менее последовательной и фактически неполной. Напомним, что точно в таком же отношении друг к другу находятся классическая и квантовая теории вероятностей. Это неслучайно: ведь любое количественное определение информации (например, определение Шеннона) базируется на статистических соображениях.
Оказывается, что задача Дойча допускает простое обобщение на многокубитовый случай. Рассмотрим функцию с - битовой областью определения и - битовым множеством значений. Теперь переменная может принимать различных значений , где . Предположим, что нам заранее известно, что функция может быть только одного из двух типов: постоянная функция или так называемая сбалансированная функция. Для постоянной функции . Если функция сбалансирована, то для некоторых и для остальных значений аргумента, причем значения и встречаются одинаково часто (в этом и заключается сбалансированность). Пусть, например, имеется функция с 10-ти битовой областью определения. Тогда для некоторых 512 значений получим , а для остальных 512 значений получим . Задача Дойча- Джозсы состоит в том, чтобы отличить постоянную функцию от сбалансированной.
Алгоритм Дойча- Джозсы является непосредственным обобщением алгоритма Дойча на случай многокубитовых систем. Он описывается следующей квантовой схемой, приведенной на рисунке.
Рис. 5.5 Квантовая схема алгоритма Дойча- Джозсы
Задача 5.8Покажите, что на вход вычислителя в схеме Дойча- Джозсы поступает состояние .
Задача 5.9 Покажите, что на выходе вычислителя в схеме Дойча- Джозсы возникает состояние
Задача 5.10Убедитесь, что действие оператора Адамара на базисные состояния отдельного кубита описывается формулой: . Покажите, что непосредственно из указанной формулы следует ее - кубитовое обобщение: действие оператора Уолша- Адамара на базисные состояния - кубитового регистра описывается формулой:
.
Здесь и - запись номеров состояний в двоичном представлении, и представляют собой - компонентные строки из нолей и единиц, - скалярное произведение соответствующих строк.
Непосредственно из результатов представленных выше задач следует, что на выходе схемы Уолша- Адамара возникает следующее - кубитовое состояние:
Проведем теперь измерение первых кубитов (регистра запроса). Амплитуда вероятности найти регистр запроса в состоянии , очевидно, есть:
.
Пусть функция постоянна, т.е. . В этом случае все слагаемых в рассматриваемой сумме одинаковы (происходит их конструктивная интерференция), в итоге суммарная амплитуда вероятности оказывается равной или , а соответствующая вероятность равной единице. Таким образом, если неизвестная функция постоянна, то все кубитов регистра запроса с достоверностью оказываются в состоянии .
Пусть теперь неизвестная функция переменна и сбалансирована. Сбалансированность означает, что для половины из возможных значений аргумента функция равна нулю ( ), а для другой половины возможных значений аргумента - единице ( ). В этом случае в сумме положительные и отрицательные слагаемые полностью скомпенсируют друг друга (деструктивная интерференция). Теперь суммарная амплитуда и соответствующая вероятность окажутся равными нулю. Таким образом, если неизвестная функция сбалансирована, то регистр запроса никогда не будет обнаружен в состоянии . Другими словами, хотя бы один из кубитов регистра запроса окажется при измерении в состоянии .
Мы видим, что алгоритм Дойча- Джозсы позволяет с достоверностью отличить постоянную функцию от сбалансированной посредством одного- единственного обращения к вычислителю .
Задача 5.11Покажите, что при классическом рассмотрении задачи Дойча- Джозсы для того, чтобы с достоверностью отличить постоянную функцию от сбалансированной может потребоваться до обращений к устройству, производящему вычисление функции .
Результат представленной задачи показывает, что алгоритм Дойча- Джозсы обеспечивает квантовому компьютеру экспоненциальное преимущество в скорости по сравнению с классическим компьютером.
Это преимущество, однако, имеет место только для идеальной задачи абсолютно безошибочной классификации. В реальных задачах нам, как правило, достаточно ограничиться правдоподобным ответом, который является правильным лишь с вероятностью, очень близкой к единице. Кроме того, получать абсолютно достоверные ответы на вопросы при помощи вычислений невозможно и по чисто техническим причинам, поскольку преобразование данных в компьютере (классическом или квантовом) неизбежно сталкивается с возможными технологическими ошибками, шумами и сбоями. Если же мы ограничиваемся правдоподобными (с вероятностью, близкой к единице) ответами, то в задаче Дойча- Джозсы пропадает экспоненциальное преимущество квантового алгоритма по сравнению с классическим вероятностным алгоритмом. Последний заключается в том, что на вход классического вычислителя функции подается последовательность случайных чисел объема и по результатам вырабатывается правдоподобный ответ на вопрос о виде функции (постоянная она или сбалансированная).
Задача 5.12 Пусть задача Дойча- Джозсы решается на классическом вероятностном компьютере, причем допускается некоторая малая вероятность ошибки (когда сбалансированная функция принимается за постоянную). Какой объем последовательности случайных чисел следует взять?
Алгоритм Дойча- Джозсы относится к так называемым квантовым вычислениям с оракулом (прорицателем). Роль оракула здесь играет вычислительное устройство . Фактически это устройство представляет собой черный ящик, содержание которого неизвестно и несущественно в данной задаче. Все что мы знаем- это то, что оракул обеспечивает выполнение унитарного преобразования , где - постоянная или сбалансированная функция. Любое устройство - это, конечно, некоторый квантовый код (алгоритм), который обеспечивает выполнение заданного преобразования. Мы можем считать, что синтаксически рассматриваемый код настолько сложен, что мы не в состоянии понять какую функцию он вычисляет (постоянную или сбалансированную). Не имея возможности понять код, мы используем его как черный ящик в квантовой схеме, при этом вопрос о постоянстве или сбалансированности неизвестной функции решается экспериментально посредством алгоритма Дойча – Джозсы. Заметим, однако, что такая постановка задачи несколько искусственна.
Главное значение алгоритмов Дойча и Дойча- Джозсы методическое: они раскрывают сущность квантового параллелизма и демонстрируют возможности квантовых вычислений.
5.4. Квантовое преобразование Фурье.
Пусть имеется система из кубитов. Ее состояние представляет собой вектор в гильбертовом пространстве размерности . Базисные состояния квантовой системы есть , где
Квантовое преобразование Фурье задается следующим унитарным преобразованием базисных состояний:
Преобразование Фурье базисных функций определяет соответствующее преобразование вектора состояния
Здесь
Последняя формула представляет собой преобразование Фурье комплексных амплитуд вероятности. Результат в точности соответствует так называемому классическому дискретному преобразованию Фурье, примененному к столбцу комплексных чисел , где (см. например [70]).
Обратное преобразование Фурье для амплитуд вероятности есть
Квантовое преобразование Фурье принципиально отличается от аналогичного дискретного преобразования Фурье классического сигнала (несмотря на тождество соответствующих формул). Дело в том, что в квантовой информатике мы имеем дело со специфическим «сигналом», который образован амплитудами вероятности (а не электрическими или механическими напряжениями как в классическом случае). В отличии от классического сигнала, квантовый «сигнал» нельзя измерить никаким «осциллографом» (при измерении квантовое состояние редуцируется в одно из базисных состояний). В то же время, в квантовой информатике мы можем оперировать векторами данных экспоненциально большой размерности (например при ).
Для простоты изложения остановимся более подробно на трехкубитовом преобразовании Фурье ( , ).
Например, базисное состояние будет претерпевать следующее изменение
Квантовое преобразование Фурье может быть построено на основе элементов Адамара и контролируемого преобразования фазы.
Пусть - следующее однокубитовое преобразование фазы:
На рисунке 5.6 изображен двухкубитовый элемент, осуществляющий контролируемое фазовое преобразование. Управляемый кубит (нижний) подвергается преобразованию , если управляющий кубит (верхний) находится в состоянии
Рис. 5.6 Двухкубитовый элемент, осуществляющий управляемое фазовое преобразование.
На рисунке 5.7 представлена квантовая цепь, обеспечивающая трехкубитовое преобразование Фурье
Рис. 5.7 Квантовая цепь для трехкубитового преобразования Фурье
Задача 5.13Пусть на вход трехкубитовой квантовой схемы, изображенной на представленном выше рисунке, подается состояние . Покажите, что на выходе квантовой схемы будет состояние:
Решите ту же задачу для других входных состояний .
Решение задачи свидетельствует о том, что квантовая схема на рисунке действительно дает трехкубитовое преобразование Фурье с одной существенной оговоркой. Легко видеть, что для того, чтобы результат был правильный, на выходе схемы порядок следования кубитов должен быть обращен. Другими словами, двоичное представление состояний на выходе следует читать не слева направо, а справа налево: например означает состояние и т.д.
Конечно, на выходе схемы можно ввести дополнительные операции обмена состояниями кубитов, но с практической точки зрения это нецелесообразно (лучше договориться об инверсии порядка нумерации кубитов).
Представленная выше трехкубитовая схема допускает простое обобщение на произвольное число кубитов.
Общий алгоритм квантового преобразования Фурье может быть реализован с помощью схемы, изображенной на рисунке.
Рис. 5.8 Квантовая цепь для - кубитового преобразования Фурье
Подсчитаем число операций, необходимых для осуществления квантового преобразования Фурье. Из схемы видно, что с первым (верхним) кубитом можно связать преобразований (преобразование Адамара и фазовое преобразование), аналогично со вторым (сверху) кубитом можно связать преобразование и т.д. Полное число преобразований, равное сумме арифметической прогрессии, есть . Таким образом, число операций, необходимых для осуществления квантового преобразования Фурье, есть величина порядка . Отметим, что самые быстрые классические алгоритмы выполняют преобразование Фурье за порядка операций (так называемое быстрое преобразование Фурье). Таким образом, квантовый алгоритм имеет экспоненциальное преимущество по сравнению со своим классическим аналогом.
Пример. Пусть имеется 1000- кубитовое состояние ( ). Ему отвечает вектор состояния, описывающийся комплексными числами. Для осуществления классического быстрого преобразования потребуется проделать порядка операций. В то же время, квантовое преобразование над рассматриваемым вектором осуществляется примерно за операций.
Таким образом, экспоненциальное преимущество квантового алгоритма по сравнению с классическим позволит на квантовом компьютере ставить и решать задачи, которые никогда не будут решены на классическом компьютере.
Нахождение периода функции
Задача определения периода функции является важным примером применения квантового преобразования Фурье.
Предположим, что имеется периодическая функция с периодом . Это означает, что для всех выполняется тождество:
В последней формуле под операцией сложения подразумевается сложение по модулю . Предположим дополнительно, что все значения функции на одном периоде различны. Очевидно, что функция может быть в точности периодической только в том случае, когда делится на без остатка, т.е. если - целое число.
В качестве начального состояния возьмем следующую однородную суперпозицию (квантовая схема для получения такого состояния представлена в задаче 5.3.3):
Проведем измерение второго регистра (регистра функции). Предположим, что при этом мы получим некоторое значение функции . Пусть - одно из значений аргумента, при котором . В результате редукции вектора состояния в суперпозиции «выживут» только слагаемые, отвечающие , где , поскольку только для них . В результате первый регистр (отвечающий аргументу ) перейдет в следующее квантовое состояние:
Выполним теперь квантовое преобразование Фурье над полученным состоянием. Согласно определению, каждое отдельно взятое базисное состояние будет подвергнуто следующему преобразованию:
Суперпозиция, представляющая состояние , в результате квантового преобразования Фурье примет вид:
Задача 5.14Пусть , где и . Покажите, что , если , где и при всех остальных значениях .
Результаты представленной выше задачи показывают, что выходное состояние регистра может быть записано в виде:
Последний шаг процедуры – это измерение полученного состояния. Мы видим, что с равной вероятностью возможно любое из состояний , где .
Пусть Природа «выбрала» некоторое и в результате измерения возникло состояние . Тогда, имеем следующее тождество для четырех целых чисел:
Здесь и доступные исследователю числа, в то время как и - числа, неизвестные ему. Наша цель- определить . Полученное тождество показывает, что исследователь не может гарантированно определить при однократном выполнении процедуры. Чтобы его поиски оказались продуктивны, ему следует уповать на то, что «выбранное» Природой число и период окажутся взаимно простыми (т.е. не будут иметь общих делителей, кроме единицы). Тогда, приведя дробь к несократимой, он сможет восстановить и . В этом случае нам удастся с помощью одного уравнения (7) найти два неизвестных целых числа. Если же исследователю не повезет и Природа «выберет» такое , что дробь окажется сократимой, то вместо истинного периода он получит меньшее значение.
Приведем пример. Пусть - заранее известное число. - период, неизвестный исследователю. Природа может «выбрать» любое от 0 до 63. Пусть, например, она «выбрала» . Тогда исследователь получит . Сократив дробь до , исследователь правильно определит, что и . Пусть теперь, Природа «выбрала» . Этот выбор неудачен для исследователя, поскольку числа 12 и 64 имеют общий делитель, равный 4. Теперь . Сократив дробь до , исследователь может сделать неправильный вывод, будто бы и . Для того, чтобы с высокой вероятностью получить правильный ответ, исследователь будет вынужден повторять описанную процедуру многократно. Тогда, очевидно, в качестве ответа ему следует взять период, отвечающий наибольшему из возможных значений (максимальный знаменатель в дроби после ее сокращения).
Оценим, сколько раз исследователь должен проделать описанную выше процедуру, чтобы определить неизвестный период с высокой гарантией. Для этого нужно оценить вероятность того, что «выбранное» Природой число окажется взаимно простым с . Известно, что при больших количество простых чисел, не превышающих можно оценить как . Отсюда следует, что вероятность удачи при отдельном испытании больше или порядка . Таким образом, если исследователь повторит процедуру раз, то с высокой гарантией, он сможет найти неизвестный период. Например, если , то потребуется всего порядка 1000 испытаний (в оценках такого рода мы не делаем различия между натуральным и двоичным логарифмами).
Резюмируем полученный результат. Квантовый алгоритм нахождения периода функций требует всего операций (для квантового преобразования Фурье требуется операций и операций требуется для описанной выше процедуры угадывания). Рассматриваемый алгоритм является полиномиальным по числу кубитов и, соответственно, по количеству знаков в числе (поскольку число шагов алгоритма определяется полиномом третьей степени).
Для экспоненциально больших полиномиальный квантовый алгоритм обладает радикальным преимуществом по сравнению с любыми известными классическими алгоритмами. Важный пример использования отмеченного преимущества рассмотрен в следующем разделе.
Факторизация чисел
Алгоритм нахождения периода функции, рассмотренный выше, может быть с успехом применен для разложения заданного целого числа на множители. Эта задача решается с помощью алгоритма, придуманного П. Шором в 1994 г.
В настоящее время алгоритм Шора- самый знаменитый из известных квантовых алгоритмов. Он позволяет за шагов осуществить разложение целого числа на множители и, таким образом, является алгоритмом полиномиальной сложности. Заметим, что аналогичный классический полиномиальный алгоритм неизвестен.
Пусть - целое нечетное число (при четном имеем тривиальное решение задачи). Нам требуется разложить данное число на простые множители или показать, что оно простое.
Выберем случайно число . Вычислим наибольший общий делитель (НОД) чисел и