М. Нильсен, И. Чанг - Квантовые вычисления и квантовая информация (1156771), страница 13
Текст из файла (страница 13)
Благодаря этому квантовый компъютер может эффективно моделировать вероятностный классический компъютер. Конечыо, если бы возможность моделирования классического компьютера была едииственыой отличительной чертой квантовых компьютеров, то не имело бы большого смысла решать все те проблемы, которые связаны с практическим использованием квантовых эффектов. Достоинство квантовых вычислений в том, что при использовании кубитов и квантовых элементов можно вычислять горэздо более сложные функции.
В следующих нескольких разделах мы объясним, как это делается. Кульминационной точкой станет рассмотрение алгоритма Дойче-Йожа — нашего первого примера квантового алгоритма, способного решать задачу быстрее любого классического алгоритма.
1,.4.2 Квантовый параллелизм Квампзовмй параллелизм — это фундаментальное свойство многих квантовых алгоритмов. Если объяснять эвристически, рискуя слишком упростить ситуацию, то квантовый параллелизм позволяет квантовым компьютерам вычислять функцию /(х) для многих различных зыачеыий х одновременно. В этом подразделе объясняется, квк работает квантовый параллелизм и каковы некоторые из его огрэыиченнй. Предположим, что /(х): 0,1 -+ 0,1 есть функция с однобнтовой областью определения и однобитовым диапазоном значений.
Чтобы понять, как этэ 1.4. Квантовые алгоритмы 55 функция вычисляется на квантовом компьютере, удобно рассмотреть двухкубитовый квантовый компьютер, на вход которого подается состояние ~х, у). С помощью подходящей цоследовательности логических элементов можно преобразовать это состояние в )х, у гр 7'(х)), где гн обозначает сложение по модулю 2.
Первый регистр называется регистром данных, а второй — регистром значений. Обозначим преобразование, определяемое отображением ~х, у) -+ <х, у йг 1(х)), как У7, и заметим, что можно легко показать его унитарность. Если у = О, то конечное состояние второго кубита есть просто значение 1(х). (В пцдразд. 3.2.5 мы покажем, что для данной классической схемы, вычисляющей у, существуег квантовая схема со сравнимой эффективностью, выполняющая преобразование Уу на квантовом компьютере. Для наших целей ее можно рассматривать как черный ящик.) !0) Рис. 1.17. Квантовая схема для одновременного вычисления ДО) и Д1) Уг — квантовая схема, которая нре«6раатет входные данные вида )я,р) в )я,рог г(в)).
Рассмотрим схему, показанную на рис. 1.17, которая применяет Уу к входному состоянюо, ие входящему в вычислительный базис. Регистр данных приготавливается в суперпозиции ()0) + )1))/~/2, которая может быть создана с помощью элемента Адамара, действующего на ~0). Затем мы, применяя У7, получаем состояние <О,.г(0)) + !1, г(1)) Л Это замечательное состояние! Разные члены содержат информацию об ДО) и 7"(1); зто почти то же самое, что вычислять 7'(х) для двух значений х одновременно.
Такая возможность называется «квантовым парэллелизмомы В отличие от классического параллелизма, когда одновременно работает много схем вычисления у(х), здесь используется одна схема 1 (х), которая вычисляет функцию одновременно для многих значений х за счет способности квантового компъютера находиться в суперпозиции различных состояний. Данную процедуру легко обобщить на функции от произвольного числа битов, используя обобщенную операцию, называемую преобразованием Адамара или иногда преобразованием Уолша-Адан«ори Это просто п элементов Адамара, действующих параллельно на и кубитов. В качестве примера на рис.
1.18 показан случай и = 2 с кубитами, приготовленными в состоянии ~0), что дает 56 Глава 1. Введение и общий обзор Запись Нег обозначает параллельное действие двух элементов Адамара, а «®» — тензорное произведение. В более общем случае результатом выполнения преобразовании Адамара над ~ кубвтами, изначально находящимися в состоянии «все !0)», будет (1.39) где суммирование проводится по всем возможным значениям я. Это действие мы обозначим как Не". Иными словами, преобразование Адамара дает супер- позицию всех состояний вычислительного базиса с одинаковыми коэффициентами.
Более того, оно делает это крайне эффективно, поскольку для получения суперпозиции 2и состояний используется всего и элементов. Рис. 1.18. Преобразование Адамара Нэз над двумя нубитами. Итак, квантовое параллельное вычисление функции у(х) с п-битовым входом х и 1-битовым выходом может быть выполнено следующим образом. Приготавливаем п + 1 кубитов в состоянии )0)мн!О), затем применяем к первым п кубитам преобразование Адамара, после чего задействуем квантовую схему, реализующую Уу, Это дает состояние — )х) )7(з)). (1.40) В некотором смысле квантовый параллелизм позволяет одновременно вычислять все возможные значения функции 7", хотя, казалось бы, мы вычисляем у только один раз.
Однако этим параллелизмом нельзя воспользоваться непосредственно. Измерение состояния в нашем примере с одним кубитом дает либо !0,1(0)), либо !1, 7(1))! В общем случае измерение состояния 2 !х, у(я)) также дало бы 7'(х) только для одного значения х. То же самое может легко сделать и классический компьютер! Чтобы от квантовых вычислений была польза, требуется несколько больше, чем просто квантовый параллелизм; нужно иметь возможность пэедекапзь информацию о более чем одном значении 1(х) из суперпознции состояний типа,~ !х,у(х)). В двух следующих подразделах мы рассмотрим примеры того, как это можно сделать.
1.4.3 Алгоритм Дойча Чтобы продемонстрировать превосходство квантовых схем над классическими, достаточно немного модифицировать схему на рис. 1.17 с тем, чтобы реализовать адгорипьм Дойча (на самом деле мы представляем упрощенный и 1.4. Квантовые алгоритмы 57 усовершенствованный вариант исходного алгоритма; см. резд. «История и дополнительная литература» в конце главы). В алгоритме Дойча квантовый параллелизм сочетается с таким явлением, как имтерференц я.
Как и прежде, мы используем элемент Адамара для приготовления первого кубита в супер- позиции (!0) + !1))/с/2, но на этот рез приготовим второй кубит у как суперпозицию (!0) — !1))/т/2, применив элемент Адамара к состоянию !1). Проследим за состояниями, чтобы увидеть, что происходит в этой схеме, показанной на рис. 1.19. !0) Т Т !Фс) !Ф~) Т Т !М !Фз) Рис, 1,19. Квантовая амма, реализующая алгоритм Доена. Входное состояние !фо) = !01) (1.41) пропускается через два элемента Адамара, что дает !О) + !1) !О)-!1) (1.42) ~, если /(0) = Д1), ! $0)-!1)1 т/2 —, если ДО) ф /(1).
(1.43) !О) + !1) с/2 !0)-!1) Л Таким образом, действие последнего элемента Адамара на первый кубит дает !Фз) = х!0> +!1) !0) — !1) т/2 !0) — !1) Л , если У(О) = У(1), , если ДО) ф /(1). (1.44) Простое рассуждение показывает, что если мы применим Уу к состоянию !х)(!О)-!1))/~/2, то получим состояние ( — 1)ггв1!х)(!0) — !1))/~/2. Следовательно, применение У7 к !от) предоставляет нам две возможности: 58 Глава 1. Введение и общий обзор Учитывая, что /(0) Е /(1) есть О, если /(0) = /(1), и 1 в противном случае, можно коротко переписать этот результат квк ~~з) = 4/(О) Е/(1)) (1.45) т. е. после измерения первого кубита мы можем узнать /(О) Ю /(1). Это весьма интересно: квантовая схема дала нам возможность определить глобальное свойство /(я), а именно /(О) Е /(1), при помощи только одного вычисления /(х)! Это быстрее, чем при использовании классического аппарата, где потребовалось бы как минимум двз вычисления.
Данный пример подчеркивает различие между квантовым параллелизмом и классическими вероятностными алгоритмами. По наивности можно подумать, что состояние ~ О) )/(0)) + ~1Щ1)) довольно близко соответствует результату работы вероятностного классического компьютера, который вычисляет /(О) с вероятностью одна вторая или /(1) с вероятностью одна вторая. Различие состоит в том, что для классического компьютера эти две альтернативы всегда являются взаимоисключающими, тогдв как в квантовом компьютере они могут гиктверферировагльь друг с другом, что позволяет определить некоторое глобальное свойство функции /, используя нечто вроде элемента Адамара, как это было сделано в алгоритме Дойче.
По сути, разработка многих кввнтовых алгоритмов сводится к хитроумному выбору функции и окончвтельного преобразования, позволяющих эффективно определять полезную глобальную информацию о функции — информацию, которую нельзя быстро получить на классическом компьютере. 1.4.4 Алгоритм Дойча-Йожа Алгоритм Дойче — это простой частный случай более общего квантового алгоритма, который мы будем называть алгоритмом Дойче-Йожа. Решаемую им приклвдяую задачу, называемую задачей Дойча, можно описать квк следующую игру. Алиса, нвходясь в Амстердаме, выбирает число х в интервале от 0 до 2" — 1 и посылает его письмом Бобу в Бостон.
Боб вычисляет некоторую функцию /(х) и посылает в ответ результат — либо О, либо 1. При этом Боб обещает использоввть функцию /(я) одного из двух видов: либо постоянную для всех значений х, либо сбалансированную, т. е. равную 1 строго для половины всех возможных х и 0 для другой половины. Задача Алисы — достоверно определить, выбрал ли Боб постоянную или сбалансированную функцию, общаясь с иим кзк можно меньше. Кэк быстро она сможет достичь успеха? В классическом случее Алиса может посылать Бобу в каждом письме только одно значение х. При наихудшем развитии событий ей потребуется обратиться к Бобу не менее 2"/2+ 1 рвз, поскольку онв может получить 2" /2 нулей перед тем, квк получит 1, что свидетельствуег о сбалансированности функции Боба. Следовательно, наилучший детерминированный классический алгоритм, который она может использовать, требует 2"/2+ 1 запросов.