Текст
                    А. Китаев, А. Шень, М. Вялый
КЛАССИЧЕСКИЕ И КВАНТОВЫЕ ВЫЧИСЛЕНИЯ
Эта книга предназначена для первоначального знакомства с новой быстро
развивающейся и популярной областью исследований — теорией квантовых
вычислений. Вначале приводится краткое введение в классическую теорию
сложности вычислений. Затем подробно излагаются основы теории квантовых
вычислений, включая описание основных известных к настоящему времени
эффективных квантовых алгоритмов.
Для студентов физико-математических специальностей (начиная со второго года
обучения), аспирантов, научных работников: математиков и физиков.
Оглавление
Предисловие 4
Обозначения 5
Введение 8
Часть I. Классические вычисления 16
1. Что такое алгоритм? 16
2. Класс NP: сводимость и полнота 27
3. Вероятностные алгоритмы и класс ВРР. Проверка простоты числа 35
4. Иерархия сложностных классов 41
Часть П. Квантовые вычисления 48
5. Определения и обозначения 50
6. Соотношение между классическим и квантовым вычислением 54
7. Базисы для квантовых схем 58
8. Определение квантового вычисления. Примеры 66
9. Квантовые вероятности 73
10. Физически реализуемые преобразования матриц плотности 79
11. Измеряющие операторы 84
12. Быстрые квантовые алгоритмы 88
13. Квантовый аналог NP: класс BQNP 103
14. Классические и квантовые коды 117
Часть Ш. Решения задач 140
Из раздела 1 140
Из раздела 2 154
Из раздела 4 162
Из раздела 6 164
Из раздела 7 164
Из раздела 8 172
Из раздела 9. 176
Из раздела 10 177
Из раздела 11 182
Из раздела 12 182
Из раздела 14 183
Литература 186


Предметный указатель Предметный Алгоритм 16 -Гровера 67-71 - Евклида 38 - вероятностный 35 - квантовый 72 - нахождения периода 93-100 - нахождения скрытой подгруппы --BZk 101-103 - - в Zk2 90-91 - недетерминированный 28 - проверки простоты 38-40 Амплитуда 9, 50, 73 Анионы 14, 137 Бит 8 - квантовый (q-бит) 48 Бра-вектор 51 Вычисление - вероятностное 35 - квантовое 11, 66 - недетерминированное 27 - обратимое 56 Гамильтониан 138 - к-локальный 108 Гамильтонов граф 27 Гамильтонов цикл 27 Группа 88 - (Z/qZ)* 92,93 -ESp2(nI30, 132 - SOC) 59, 65 - SUB) 65 -Sp2(nI31 - U(l) 65 - UB) 59 - Zk 100-103 - характеров 90 ДНФ22 Задача - 3-КНФ 32 - 3-раскраска 34 - TQBF 47, 57 189 указатель -цлпзз - выполнимость 31 -КЛИКА 34 - локальный гамильтониан 108 - нахождение периода 91 - нахождения дискретного логарифма 101 - независимое множество 158 - о паросочетаниях 34 - о скрытой подгруппе 88, 101 - об эйлеровом пути 34 - ПРОВЕРКА ПРОСТОТЫ 37 - с оракулом 88 - универсальная переборная 67 - - в квантовой постановке 67 - факторизация числа 91 Измерение 73, 82 - обратимое 87 - условные вероятности 85, 86 Исправляющее преобразование 119, 125-127 - для симплектического кода 136 КНФ 22, 32 Квантовая вероятность - для чистого состояния 74 - общее определение 76 - простейшее определение 11, 50, 66 Квантовая телепортация 84, 180-182 Квантовое преобразование Фурье 73, 100, 175-176 Квантовый компьютер 10, 48 Квантовый регистр 52 Кет-вектор 50 Коды, исправляющие ошибки 117 - квантовые 12, 117 - - Шора 127 - - симплектический 129, 132-134 - - торический 134-136 - классические 118 - - Хэмминга 120
- - линейный 120 - - с повторением 119 Литерал 22 Матрица плотности 76 Матрицы Паули 59, 127-128 Машина Тьюринга 16 - алфавит 16 - вероятностная 35 - внешний алфавит 16 - вход 17 - головка 16 -лента 16 - - используемая часть 17 - многоленточная 25 - начальное состояние 16 - недетерминированная 27 - - путь вычисления 28 - пустой символ 16 - результат работы 17 - с единственной лентой 26 - с оракулом 46 - состояние 16 - таблица вычисления 23, 32 -такт работы 17 - универсальная 20 - управляющее устройство 17 - - состояние 16 - функция переходов 16 -ячейка 16 Норма - операторная 62 - преобразования матриц плотности 122-124 - следовая 121 Оператор - Дойча 65 - Тоффоли 55 -Фредкина 167 - измеряющий 84, 85 - - собственные числа 86 - перестановочный 54 - приближенное представление 62 - - в расширенном смысле 63 - проектор 74 - реализуемый квантовой схемой 53 - - в расширенном смысле 53 - с квантовым управлением 58 - унитарный 51 - эрмитово сопряжённый 51 Оракул 88 - квантовый 90 - случайный 89 Ошибка - классическая 128 - фазовая 128 Полиномиальный рост 20 Предикат 18 - разрешимый 18 Псевдослучайный генератор 44 Разложение Шмидта 78 Ресурс вычисления 18 - время 18 - память 18 Свидетель 37 Синдром 136 Скалярное произведение 51 Сложностные классы 20 -ВРР35, 36, 116 -BQNP 103-116 - BQP 72 -МА 104, 116 -NP28, 29, 116 - - NP-полнота 31 - - сводимость (по Карпу) 31 -РР72 -PSPACE20, 116 -Р20 -Р/ро1у23 - Пк42 -Ек42 - Артура и Мерлина 30, 104, 105 - класс дополнении (со-А) 41 - определения с помощью игр 41, 104,116
Состояние квантовой системы - базисное 9, 48 - «запутанное» (entangled) 54 - разложимое 54 - смешанное 76 - чистое 76 Суперпозиция состояний 9, 49 Схема - булева 21 - - базис 21 - - глубина 26 - - граф 21 - - полный базис 22 - - размер 22 - - стандартный полный базис 22 - - формула 21 - квантовая 10, 53 - - базис 53 - - полный базис 64 - - стандартный полный базис 64 - - универсальная 71 - обратимая 54 - - очистка мусора 56 полный базис 55 Схемная сложность 22 Тезис Чёрча 19 Тензорное произведение 50 - операторов 52 Угол между подпространствами 112 Усиление вероятности 36, 67, 105, 107 Физически реализуемые преобразования матриц плотности 79 - измерение 83 - потеря когерентности (decoherence) 81 - разложение в операторную сумму 177 - характеризация 79, 80,179-180 Функциональный элемент 21 Функция -булева 21 - - дизъюнкция 22 - - конъюнкция 22 - - отрицание 22 - - таблица значений 22 - вычислимая 18 - голосования (majority) 27, 67 - обратимое копирование бита (Controlled NOT) 55 - характеристическая 18 - частичная 16, 103 Частичный след 77 Элемент — см. Оператор Элементарное преобразование 52 Язык 18
Оглавление Предисловие 4 Обозначения 5 Введение 8 Часть I. Классические вычисления 16 1. Что такое алгоритм? 16 2. Класс NP: сводимость и полнота 27 3. Вероятностные алгоритмы и класс ВРР. Проверка простоты чи- числа 35 4. Иерархия сложностных классов 41 Часть II. Квантовые вычисления 48 5. Определения и обозначения 50 6. Соотношение между классическим и квантовым вычислением . . 54 7. Базисы для квантовых схем 58 8. Определение квантового вычисления. Примеры 66 9. Квантовые вероятности 73 10. Физически реализуемые преобразования матриц плотности .... 79 11. Измеряющие операторы 84 12. Быстрые квантовые алгоритмы 88 13. Квантовый аналог NP: класс BQNP 103 14. Классические и квантовые коды 117 Часть III. Решения задач 140 Из раздела 1 140 Из раздела 2 154 Из раздела 4 162 Из раздела 6 164 Из раздела 7 164 Из раздела 8 172 Из раздела 9 176 Из раздела 10 177 Из раздела 11 182 Из раздела 12 182 Из раздела 14 183 Литература 186 Предметный указатель 189
Предисловие В последние годы интерес к тому, что называется «квантовые ком- компьютеры», необычайно возрос. Идея использования возможностей кван- квантовой механики при организации вычислений выглядит всё более при- привлекательной, начаты экспериментальные работы в этой области. Однако перспективы физической реализации квантовых компьюте- компьютеров пока совершенно неясны. Скорее всего, это дело нескольких деся- десятилетий. Основные достижения в этой области носят пока чисто мате- математический характер. Эта книга предназначена для первоначального знакомства с мате- математической теорией квантовых вычислений. Для удобства читателя вначале даётся краткое введение в классическую теорию сложности вы- вычислений. Затем подробно излагаются основы теории квантовых вычи- вычислений, включая описание основных известных к настоящему времени эффективных квантовых алгоритмов. Основу книги составили материалы курса «Классическое и кванто- квантовое вычисление», прочитанного А. Шенем (классические вычисления) и А. Китаевым (квантовые вычисления) в Высшем колледже математики Независимого Московского университета в весеннем семестре 1998 г. При подготовке книги также использовались материалы курса Physics 229 - Advanced Mathematical Methods of Physics (Quantum computation), который вели Дж. Прескилл (John Preskill) и А. Китаев (при участии А. Ландала (Andrew Landahl)) в Калифорнийском технологическом ин- институте в 1998-1999 уч. г. Необходимые для чтения этой книги знания невелики. В сущности, достаточно знания линейной алгебры в объеме стандартного универси- университетского курса, элементарной теории вероятностей, элементарной тео- теории чисел и минимальных представлений о теории алгоритмов (напри- (например, иметь навыки практического программирования нетривиальных алгоритмов).
Обозначения V дизъюнкция (логическое ИЛИ) Л конъюнкция (логическое И) -| отрицание ф сложение по модулю 2 (а также прямая сумма линейных пространств) =>• импликация (логическое следование) <=> логическая эквивалентность Л* множество конечных слов в алфавите Л !_. пустой символ (пробел) в алфавите машины Тьюринга S(-, ¦, •) функция переходов машины Тьюринга L\ ос L-2 сводимость предикатов по Карпу {L\ сводится к L2) (с. 30) f(n) = О(д(п)) существует такое число С, что /(п) ^ Сд(п) f(n) = il(g(n)) существует такое число С, что f(n) ^ Сд(п) f(n) = ро1у(?г) то же самое, что /(п) = О(п°^) Fq конечное поле из q элементов Z/nZ кольцо вычетов по модулю п Zn аддитивная группа кольца Z/nZ (Z/nZ)* мультипликативная группа обратимых элементов Z/nZ Е* {— Hom(.E,U(l))) — группа характеров абелевой группы Е Sp2(n) симплектическая группа над полем F2 размерности п (с. 131) ESp2(n) расширенная симплектическая группа над полем F2 размерности п (с. 130) С множество комплексных чисел 2* комплексное сопряжение группа унитарных операторов на пространстве М
SU(A^) специальная унитарная группа на пространстве М. SO(A^) специальная ортогональная группа на евклидовом пространстве М. С(а, Ь,...) пространство, порождённое векторами а, 6,... Л4 * пространство линейных функционалов на пространстве М. М®п п-я тензорная степень h(M) пространство линейных операторов на М h(Af,M) пространство линейных отображений из Af в М В классический бит (множество {0,1}) В квантовый бит (q-бит, пространство С2 — с. 48) (?| бра-вектор (с. 51) |{) кет-вектор (с. 50) {?\г}) скалярное произведение А* эрмитово сопряжённый оператор @ обратимое копирование бита (Controlled NOT) (с. 55) /ф обратимая функция, соответствующая булевой функции / (с. 54) 1с тождественный оператор на пространстве С G унитарный оператор, соответствующий перестановке G (с. 54) Л([/) оператор U с квантовым управлением (с. 58) Пд1 проектор (оператор проектирования) на подпространство М. ct(qi,/3i, .. .,ап,0п) базисные операторы на пространстве В®п (с. 128) А ¦ В преобразование матриц плотности р t-> ApB (с. 123) U[A] оператор, действующий на квантовый регистр (множество q-битов) А (с. 52) Trjr А частичный след от оператора А по пространству Т (с. 77) || • || норма вектора (с. 62) или операторная норма оператора (с. 62) || • ||tr следовая норма (с. 121) || ¦ ||<> норма для преобразований матриц плотности (с. 123) | • | мощность множества или модуль числа
Sjk символ Кронекера Xs(-) характеристическая функция множества S (х,у) наибольший общий делитель х та у a = b (mod q) сравнение по модулю q a mod q остаток по модулю q [а] представление рационального числа а/b в виде Ш несократимой дроби Рг[Л] вероятность события А Р(-|-) условная вероятность (в различных контекстах) Р(р, -М) квантовая вероятность (с. 76) Обозначения матриц: х {О Л у {О -Л : ах = ^ QJ , а" = ^ . QJ, матрицы Паули: ах = ^ QJ , а" = ^ . QJ, а2 = ^ Обозначения сложностных классов: p P/poly BPP NP (c. (c. (c. (c 20) 23) 36) 28) MA Щ sfc BQP (c. (c. (c. (c. 104) 42) 42) 72) BQNP PP PSPACE (c. (c (c. 104) 72) 20)
Введение Все компьютеры, начиная от так и не построенной «аналитической машины» Чарльза Бэббиджа1' и кончая Сгау'ем, основаны на одних и тех же принципах. С логической точки зрения компьютер состоит из битов (переменных, принимающих значения 0 или 1), а программа — это последовательность операций, каждая из которых использует не- небольшое число битов. Конечно, новые компьютеры работают быстрее старых, но прогресс в этом направлении имеет предел. Трудно пред- предположить, что размер транзистора или аналогичного элемента будет меньше 10~8 см (диаметр атома водорода), а рабочая частота — боль- больше 1015 Гц (частота атомных переходов). Так что даже суперкомпью- суперкомпьютеры будущего не смогут решать вычислительные задачи, имеющие экспоненциальную сложность. Рассмотрим, например, задачу о разло- разложении целого числа х на простые множители. Очевидный способ — это попробовать разделить х на числа от 2 до у/х. Если число х имеет п знаков в двоичной записи, то придётся перебрать ~ л/х ~ 2П//2 ва- вариантов. Существует хитроумный алгоритм, решающий ту же задачу примерно за ехр(сп1/3) шагов (с = const). Даже в этом случае, чтобы разложить на множители число из миллиона знаков, не хватит времени жизни Вселенной. (Возможно, есть и более эффективные алгоритмы, но от экспоненты, по-видимому, избавиться не удастся.) Существует, однако, другой способ ускорить процесс вычисления для некоторых специальных классов задач. Дело в том, что обычные компьютеры не используют всех возможностей, предоставляемых при- природой. Это утверждение может показаться слишком очевидным: в при- природе есть множество процессов, совершенно непохожих на операции с нулями и единицами. Можно попытаться использовать эти процессы ^Бэббидж начал работу над проектом «аналитической машины» в 1833 году. Преполагалось, что, в отличие от уже существовавших в то время вычислитель- вычислительных устройств, это будет универсальный компьютер. Бэббидж посвятил разработке компьютера всю жизнь, но ему так и не удалось осуществить свою мечту. (Более простая, но неуниверсальная «разностная машина» была построена частично, но про- проект был вполне реалистичен — в 1991 году машина была полностью воспроизведена по чертежам Бзббиджа.)
Введение 9 для создания аналоговой вычислительной машины. Например, интер- интерференция света может использоваться для вычисления преобразования Фурье. Однако в большинстве случаев выигрыш в скорости не является принципиальным, т. е. слабо зависит от размера устройства. Причина заключается в том, что уравнения классической физики (например, уравнения Максвелла) эффективно решаются на обычном цифровом компьютере. Что значит эффективно? Вычисление интерференционной картины может занять в миллионы раз больше времени, чем реальный эксперимент, потому что скорость света велика, а длина волны мала. Однако с увеличением размера моделируемой физической системы ко- количество необходимых вычислительных операций растёт не слишком быстро — степенным, или, как принято говорить в теории сложности, полиномиальным образом. (Как правило, число операций пропорцио- пропорционально величине Vt, где V — объём, a t — время.) Таким образом, клас- классическая физика слишком «проста» с вычислительной точки зрения. Квантовая механика устроена в этом смысле гораздо интереснее. Рассмотрим, например, систему из п спинов. Каждый спин обладает двумя базисными состояниями @ = «спин вверх» и 1 = «спин вниз»), а вся система имеет 2" базисных состояний \xi,...,xn) (каждая из пе- переменных xi,...,xn принимает значение 0 или 1). Согласно общим принципам квантовой механики, возможными состояниями системы являются также суперпозиции вида Ylxi х cxi,...,xn\xi>- ¦ • ,xn)i гДе cxi,...,in — комплексные числа, называемые амплитудами. Знак сум- суммы здесь нужно понимать чисто формально. Суперпозицш. является новым математическим объектом — вектором в 2™-мерном комплекс- комплексном пространстве. Квадрат модуля амплитуды, |сХь. j2 J2, равен ве- вероятности обнаружить систему в базисном состоянии j.ti,... ,хп) при измерении значений переменных Xj. (Отметим, что такое измерение разрушает суперпозицию.) Следовательно, должно выполняться усло- условие Ylxt х„ 1сх1,...,х„Р = 1- Итак, общее состояние системы (т.е. су- суперпозиция) — это вектор единичной длины в 2"-мерном комплексном пространстве. Изменение состояния за определённый промежуток вре- времени описывается унитарной матрицей размера 2n x 2". Если проме- промежуток времени очень мал (<С h/J, где J — энергия взаимодействия), то эта матрица устроена достаточно просто; каждый из её элементов можно легко вычислить, зная взаимодействие между спинами. Если же мы хотим узнать изменение состояния системы за большой промежу- промежуток времени, то придётся перемножать такие матрицы. Для этого тре- требуется экспоненциально большое число операций. В настоящее время неизвестно никакого способа упростить данное вычисление и, скорее всего, моделирование квантовой механики является экспоненциальна
10 Введение сложной вычислительной задачей. Однако то же самое утверждение можно сформулировать иначе: квантовая система эффективно «реша- «решает» сложную вычислительную задачу — моделирует саму себя. Можно ли использовать квантовые системы для решения других вычислительных задач? Какова должна быть математическая модель квантового компьютера, в той же степени не зависящая от физической реализации, что и модели классических вычислений2'? Эти вопросы, по-видимому, впервые были поставлены в книге Ю. И. Манина «Вычи- «Вычислимое и невычислимое» A980 г.). Они обсуждались также в работах Р. Фейнмана и других авторов. В 1985 году Д. Дойч [27] предложил конкретную математическую модель — квантовую машину Тьюринга, а в 1989 году — эквивалентную, но более удобную модель — квантовые схемы [28, 47]. Что такое квантовая схема? Пусть в нашем распоряжении имеется iV спинов, каждый из которых находится в отдельном ящичке и иде- идеально изолирован от окружающего мира. В каждый момент времени мы можем выбрать, по нашему усмотрению, любые два спина и подей- подействовать на них любой унитарной матрицей 4x4. Последовательность таких операций называется квантовой схемой. Каждая операция опре- определяется парой номеров спинов и шестнадцатью комплексными числа- числами, поэтому квантовую схему можно записать на бумаге. Это своего рода программа для квантового компьютера. Чтобы использовать квантовую схему для вычисления функции3' F: В" —? Шт, нужно уметь вводить входные данные, проделывать вы- вычисления и считывать результат. Ввести в квантовый компьютер по- последовательность (х\,.-., хп) нулей и единиц — значит приготовить на- начальное состояние \х\,..., хп, 0,..., 0). (Объём входных данных п обыч- обычно меньше общего количества «ячеек памяти», т. е. спинов, N. Оставши- Оставшиеся ячейки заполняются нулями.) К начальному состоянию применяется квантовая схема, зависящая от решаемой задачи, но не от конкретных входных данных. В итоге возникает квантовое состояние cyu...iyN{xi,...,xn)\yi,...,yN), 2> Наиболее известной математической моделью обычного компьютера является машина Тьюринга. Большинство моделей полиномиально эквивалентны друг другу, т.е. задача, разрешимая за L шагов в одной модели, разрешима за cLk шагов в другой модели, где с и к — константы. 3^Любая вычислительная задача может быть представлена в таком виде. Напри- Например, если мы хотим решать задачу о разложении целого числа х на простые множи- множители, то (х\,.. ¦ ,хп) = х (в двоичной записи), a F(x) — список простых множителей (в некот'ро' твпичной кодировке).
Введение 11 зависящее от (х\,... ,хп). Теперь нужно считать результат. Пред- Предполагаем, что ответ должен содержаться в первых т битах стро- строки (j/i,...,2/jv), т.е. мы ищем такие (j/i,...,j/m), что (j/i,...,2/m) = — F(xi,...,хп). Для получения ответа производится измерение зна- значений всех спинов. Результатом измерения может быть любая после- последовательность нулей и единиц (j/i,... ,j/jv), вероятность получить её равна |сУ11...1!/Л,(х1,... ,хп)\2. Таким образом, квантовый компьютер мо- может, с некоторой вероятностью, дать любой ответ. Квантовая схема является «правильной» для данной функции F, если правильный от- ответ (yi,.. .,ут) — F(x\,...,хп) получается с вероятностью, достаточ- достаточно близкой к единице. Повторив всё вычисление несколько раз и вы- выбрав тот ответ, который встречается чаще, можно снизить вероятность ошибки до сколь угодно малой величины. Мы только что сформулировали (опуская некоторые подробности) математическую модель квантового вычисления. Теперь естественно задать два вопроса. 1. Для каких задач квантовое вычисление дает выигрыш по сравнению с классическим? 2. Какую систему можно использовать для физической реализации квантового компьютера? (Это не обязательно должна быть система спинов.) По поводу первого вопроса сейчас известно следующее. Во-первых, на квантовом компьютере можно моделировать любую кгантовую си- систему за полиномиальное число шагов. Это позволит (при наличии квантового компьютера) предсказывать свойства молекул и кристал- кристаллов, проектировать микроскопические электронные устройства разме- размером в несколько десятков ангстрем. (Сейчас такие устройства нахо- находятся на пределе технологических возможностей, но в будущем они, вероятно, будут применяться в обычных компьютерах.) Второй при- пример — разложение на множители и аналогичные теоретико-числовые задачи, связанные с абелевыми группами. В 1994 году П. Шор (P. Shor) придумал квантовый алгоритм4', позволяющий разложить на простые множители число из п знаков за n3(logn)fc шагов (к — const). Этот красивый результат может иметь скорее вредное, чем полезное при- применение: разлагая числа на множители, можно подбирать ключи к ши- шифрам, подделывать электронные подписи и т.д. (Впрочем, трудности на пути создания квантового компьютера столь велики, что в течение 4^Если не вдаваться в тонкости, квантовый алгоритм — это то же самое, что квантовая схема. Отличие состоит в том, что схема определена для задачи фикси- фиксированного размера (n = const), а алгоритм определён для всех п сразу.
12 Введение ближайших 10 лет пользователи шифров могут спать спокойно.) Тре- Третий пример — это поиск нужной записи в неупорядоченной базе дан- данных. Здесь выигрыш не столь значителен: для нахождения одной записи из N требуется порядка y/N операций на квантовом компьютере вме- вместо N операций на классическом. На этом список известных примеров заканчивается — не потому что квантовые компьютеры бесполезны для других задач, а потому что теория квантовых вычислений пока не разработана. Будем надеяться, что скоро появятся новые математиче- математические идеи, которые позволят придумать новые примеры. Физическая реализация квантового компьютера — чрезвычайно ин- интересная, но сложная задача. Ещё несколько лет назад высказывались сомнения в её принципиальной разрешимости. Дело в том, что любое унитарное преобразование можно реализовать лишь с некоторой точно- точностью. Кроме того, систему спинов или аналогичную квантовую систему нельзя полностью защитить от возмущений со стороны окружающей срелы. Всё это должно приводить к погрешностям, которые будут на- накапливаться в процессе вычисления. Через L ~ 5 шагов (где 6 — точность каждого унитарного преобразования) вероятность ошибки станет порядка единицы. К счастью, эту трудность можно преодолеть, используя квантовые коды, исправляющие ошибки. В 1996 году П. Шор предложил схему коррекции ошибок в процессе квантового вычисления (fault-tolerant quantum computation), которая была вскоре усовершен- усовершенствована. Окончательный результат состоит в следующем. Существует некоторое пороговое значение точности So, такое что при 5 < Sq воз- возможно сколь угодно длинное квантовое вычисление. Однако при S > So ошибки накапливаются быстрее, чем их удаётся исправлять. По разным оценкам, <5о лежит в интервале от 10~2 до 10~6 (точное значение зависит от характера возмущений и используемой схемы коррекции ошибок). Итак, принципиальных препятствий для реализации квантового ком- компьютера нет. Однако задача столь трудна, что её можно сравнить с за- задачей об управляемом термоядерном синтезе. В самом деле, необходимо удовлетворить нескольким почти несовместимым требованиям. 1. Элементы квантового компьютера — квантовые биты (спины или что-то подобное) — должны быть изолированы друг от друга и от окружающей среды. 2. Необходимо иметь возможность избирательного воздействия на па- пару квантовых битов. (Возможно, потребуется несколько типов воз- воздействия на одну и ту же пару, описываемых различными унитар- унитарными операторами.) 3. Каждый из унитарных операторов должен быть реализован с точ- ностьк 5 < So (см. выше).
Введение 13 4. Реализуемые операторы должны быть достаточно нетривиальны. Точнее говоря, они должны образовывать полный базис, чтобы лю- любой другой оператор в определенном смысле выражался через них. В настоящее время существует несколько подходов к проблеме реа- реализации квантового компьютера. 1. Отдельные атомы или ионы. Это первая и наиболее хорошо разра- разработанная идея, она существует в нескольких вариантах. Для предста- представления квантового бита можно использовать как обычные электронные уровни, так и уровни тонкой и сверхтонкой структуры. Имеется экс- экспериментальная техника, позволяющая удерживать отдельный ион или атом в ловушке из постоянного магнитного или переменного электри- электрического поля в течение длительного времени (порядка 1 часа). Ион можно «охладить» (т. е. погасить колебательное движение) при помощи лазерного луча. Подбирая длительность и частоту лазерных импуль- импульсов, можно приготовить произвольную суперпозицию основного и воз- возбуждённого состояний. Таким образом, управлять отдельным ионом достаточно легко. В ловушку можно также поместить два или большее число ионов на расстоянии несколько микрон друг от друга и управлять каждым из них в отдельности. Однако организовать взаимодействие между ионами достаточно трудно. Для этой цели предложено использо- использовать коллективные колебательные моды ионов (обычные механические колебания с частотой в несколько мегагерц). Другой способ (для ней- нейтральных атомов): поместить атомы в отдельные электромагнитные резонаторы, связанные друг с другом (пока непонятно, как ото реали- реализовать технически). Наконец, третий способ: при помощи нескольких лазерных лучей можно создать периодический потенциал («оптическую решётку»), удерживающий невозбуждённые атомы. При этом возмож- возможна ситуация, когда возбуждённые атомы могут свободно двигаться. Таким образом, возбуждая на короткое время один из атомов, мы за- заставляем его взаимодействовать с соседями. Это направление экспери- экспериментальной физики сейчас быстро развивается и, по-видимому, имеет большие перспективы. 2. Ядерный магнитный резонанс. В молекуле с несколькими различны- различными ядерными спинами произвольное унитарное преобразование можно реализовать при помощи последовательности импульсов магнитного поля. Это было проверено экспериментально при комнатной темпе- температуре. Однако для приготовления начального состояния необходима температура < 10~3К. Помимо трудностей с охлаждением, при такой температуре возрастают нежелательные взаимодействия молекул друг с другом. Кроме того, непонятно, как избирательно воздействовать на данный спин, если в молекуле есть несколько одинаковых спинов.
14 Введение 3. Системы сверхпроводящих гранул. При сверхнизких температурах единственной степенью свободы микроскопической сверхпроводящей гранулы (диаметром в несколько сотен ангстрем) является её заряд. Он может изменяться на величину, кратную двум зарядам электрона (по- (поскольку электроны в сверхпроводнике связаны в пары). Меняя внешний электрический потенциал, можно добиться такой ситуации, когда два зарядовых состояния будут иметь почти одинаковую энергию. Эти два состояния можно использовать в качестве базисных состояний кванто- квантового бита. Гранулы взаимодействуют между собой посредством джо- зефсоновских контактов и взаимной электрической ёмкости. Этим вза- взаимодействием можно управлять. Основная трудность состоит в том, что нужно управлять каждой гранулой в отдельности, причем с вы- высокой точностью. По-видимому, этот подход перспективен, но для его реализации потребуется создание новой технологии. 4. Анионы. Анионы — это особые возбуждения в двумерных кванто- квантовых системах, в частности, в двумерной электронной жидкости в маг- магнитном поле. Один из авторов (А. К.) считает этот подход наиболее интересным (поскольку он же его и придумал [32]), поэтому опишем его более подробно. Основной проблемой при создании квантового компьютера являет- является необходимость реализации унитарных преобразований с точностью 5 < 6о ~ 10~2 -г 10~6. Для этого, как правило, требуется контроли- контролировать параметры системы с ещё большей точностью. Однако можно представить ситуацию, когда высокая точность достигается автома- автоматически, т. е. исправление ошибок происходит на физическом уровне. Примером являются двумерные системы с анионными возбуждениями. Все частицы в трёхмерном пространстве являются либо бозонами, либо фермионами. Волновая функция бозонов не меняется при переста- перестановке двух частиц, а волновая функция фермионов умножается на —1. В любом случае при возвращении каждой из частиц на прежнее место состояние системы не меняется. В двумерных системах возможно бо- более сложное поведение. Прежде всего заметим, что речь пойдёт не об элементарных частицах типа электрона, а о возбуждениях, или дефек- дефектах в двумерной электронной жидкости. Такие возбуждения похожи на «настоящие» (т. е. элементарные) частицы, но обладают некоторыми необычными свойствами. Возбуждение может иметь дробный электри- электрический заряд (например, 1/3 от заряда электрона). При движении одно- одного возбуждения вокруг другого состояние окружающей их электронной жидкости меняется строго определённым образом, зависящим от типа возбуждений и от топологии пути, но не от конкретной траектории. В простейшем случае волновая функция домножается на число (е27™/3
Введение 15 для анионов в двумерной электронной жидкости в магнитном поле при факторе заполнения 1/3). Возбуждения с таким свойством называют- называются абелевыми анионами. Другой пример абелевых анионов описан (на математическом языке) в разделе 14.11. Более интересны неабелевы анионы, которые пока не наблюдались экспериментально. (Теория предсказывает существование неабелевых анионов в двумерной электронной жидкости в магнитном поле при фак- факторе заполнения 5/2.) При наличии нескольких неабелевых анионов со- состояние электронной жидкости является вырожденным, причем крат- кратность вырождения экспоненциально зависит от числа анионов. Дру- Другими словами, существует не одно, а много состояний, которые мо- могут образовывать произвольные квантовые суперпозиции. На такую суперпозицию нельзя никак воздействовать, не перемещая анионы, по- поэтому она идеально защищена от возмущений. Если обвести один анион вокруг другого, суперпозиция подвергнется определённому унитарно- унитарному преобразованию. Это преобразование является абсолютно точным. (Ошибка может возникнуть, только если анион «вырвется у нас из рук» вследствие квантового туннелирования). На первый взгляд, проект с использованием анионов выглядит наи- наименее реалистично. Прежде всего, абелевы анионы не годятся для кван- квантовых вычислений, а неабелевы ещё только предстоит найти в экспери- эксперименте. Для реализации квантового компьютера нужно контролировать каждую из частиц, которые будут двигаться на расстояниях порядка долей микрона друг от друга. Это чрезвычайно сложная техническая задача. Однако, с учётом высоких требований к точности, осуществить любой из перечисленных выше подходов ничуть не легче. Кроме того, идея топологического квантового вычисления, лежащая в основе под- подхода с анионами, может воплотиться каким-либо другим способом. На- Например, защищенная от возмущений квантовая степень свободы может возникнуть на конце «квантовой проволоки» (одномерного проводника с нечётным числом распространяющихся электронных мод, находяще- находящегося в контакте с трёхмерным сверхповодником). Итак, идея квантового компьютера выглядит столь же заманчиво, сколь нереалистично. Наверное, так же воспринимался проект обычно- обычного компьютера во времена Чарльза Бэббиджа, изобретение которого было реализовано лишь сто лет спустя. Будем надеяться, что в наше время научно-технический прогресс идет быстрее, поэтому не придётся ждать так долго. Возможно, достаточно одной свежей идеи плюс не- несколько лет на разработку новой технологии...
Часть I Классические вычисления 1. Что такое алгоритм? Неформально алгоритм — это однозначно определённая совокуп- совокупность инструкций по преобразованию исходных данных в результат, причём все инструкции элементарны, т.е. при их выполнении «нам придётся только механически следовать предписаниям, как если бы мы были роботами: от нас не потребуется ни понимания, ни искусства, ни изобретательности» [5, с. 270]. Формализовать это понятие можно различными способами. 1.1. Машины Тьюринга. Машина Тьюринга (сокращённо МТ) од- однозначно задаётся указанием набора (S,^,A,Q,qo,S), где S, A, Q — конечные множества, причём А С S; ^ — некоторый элемент S\A; go — некоторый элемент Q, а 6 — некоторая (частичная5', вообще говоря) функция w3QxSbQxSx { — 1,0,1}. Составляющие части МТ называются так: 5 — алфавит, !_¦ — пустой символ (или пробел), А — внешний алфавит, Q — множество состояний управляющего устройства, <7о — начальное состояние, 6 — функция переходов. Состояние МТ задаётся тройкой (a,p,q), где а — бесконечное сло- слово в алфавите S, т. е. произвольная последовательность so,..., sn,... элементов S; р — неотрицательное целое число; q € Q. Символы слова а будем, как это принято, представлять записанными на ленте, разби- разбитой на ячейки, по ячейке на символ. На ленте также имеется головка, 5)Под частичной функцией на множестве X здесь и далее понимается функция, область определения которой содержится в X.
ЧТО ТАКОЕ АЛГОРИТМ? 17 которая расположена над ячейкой с номером р. Наглядно это изобра- изображается так: Положение головки V Ячейки Номера ячеек 0 1 р Помимо ленты машина Тьюринга имеет управляющее устройство, со- состояние которого задаётся элементом q множества Q. Состояния МТ меняются дискретно. За один такт работы управля- управляющее устройство выполняет следующие действия (полагаем, что МТ находится в состоянии (cr,p,q)): а) читает символ, находящийся под головкой (т.е. определяет sp); б) вычисляет значение функции переходов: S(q,sp) = (q',s,Ap) (если функция переходов на паре (q, sp) не определена, то останавливает машину Тьюринга); в) записывает на ленту в ячейку р символ s, сдвигает головку на Ар и переходит в состояние q' (другими словами, новое состояние ма- машины задаётся тройкой ((so,- • • ,sp-i,s,sp+i,. ..),р + Ap,q')); г) если р + Ар < 0, то останавливает машину. Пожалуй, всякий согласится, что эти действия не требуют ни пони- понимания, ни искусства, ни изобретательности. Работа машины Тьюринга будет всегда начинаться из состояния (а^_,..., 0, до), где за конечным словом а, состоящим из символов внеш- внешнего алфавита (множество таких слов обозначается Л*), следует бес- бесконечное слово, целиком состоящее из пустых символов. Слово а будем называть входом МТ. В любой момент времени слово, записанное на ленте, однозначно записывается в виде а^..., где последний символ слова а — не пустой, а за ним идут только пустые символы. Будем называть слово а используемой частью ленты. Выполняя один такт работы за другим, машина Тьюринга порожда- порождает последовательность состояний (<т0,0,go), {ax,pi,qi), (^2,^2,92), ••• Если МТ останавливается, используемая часть ленты в достигнутом перед остановкой состоянии называется результатом работы МТ. 1.2. Вычислимые функции и разрешимые предикаты. Каждая ма- машина Тьюринга М вычисляет частичную функцию <рм из Л* в Л*, отображающую вход а в результат работы МТ на входе а при усло- условии, что результат работы является словом во внешнем алфавите. Для
18 Классические вычисления входов, на которых машина не останавливается или результат содер- содержит символы из 5\ Л, функция <рм не определена. Из определения ясно, что любая МТ вычисляет ровно одну функцию (быть может, нигде не определённую). Определение 1.1. Частичная функция / из Л* в Л* называется вы- вычислимой, если существует машина Тьюринга М, для которой <рм — /¦ При этом будем говорить, что / вычислима на М. Не все функции вычислимы. Это ясно из сравнения мощности мно- множества функций (континуум) и мощности множества машин Тьюринга (счётное множество). Более интересные примеры см. в задачах 1.3-1.5. Под предикатом будем понимать некоторое условие, которое вы- выполняется (предикат истинен) или не выполняется (предикат ложен) для каждого слова из Л*. Определённые таким образом, предикаты легко отождествляются с языками (подмножествами слов в Л*) — пре- предикату соответствует множество слов, на которых он истинен. Каждо- Каждому предикату сопоставим характеристическую функцию, которая рав- равна 1 на множестве слов, для которых предикат истинен, и равна 0 на множестве слов, для которых предикат ложен. Мы будем обозначать характеристическую функцию так же, как и сам предикат. Предикат разрешим, если его характеристическая функция вычислима. О маши- машине Тьюринга, вычисляющей характеристическую функцию предиката, будем говорить, что она даёт ответ («да» или «нет») на вопрос «истинно ли значение предиката на входе а?» Понятия вычислимой функции и разрешимого предиката будут ис- использоваться и для функций (предикатов) от многих переменных. Пусть Л — некоторый алфавит, an — натуральное число. Пусть М — машина Тьюринга с внешним алфавитом A U {#}• Построим ча- частичную функцию <рм,п из (Л*)п в Л* так: <рм,п(а1,- ¦ ¦ »«n) = У, ес- если результат работы машины М на входе а\фа2ф .. ¦ #Qn# совпадает со словом у. Если машина не останавливается или на ленте записано что-нибудь не то (например, символы не из алфавита Л и т.п.), то ?>м,п(,..., а„) не определена. Определение 1.2. Частичная функция / из (Л*)п в Л* называет- называется вычислимой, если существует машина Тьюринга М, для которой Предикат от нескольких переменных разрешим, если его характе- характеристическая функция вычислима. Нас будут интересовать ресурсы, требующиеся для вычислений. Два важнейших ресурса — время и память. Будем говорить, что машина
ЧТО ТАКОЕ АЛГОРИТМ? 19 Тьюринга М работает за время Тм(п), если максимальное (по всем входам длины п) количество тактов, которое проработает М до оста- остановки, равно Тм{п). Аналогично, машина Тьюринга М работает на памяти SjVf(ft)i если наиболее удалённое от начала ленты положение го- головки при вычислениях на входах длины п равно 1.3. Вычисления на машинах Тьюринга. Очевидно, что МТ задаёт алгоритм в смысле приведенного выше неформального определения. Обратное утверждение называется тезисом Чёрча: «любой алгоритм может быть реализован машиной Тьюринга». Не вдаваясь в обсуждение тезиса Чёрча, заметим, что в настоящее время нет серьёзных оснований подвергать его сомнению. Все извест- известные в настоящее время алгоритмы реализуются машинами Тьюрин- Тьюринга. Подробное изложение теории алгоритмов читатель может найти в книгах [1, 5, 6, 10, 13, 16, 17]. Мы же ограничимся краткими нефор- неформальными пояснениями приёмов программирования на машинах Тью- Тьюринга. Возможности машины Тьюринга при таком неформальном обсужде- обсуждении — это возможности человека с ограниченной памятью, карандашом и ластиком, которому вручили неограниченной (бесконечной) толщины тетрадь. Страницы тетради имеют ограниченный размер (все возмож- возможные варианты заполнения страницы образуют алфавит МТ при стро- строгом описании). На первых страницах тетради записано входное слово — по одному символу (из внешнего алфавита) на страницу. Человек может листать тетрадь, стирать символы, записывать новые. Заканчивается эта его деятельность тем, что он закрывает тетрадь (сдвиг головки влево в положении 0) и возвращает результат своей работы. Представив себя в такой ситуации, легко сообразить, что можно, за- запоминая несколько символов, выполнять любые действия на ограничен- ограниченном количестве подряд идущих страниц; можно ставить на страницах дополнительные пометки (ограниченное количество на каждой); можно листать тетрадь, пока не найдётся нужная пометка; можно копировать символы на свободные страницы тетради. Свободные места на стра- страницах можно также использовать для хранения вспомогательных слов произвольной длины (как и входное слово, они записываются по одному символу на страницу), над которыми может поработать другой человек (это называется «вызов подпрограммы»). В частности, эти вспомога- вспомогательные слова позволяют поддерживать счётчики (целочисленные пе- переменные). Используя счётчики, можно адресоваться к ячейкам памяти по их номеру.
20 Классические вычисления Поскольку описание любой машины Тьюринга является конечным объектом, его можно закодировать словом в некотором алфавите. В на- нашей неформальной ситуации легко понять, что существует универсаль- универсальная машина Тьюринга U, которая, получая на вход пару ([М],х), даёт выход <рм{х)- Здесь через [М] обозначено описание некоторой машины Тьюринга А/. Действительно, предположим, что тетрадь начинается со страниц, где записаны инструкции по работе. Тогда выполнять эти инструкции можно следующим образом: пометим текущую страницу; пролистаем тетрадь до начального раздела, содержащего инструкции; найдём нужную инструкцию; вернёмся назад и выполним её. 1.4. Сложностные классы. Не для всякой вычислимой функции можно реально осуществить вычисление её значения. Существование алгоритма не означает, что нам по силам проделать все предписан- предписанные действия. Препятствие может заключаться в том, что требуемые для этого вычисления ресурсы слишком велики. Поэтому нас интере- интересует не столько существование алгоритма для решения задачи, сколько существование эффективного алгоритма. Формализовать это понятие непросто. Принятый сейчас способ со- состоит в том, что выделяются классы тех функций или предикатов, вычисление которых возможно при задаваемых ограничениях на по- потребляемые ресурсы. Принадлежность функции тому или иному слож- ностному классу служит удобной характеристикой возможностей её эффективного вычисления, не связанной с конкретными реализациями алгоритмов. Наиболее важные классы получаются, если накладывать ограниче- ограничения на рост времени работы и/или используемой памяти в зависимости от длины входного слова, А наиболее важное различие между эффек- эффективными и неэффективными вычислениями задаётся функциями по- полиномиального роста. Функция /(п) — полиномиального роста, если для некоторой константы d при достаточно больших п выполняется неравенство f(n) ^ nd. В этом случае будем использовать обозначение /(n) = poly(n). Определение 1.3. Предикат / на множестве В* принадлежит клас- классу Р (и называется полиномиально вычислимым), если его характери- характеристическая функция вычислима на машине Тьюринга М, для которой Тм{п) = poly(n). Определение 1.4. Предикат / на множестве В* принадлежит классу PSPACE, если его характеристическая функция вычислима на машине Тьюринга М, для которой 5л/ (п) — poly(n).
ЧТО ТАКОЕ АЛГОРИТМ? 21 По аналогии с предикатами можно определить и функции, вычи- вычислимые за полиномиальное время, и функции, вычислимые на полино- полиномиальной памяти. Для классов таких функций также используются обозначения Р и PSPACE, так что точный смысл этих обозначений нужно восстанавливать из контекста. 1.5. Схемы. Схема (булева) — это способ вычислить функцию /: В" -> Вт. Помимо исходных переменных х\,...,хп, для которых вычисляется значение /, схема использует некоторое количество вспо- вспомогательных переменных у\,..., ys и некоторый набор (базис) булевых (т. е. принимающих значения 0 или 1) функций Т. Схема S в базисе Т определяется последовательностью присваиваний Yj,... ,YS. Каждое присваивание Yj имеет вид уг := fj{uklt ¦ ¦ ¦, и*г)> гле fj(') ^ ^¦* а пере- переменная Ukp A ^ р ^ г) — это либо одна из исходных переменных xt A ^ t ^ п), либо вспомогательная переменная щ с меньшим номером A ^ I < г). Таким образом, для каждого набора значений исходных переменных последовательное выполнение присваиваний, входящих в схему, однозначно определяет значения всех вспомогательных пере- переменных. Результатом вычисления считаются значения последних т переменных ys-m+\, ¦. ¦ ,ys- Схема вычисляет функцию /, если для любых значений Xi,..., хп результатом вычисления является f{xi,... ,хп). Схема называется формулой, если каждая вспомогательная перемен- переменная используется в правой части присваиваний только один раз. (Обыч- (Обычные математические формулы именно так задают последовательность присваиваний: «внутри» формул не принято использовать ссылки на их части или другие формулы.) Схему можно также представлять в виде ориентированного ацикли- ациклического графа, у которого вершины входной степени 0 (входы) поме- помечены исходными переменными; остальные вершины (функциональные элементы) помечены функциями из базиса (при этом входная степень вершины должна совпадать с количеством аргументов её пометки); рёбра помечены числами, указывающими номера аргументов; вершины выходной степени 0 (выходы) помечены переменными, описывающи- описывающими результат работы схемы. Вычисление на графе определяется ин- индуктивно: как только известны значения всех вершин у\,..., yt-v, из которых ведут рёбра в данную вершину v, вершина v получает значе- значение yv = fv(уi,... ,ykv)-, где fv — базисная функция, которой помечена вершина. При переходе к графу схемы мы опускаем несущественные присваивания, которые ни разу не используются на пути к выходным вершинам, так что они никак не влияют на результат вычисления.
22 Классические вычисления Базис называется полным, если для любой булевой функции / есть схема в этом базисе, вычисляющая /. Ясно, что в полном базисе мож- можно вычислить произвольную функцию /: В" -» Вт (такую функцию можно представить как упорядоченный набор из т булевых функций). Булева функция может быть задана таблицей значений. Приведём таблицы значений для трёх функций NOT(x) = ->х, OR{xux2) = xi Vx2, AND(x1,x2) = xi Ax2 (отрицание, дизъюнкция, конъюнкция), образующих полный базис, ко- который будем считать стандартным. В дальнейшем имеются в виду схе- схемы именно в этом базисе, если явно не указано что-либо иное. NOT Xl 0 0 1 1 х2 0 1 0 1 OR 0 1 1 1 Xi 0 0 1 1 X2 0 1 0 1 AND 0 0 0 1 Конъюнкция и дизъюнкция определяются для произвольного числа булевых переменных аналогичным образом: конъюнкция равна 1 толь- только тогда, когда все аргументы равны 1, а дизъюнкция равна 0 только тогда, когда все аргументы равны 0. В стандартном базисе они очевид- очевидным образом вычисляются схемами (и даже формулами) размера п— 1. Теорема 1.1. Базис {NOT, OR, AND} — полный. Доказательство. Литералом будем называть переменную или её отрицание. Конъюнкцией литералов (это схема и даже формула) легко представить функцию Хи(х), которая принимает значение 1 ровно один раз: при х = и. Если щ = 1, включаем в конъюнкцию переменную х^, если Ui = 0, то включаем в конъюнкцию -ia;;. Произвольная функция / может быть представлена в виде /(*)= V *«(*)• (ы) u:/(u) = l В таком случае говорят, что / представлена в дизъюнктивной нор- нормальной форме (ДНФ), т.е. как дизъюнкция конъюнкций литералов.6' Как уже говорилось, дизъюнкция нескольких переменных выражается формулой в стандартном базисе. ? Размером схемы называется количество присваиваний в схеме. Ми- Минимальный размер схемы в базисе J-, вычисляющей функцию /, называ- называется схемной сложностью функции / в базисе J- и обозначается 6'Далее нам ещё потребуется и конъюнктивная гпрмалькая форма (КНФ) — конъюнкция дизъюнкций литералов.
ЧТО ТАКОЕ АЛГОРИТМ? 23 Переход от одного полного конечного базиса к другому полному конеч- конечному базису меняет схемную сложность функций на множитель 0A). Так что в асимптотических оценках выбор конкретного полного базиса неважен и поэтому будем использовать обозначение с(/) для схемной сложности / в конечном полном базисе. Каждый предикат / на множестве В* определяет последователь- последовательность булевых функций /„: !п -» В следующим образом: fn(xi,x2,..-,xn) - f(xlx2...xn), где справа стоит характеристическая функция предиката /. Определение 1.5. Предикат / принадлежит классу Р/poly, если c(/n) = poly(n). Теорема 1.2. Р С P/poly. Доказательство. Если МТ работает за полиномиальное время, то и память, которую она использует, ограничена полиномом. Поэтому весь процесс вычисления на входном слове х длины п можно представить таблицей вычисления размера Т х S, где Т = poly(n), 5 = poly(n). t = t = t = T Год г* Г' Г Г' S клеток Строка с номером j таблицы задаёт состояние МТ после j тактов работы. Символы Г^*, записанные в таблице, принадлежат алфави- алфавиту S х {0 U Q}. Символ Tjtk определяет пару (символ, записанный в fc-й ячейке после j тактов работы; состояние управляющего устрой- устройства после j тактов работы, если головка находится над fc-й ячейкой, в противном случае второй элемент пары — 0). Для простоты также считаем, что если вычисление заканчивается при некотором входе за Т" < Т тактов, то строки с номерами, большими Т\ повторяют строку с номером Т". Построить схему, вычисляющую значения предиката на словах дли- длины п, можно следующим образом. Состояние каждой клетки тпблмцы
24 Классические вычисления можно закодировать конечным (не зависящим от п) числом булевых переменных. Имеются локальные правила согласования, т. е. состояние каждой клетки Г в строке ниже нулевой однозначно определяется со- состояниями клеток в предыдущей строке, лежащих непосредственно над данной (Г'), левее данной (Г^) и правее данной (Г^). Каждая перемен- переменная, кодирующая состояние клетки Г, есть функция от переменных, кодирующих состояния клеток Г^, Г', Г^. Все эти функции могут быть вычислены схемами конечного размера. Объединяя эти схемы, получим схему, вычисляющую все переменные, кодирующие состояния клеток таблицы; размер этой схемы будет O(ST) = О(п°^). Осталось заметить, что переменные, кодирующие часть клеток ну- нулевой строки, определяются входным словом, а переменные, кодирую- кодирующие остальные клетки нулевой строки, являются константами. Чтобы узнать результат вычисления, нужно определить символ, записанный в нулевой ячейке ленты в конце вычисления. Без ограничения общности можно считать, что состояния клеток таблицы кодируются так, что одна из кодирующих переменных равна 1 только в том случае, когда в ячейке записана 1. Тогда значение этой переменной для кода Гт,о и будет результатом вычисления. ? Замечание 1.1. Класс Р/poly шире класса Р. Любой функции от натурального аргумента <^(п) со значениями в 18 можно сопоставить предикат fv по правилу fv(x) = tp(\x\), где \х\ обозначает длину сло- слова х. Ограничение такого предиката на слова длины п тождественно равно 0 или 1 (в зависимости от п). Схемная сложность таких функций ограничена константой. Поэтому все такие предикаты по определению принадлежат Р/poly, хотя среди них есть и неразрешимые предикаты. Справедливо следующее усиление теоремы. Теорема 1.3. / принадлежит Р тогда и только тогда, когда 1) /eP/poly; 2) существует МТ, которая по числу п за время рсЛу(п) строит схе- схему вычисления /„. Доказательство. ==$¦ Данное в доказательстве теоремы 1.2 описа- описание нетрудно превратить в МТ, которая строит схему вычисления /п за полиномиальное по п время (схема /„ имеет простую структуру: ка- каждая переменная связана с предыдущими одними п теми же правилами согласования). •Ф= Столь же просто. Вычисляем размер входного слова. Затем строим по этому размеру схему S\x\ вычисление /|Х|, используя указан- указанную в условии 2) машину. После этого вычисляем 5'|х|(а;) на машине,
Что такое алгоритм? 25 которая по описанию схемы и значениям входных переменных вычи- вычисляет значение схемы за полиномиальное от длины входа время. ? Задачи 1.1. Постройте машину Тьюринга, которая записывает входное дво- двоичное слово в обратном порядке. 1.2. Постройте машину Тьюринга, которая складывает два числа, записанные в двоичной системе. Для определённости считайте, что за- записи чисел разделены специальным символом алфавита «+». 1.3. Докажите, что не существует алгоритма, который по машине Тьюринга и входу определяет, остановится ли она на этом входе. 1.4. Докажите, что не существует алгоритма, который выписывает одну за другой все машины Тьюринга, которые не останавливаются, будучи запущенными на пустой ленте. 1.5. Пусть Т(п) — максимальное время, которое может пройти до остановки машины Тьюринга с п состояниями и п символами алфавита, если её запустить на пустой ленте. Докажите, что функция Т(п) растёт быстрее любой вычислимой всюду определённой функции Ь(п), то есть lim[T(n)/6(n)] = +оо. Набор элементарных инструкций у описанных выше машин Тью- Тьюринга крайне беден. Имеются разнообразные их обобщения, например, многоленточные машины Тьюринга. В отличие от описанной выше, та- такая МТ имеет несколько (конечное множество) лент, каждая со своей головкой, управляющему устройству доступны символы, находящиеся в ячейках, на которых расположены головки лент. Выделены две ленты: входная, с которой разрешается только читать символы, и выходная, на которую разрешается только писать символы. Остальные ленты на- называются рабочими. Многоленточная машина называется к -ленточной, если у неё к рабочих лент. Действие за такт работы состоит в измене- изменении состояния управляющего устройства, изменении символов в ячей- ячейках под головками и изменении положений головок на лентах (каждая головка сдвигается не более, чем на одну позицию). Это действие одно- однозначно определяется состоянием управляющего устройства и набором символов в ячейках под головками. Если действие выполнить нельзя, машина останавливается. В начале работы многоленточной машины Тьюринга все ленты пу- пусты, кроме входной, на которой записан вход. Результат работы ма- машины — состояние выходной ленты в конце работы.
26 Классические вычисления Если интересоваться сложностью алгоритмов с точностью до поли- полиномиально ограниченного множителя, многоленточные машины ниче- ничего не добавляют по сравнению с описанными выше машинами с един- единственной лентой. 1.6. Докажите, что двухленточную машину Тьюринга, работающую за время Т(п) ^ п на входах длины п, можно моделировать на машине с единственной лентой за время О(Т2(п)). 1.7. Докажите, что трёхленточную машину Тьюринга, работающую за время Т(п) ^ п на входах длины п, можно моделировать на двух- ленточной за время О(Т(п) logT(n)). 1.8. Пусть М — машина Тьюринга с единственной лентой, которая копирует входное слово (приписывая его копию справа от самого сло- слова). Пусть Т(п) — максимальное время её работы на входах длины п. Докажите, что Т(п) ^ гп2 для некоторого е и для всех п. Что мож- можно сказать про Т'(п), которое есть минимальное время её работы на входах длины п? 1.9. Рассмотрим язык программирования, в котором есть всего 100 натуральных переменных, разрешённые операции — прибавление и вы- вычитание 1, разрешённая проверка — не равна ли переменная нулю. Раз- Разрешено использовать if-then-else и while, но рекурсия не разрешена. Докажите, что с помощью программ на таком языке программирова- программирования можно вычислять любую вычислимую функцию. 1.10. Постройте алгоритм, определяющий, является ли данный ба- базис полным. Базисные функции заданы таблицами значений. 1.11. Пусть сп есть максимум сложности с(/) по всем булевым фун- функциям f от п переменных. Докажите, что 1,99™ < сп < 2,01" при до- достаточно больших п. 1.12. Глубиной схемы называется максимальное число элементов на пути от входов к выходу. Покажите, что любую функцию можно вы- вычислить схемой глубины не более 3 из элементов NOT и из элементов AND и ОД с произвольным числом входов. 1.13. Докажите, что если из схемы глубины O(logn), вычисляющей функцию /: В™ —> Вт, выбросить все несущественные присваивания, то полученная схема имеет полиномиальный по п + гп размер. 1.14. Постройте схему, которая сравнивает два n-битовых числа и имеет размер О(п), а глубину O(logn). 1.15. а) Постройте схему сложения двух n-битовых чисел размера 0{п).
Класс NP: сводимость и полнота 27 б) Тот же вопрос, если дополнительно потребовать, чтобы глубина схемы была O(logn). 1.16. Функция MAJ: В™ —> В равна 1 на двоичных словах, в ко- которых число единиц больше числа нулей, и 0 — на остальных словах. Постройте схему, вычисляющую эту функцию, размер схемы должен быть линеен по п, глубина — O(lognloglogn). 1.17. Постройте схему размера poly(n) и глубины 0(log n), которая проверяет, связаны ли путём две вершины в графе. Граф на тп верши- вершинах, которые помечены числами от 1 до т, задаётся п — m(m - l)/2 булевыми переменными. Переменная Xij, где i < j, определяет, есть ли в графе ребро, соединяющее вершины г и j. 1.18. Пусть схема глубины 3 из элементов NOT и из элементов AND и OR с произвольным числом входов вычисляет сложение п битов по мо- модулю 2 (функция PARITY). Покажите, что размер схемы не меньше с™ для некоторого с > 1. 1.19. Пусть /ь/г,--- — последовательность булевых функций от 1,2,... аргументов. Покажите, что следующие два свойства равносиль- равносильны: а) существует последовательность вычисляющих эти функции фор- формул, размер которых не превосходит полинома от п; б) существует последовательность вычисляющих эти функции схем глубины O(logn) из элементов NOT, AND и OR (с двумя входами). 1.20. Докажите, что существует разрешимый предикат, который принадлежит Р/poly, но не принадлежит Р. 2.. Класс NP: сводимость и полнота 2.1. NP — класс предикатов, вычислимых за полиномиальное время недетерминированными машинами Тьюринга. Термин «недетермини- «недетерминированный» неудачный, но он уже стал стандартным. Класс NP определён только для предикатов. Говорят, например, что «свойство графа „иметь гамильтонов цикл7^" принадлежит NP». Мы дадим несколько определений этого класса. Первое использует понятие недетерминированной машины Тьюринга. Устройство недетер- недетерминированной машины (НМТ) такое же, как и обычной (детермини- (детерминированной), за одним исключением. У управляющего устройства НМТ 7) Гамильтонов цикл — замкнутый путь в графе, проходящий через все вершины графа ровно по одному разу. Граф, в котором есть хотя бы один гамильтонов цикл, называется гамильтоновым.
28 Классические вычисления есть особые недетерминированные состояния. Находясь в таком состо- состоянии, НМТ может выполнить одно из нескольких действий. Поэтому у НМТ вместо функции переходов есть таблица, в которой для каждой пары (состояние управляющего устройства, текущий символ на ленте) вместо единственно возможного варианта действий (изменение состоя- состояния управляющего устройства, запись символа на .тенту, сдвиг головки) указан набор возможных действий. Обычные, детерминированные, со- состояния становятся частным случаем, когда такой набор состоит ровно из одного варианта действий. Путь вычисления НМТ определяется выбором одного из возможных переходов на каждом такте работы. Недетерминированность приводит к тому, что путей вычисления для НМТ, работающей на данном вход- входном слове, оказывается много. Определение 2.1. Предикат L принадлежит классу NP, если суще- существуют НМТ М и полином р(п) такие, что L(x) = 1 =>• существует путь вычисления, дающий ответ «да» за время, не превосходящее р(|ж|); L{x) = 0 => A вариант определения) нет указанного выше пути; B вариант определения) на любом пути вычисления ответа «да» не получается. Замечание 2.1. Приведенные варианты определения эквивалентны. Чтобы исключить возможность ответов «да» на длинных путях вычи- вычисления, достаточно взять НМТ, имитирующую исходную НМТ и под- подсчитывающую количество сделанных исходной НМТ шагов. Когда чи- число шагов превышает p(|z|), машина останавливается. Замечание 2.2. В предыдущем рассуждении допущена одна тонкая ошибка. В определении ничего не сказано о полиноме р(п), кроме фак- факта его существования. Если коэффициенты полинома незычислимы, мо- могут возникнуть проблемы с указанным выше способом сведения одного определения к другому (нужно вычислить значение полинома). Чтобы в дальнейшем избегать этой сложности, будем считать, что полином имеет целые коэффициенты. Замечание 2.3. Непосредственно из определения 2.1 следует, что Р С NP. Является ли это включение строгим? Довольно интенсивные, хотя и безуспешные, попытки ответить на этот вопрос продолжаются уже почти 30 лет. Недавно С. Смойл включил проблему Р = NP в число трёх важнейших математических проблем следующего столетия (две другие — гипотеза Римана и гипотеза Пуанкаре).
Класс NP: сводимость и полнота 29 Второе определение класса NP представляется более естественным. Оно использует понятие полиномиально вычислимого предиката от двух переменных. Определение такого предиката получается комбина- комбинацией определений 1.2 и 1.3. Под размером входа для предиката R{x,y) можно понимать также или |а;| + |у|, или тах(|х|, \у\) — получатся экви- эквивалентные определения. Определение 2.2. Предикат L принадлежит классу NP, если он пред- представим в форме L(x) -Зу ((Ы < q(\x\)) Л R(x,y)), где q(-) — полином, ай(у)бР. Пример 2.1. Пусть Щх,у) = «у есть гамильтонов цикл в графе х». Более точно нужно сказать так: «х есть двоичный код некоторого гра- графа, а у — код гамильтонова цикла в этом графе (используем такое кодирование, при котором код цикла не длиннее кода графа), такие что...». Возьмём q(n) = п. Тогда L{x) будет в точности означать, что в графе найдётся гамильтонов цикл. Теорема 2.1. Определения 2.1 и 2.2 эквивалентны. Доказательство. Опр. 2.1 => опр. 2.2. Пусть есть НМТ М и по- полином р(п) из первого определения. Рассмотрим предикат R(x,y) = = чу есть протокол работы М на возможном пути вычисления со вхо- входом х дающего ответ „да" за время, не превосходящее р(|ж|)». Длина такого протокола при разумном кодировании линейно зависит от вре- времени вычисления (если использовать в качестве протокола описанную в доказательстве теоремы 1.2 таблицу вычисления, то квадратично), поэтому в качестве q(n) для второго определения можно взять р(п) (р2(п)), умноженный на подходящую константу. Чтобы закончить доказательство в этом случае, осталось прове- проверить, что R{-, ¦) б Р. Это почти очевидно. Мы должны проверить протокол некоторой НМТ, работающей за полиномиальное время. Это займёт нас примерно на то же время (совершенно незачем смотреть на одну ячейку экспоненциально долго). Опр. 2.2 => опр. 2.1. Пусть есть R, q из определения 2.2. Постро- Построим М для определения 2.1. Она работает в два этапа. Вначале М недетерминированно пишет у (который в силу опре- определения 2.2 существует для любого слова х, для которого L(x) = 1). Говорят ещё, что М «отгадывает» ("guesses") у. Более точно это озна- означает, что М находит правый конец входного слова, сдвигается ещё на одну ячейку вправо, записывает в неё #, ещё раз сдвигается вправо и переходит в такое недетерминированное состояние, в котором она пи- пишет один из символов на ленту, сдвигается вправо и выбирает между
30 Классические вычисления сохранением этого состояния и переходом в (уже детерминированное) состояние начала следующего этапа. После завершения первого этапа на ленте, помимо входного сло- слова х, записано ещё и слово у. Теперь М осталось вычислить значе- значение предиката R(x, у) за полиномиальное время. Это можно сделать, используя детерминированный алгоритм, существующий в силу опре- определения 2.2. ? Ещё одно определение класса NP есть не более чем вариант опреде- определения 2.2, но именно в такой форме его удобно обобщать и получать определения других сложностных классов. Определение 2.3. Имеются два персонажа: король Arthur (Артур), умственные способности которого полиномиально ограничены, и вол- волшебник Merlin (Мерлин), который интеллектуально всемогущ и знает правильные ответы на все вопросы. Король А интересуется некоторым свойством Ь{х) (например, «есть ли у графа гамильтонов цикл»), а вол- волшебник М хочет, чтобы король признал наличие этого свойства (ну, скажем, граф стремится к званию гамильтонова и дал М взятку). А не доверяет своему волшебнику, зная его корыстолюбие, и хочет иметь возможность самостоятельно проверить предложенный М ответ. Поэтому они действуют следующим образом. АиМ оба смотрят на слово х, после чего М сообщает некоторую информацию (слово у), ко- которая должна убедить А, что L(x) = 1. Используя эту информацию, А проверяет убедительность аргументов М некоторым полиномиальным способом. В этих терминах определение класса NP можно сформулировать так: свойство L принадлежит классу NP, если у Артура есть полино- полиномиальный способ проверять убедительность доводов Мерлина, причём: L(x) = 1 =?• у М есть способ убедить А в этом; L{x) = 0 =Ф- как бы М ни изощрялся, А не поверит, что L{x) = 1. Эквивалентность этого определения определению 2.2 не вызывает сомнений. Действительно, из-за полиномиальной ограниченности коро- короля А, сообщение волшебника М должно иметь полиномиальный размер. В остальном различия между определениями чисто внешние. 2.2. Сводимость и NP-полнота. Сложность вычисления предика- предикатов можно сравнивать, пользуясь следующим определением. Определение 2.4. Сводимость по Карпу. Предикат Lx сводится к предикату L2 (обозначение L\ ос L2), если существует такая функция /6Р, 4ToVxL1(x)=L2(f(x)).
Класс NP: сводимость и полнота 31 Сводимость по Карпу также называют полиномиальной сводимо- сводимостью, а часто — просто сводимостью. Лемма 2.1. Пусть L\ ос L2. Тогда a) L2 6 Р => Lx 6 Р; б) Lx ? Р =>• Ь2 ? Р; в) L2 € NP => U € NP. Доказательство. Пункт а) совершенно очевиден — чтобы вычи- вычислить значение предиката L\, достаточно применить ко входу х функ- функцию /, а к результату её работы — программу вычисления L2. Пункт б) следует из пункта а). Пункт в) также прост. Его можно объяснять по-разному. Например, так: Мерлин сообщает Артуру f(x) (длина которого ограничена неко- некоторым полиномом h от длины х, поскольку / 6 Р) и слово у, которое убеждает Артура в том, что L2(/(x)) = 1. Артур также может прове- проверить, что ему действительно сообщено f(x). Используя определение 2.2, можно написать цепочку эквивалентностей Ьг(х) & L2(f(x)) * Зу ((М < q(\f(x)\)) Л R(f(x),y)) & &3y((\y\<r(\x\))/\R(f(x),y)). Полином г(\х\) в последнем выражении — это композиция полиномов q nh. ? Определение 2.5. Предикат L ? NP называется NP-полным, если любой предикат из NP к нему сводится. Если некоторый NP-полный предикат можно вычислять за время Т(п), то любой предикат из NP можно вычислять за время Т(пс) для некоторого фиксированного числа с. Такая потеря эффективности счи- считается в этой науке несущественной. NP-полные предикаты существуют, приведём примеры. Выполнимость. Задаётся предикатом SAT(x) <=*> х есть формула с булевыми переменными и символа- символами (-1, V, Л), которая истинна при некоторых значе- значениях переменных. Теорема 2.2 (Кук, Левин). 1) SAT 6 NP; 2) SAT — NP-полна. Следствие. Если SAT 6 Р, mo P = NP. Доказательство (теоремы 2.2). 1) Мерлину достаточно сообщить Артуру значения переменных, входящих в формулу, при которых она истинна. Артур справится с проверкой истинности полученного выска- высказывания. 2) Пусть предикат из NP, который нужно свести к SAT, имеет вид L(x) = 3y{(\y\<q(\x\))AR(x,y)).
32 Классические вычисления Рассмотрим таблицу вычисления (см. доказательство теоремы 1.2) для МТ, вычисляющей Щх,у) (входом является пара хфу). Будем ис- использовать те же переменные, что и в доказательстве теоремы 1.2 (ко- (коды состояний клеток таблицы вычисления). Чтобы таблица вычисле- вычисления соответствовала правильно проведённому успешному (с ответом «да») вычислению, должны выполняться локальные правила согласова- согласования для каждой четвёрки клеток вида i-[-j-J и результат должен быть «да». Каждое такое правило задаётся формулой от переменных, отве- отвечающих либо рассматриваемой четвёрке, либо нулевой ячейке самой нижней строки таблицы. Определим формулу <рх как конъюнкцию всех этих формул, в которые подставлены значения переменных, кодиру- кодирующих вход х#у, дополненный символами ¦_. до длины \х\ + 1 + ?(|а;|). Значения, соответствующие х и #, — константы, поэтому переменные, от которых зависит эта формула, отвечают у и кодам внутренних яче- ячеек таблицы. Так что можно считать, что формула <рх зависит от у и ещё от каких-то переменных, которые мы обозначим z. Итак, мы сопоставили слову х формулу (px(y,z), которая по по- построению обладает следующим свойством. Если выполняется R(x,y), то найдётся такой набор значений z(x,y), при котором tpx(y,z(x,y)) истинна (эти значения описывают работу МТ на входе хфу). А если R(x,y) не выполняется, то ipx(y,z) всегда ложна (поскольку по сути утверждает, что вычисление на входе (а;, у) даёт ответ «да»). Таким образом, при L(x) — 1 такая формула иногда (при некоторых значени- значениях у) истинна, при L(x) = О — всегда ложна. ' ? Другие примеры NP-полных задач получаются с помощью следую- следующей леммы. Лемма 2.2. Если SAT ос L uL € NP, то L — NP-полная. И вообще, если L\ — NP-полная, L\ а L2 и Li € NP, то L2 — NP-полная. Доказательство. Достаточно проверить транзитивность сводимо- сводимости: если L\ ос L2, L2 ex L3, то L\ ex L3. Она следует из того, что композиция двух полиномиально вычислимых функций полиномиально вычислима. П 3-КНФ. Задаётся предикатом 3-SAT(x) <=> х есть 3-КНФ, которая истинна истинна при некото- некоторых значениях переменных. 3-КНФ — это конъюнк- конъюнкция дизъюнкций, каждая из которых содержит три литерала. 3-SAT также NP-полна. Это устанавливается сведением к ней SAT.
Класс NP: сводимость и полнота 33 Теорема 2.3. SAT ос Z-SAT. Доказательство. Сопоставим любой схеме в стандартном базисе такую 3-КНФ, выполнимость которой равносильна тому, что вычи- вычисляемая схемой функция не равна тождественно 0. В эту КНФ будут входить все переменные схемы (xi,... ,хп и у\,...,ys — используем те же обозначения, что и в определении схемы). Для этого построим вна- вначале конъюнкцию К" условий, означающих, что каждая из вспомога- вспомогательных переменных г/j имеет значение, соответствующее правой части присваивания У,. Есть три типа таких условий (они соответстуют трём базисным функциям), и каждый можно записать в виде 3-КНФ: (у & (хг V х2)) = (an V х2 V ->у) A (-.an V x2 V у) A (an V ^х2 V у) А А {->Х\ V -1Ж2 V у), (у «• (xi A x2)) = (xi V х2 V -iy) A (-.an V х2 V -<у) А (хг V ->х2 V -у) А Л (-1Ж1 V-.I2 Vj/), (?/ <^> -.а;) = (а; V у) А (->х V ->у). Подставляя эти 3-КНФ в К", получим 3-КНФ К'. Искомая 3-КНФ име- имеет вид К = К' Л ys. Действительно, истинность К равносильна утвер- утверждению: все присваивания выполнены правильно и в результате полу- получилась 1 (ys = 1). Значит, если при каких-то значениях переменных Х{ схема выдаёт 1, то Л" выполним;), и наоборот. ? Ещё один простой пример сведения. Задача ЦЛП (целочисленного линейного программирования). Да- Дана система линейных неравенств с целыми коэффициентами. Есть ли у неё целочисленное решение? (Другими словами, совместна ли сис- система?) В этой задаче входом является матрица коэффициентов и вектор правых частей. То, что ЦЛП € NP. не совсем очевидно. Оказывается, что в качестве подсказки Мерлин может сообщить Артуру значения пе- переменных, при которых выполнены все неравенства системы. По опре- определению, длина этого сообщения должна быть полиномиально ограни- ограничена. Можно доказать, что из существования целочисленного решения следует существование целочисленного решения, размер записи которо- которого ограничен полиномом от длины записи системы, см. [14, т. 2, §17.1]. Сведём теперь 3-КНФ к ИЛИ. Построим по 3-КНФ систему ли- линейных неравенств. Целочисленных переменных возьмём столько же. сколько есть Ггглопых пере*т;нь,х. Булевой переменной ,г,. сопоставим выражение р,. Отрицанию лерем-чнюи -.а:, сопоставим выражение 1— р,. Каждой дизъюнкции Xj V Xk V Хт {X* --- литералы) сопоставим
34 Классические вычисления неравенство Pj + Pk + Рт ^ 1, в котором Pj, Рк, Рт — выражения, сопоставленные литералам дизъюнкции. Искомая система содержит для всех г неравенства 0 ^ Pi ^ 1, а так- также все неравенства, сопоставленные дизъюнкциям из КНФ. Очевидно, что выполнимость 3-КНФ равносильна совместности такой системы. Замечание 2.4. Если не требовать целочисленности решений, то проверить совместность системы линейных неравенств можно за поли- полиномиальное время. Примеры таких алгоритмов (Хачияна, Кармаркара) также см. в [14, т. 1, §13, §15.1]. Обширный список NP-полных задач содержится в книге Гэри и Джонсона [3]. Как правило, их NP-полнота доказывается с помощью сведений. Приведём несколько примеров NP-полных задач. 3-РАСКРАСКА. Дан граф. Спрашивается, можно ли раскрасить его вершины в три цвета так, чтобы концы каждого ребра были покра- покрашены в разные цвета. (Аналогичная задача 2-раскраска решается за полиномиальное время.) Клика. Даны граф и число к. Спрашивается, есть ли ^-элементное множество вершин графа, любые две вершины которого соединены ребром. Задачи 2.1. Докажите, что задача проверки выполнимости 2-КНФ (конъ- (конъюнкции дизъюнкций, каждая из которых содержит два литерала) при- принадлежит Р. 2.2. Докажите, что задача об эйлеровом пути в неориентирован- неориентированном графе (существует ли путь, проходящий по всем рёбрам ровно по одному разу) принадлежит Р. 2.3. Предположим, что класс NP совпадает с Р. Докажите, что в этом случае за полиномиальное время можно не только проверить вы- выполнимость формулы, но и найти значения переменных, при которых она истинна (аналогично для гамильтонова цикла и т. п.) 2.4. Докажите, что задача о паросочетаниях (есть п мальчиков и п девочек, известно, какие пары согласны друг с другом танцевать; надо определить, можно ли устроить танец, в котором все п мальчиков и п девочек соединены в пары) принадлежит NP и, более того, принадле- принадлежит Р. 2.5. Постройте а) полиномиальное сведение задачи 3-КНФ к задаче Клика;
Вероятностные алгоритмы и класс ВРР 35 б) тот же вопрос, но дополнительно требуется, чтобы количество ре- решений сохранялось (если 3-КНФ F при сведении соответствует пара (граф Н, размер к), то количество выполняющих наборов перемен- переменных для F равно количеству клик размера к в графе Н). 2.6. Постройте а) полиномиатьное сведение задачи 3-КНФ к задаче 3-РАСКРАСКА; б) тот же вопрос, но дополнительно требуется, чтобы количество вы- выполняющих наборов переменных для любой 3-КНФ равнялось бы ше- шестикратному количеству 3-раскрасок соответствующего ей графа. 2.7. Покажите, что следующая задача является NP-полной: дан на- набор из не более чем п типов квадратиков 1 х 1, на сторонах которых написаны какие-то буквы; дан список допустимых пар букв и список граничных букв; спрашивается, можно ли корректно сложить из ква- квадратиков набора большой квадрат размера п х п (так, чтобы на при- примыкающих сторонах квадратиков были только допустимые пары букв, а на границе квадрата — только граничные буквы). 2.8. Докажите, что предикат «х — двоичная запись составного чи- числа» принадлежит NP. 2.9. Докажите, что предикат «х — двоичная запись простого числа» принадлежит NP. 3. Вероятностные алгоритмы и класс ВРР. Проверка простоты числа В вероятностных МТ (ВМТ), как и в недетерминированных, име- имеются состояния, из которых возможен переход в несколько (больше од- одного) состояний. Отличие состоит в том, что состояние, куда ВМТ делает переход, определяется результатом некоторого случайного про- процесса («подбрасывания монеты»). Нужно оговорить, какие монеты до- допускаются. Например, если взять монету, вероятность выпаденич гер- герба для которой равна невычислимому числу, то возможности ВМТ, использующей подбрасывание такой монеты, будут больше, чем хо- хотелось бы; она сможет вычислить и некоторые неразрешимые пре- предикаты. Обычно считают, что вероятности выпадения одинаковы для обеих сторон монеты, а результат подбрасывания отождествляется с числом О или 1. Хотя для ВМТ нельзя сказать, какой в точности ответ она выдаст, можно определить вероятность того или иного ответа.
36 Классические вычисления Определение 3.1. Предикат L принадлежит классу ВРР, если суще- существуют такие ВМТ М и полином р(п), что машина М заведомо оста- остановится за время, не превосходящее р(|я|), причём L(x) = 1 =?• М с вероятностью большей 2/3 даёт ответ «да»; L(x) = 0 =$• М с вероятностью большей 2/3 даёт ответ «нет». Если в этом определении заменить число 2/3 на любое фиксирован- фиксированное число, большее 1/2, класс ВРР не изменится. Есть простой способ добиться вероятности, сколь угодно близкой к 1. Возьмём несколько одинаковых машин, запустим их все, а окончательным результатом бу- будем считать мнение большинства. Если вероятность правильного отве- ответа для каждого экземпляра машины равна с > 1/2, то можно доказать, что вероятность правильного ответа после голосования п машин не меньше 1 — А", где А = 2-^/сA — с) < 1. Замечание 3.1. Представить физическую реализацию НМТ очень трудно (вспомним, что нам придётся поместить в неё всезнайку Мер- Мерлина). А вероятностные машины вполне могут мыслиться как реальные устройства. Поэтому предикаты из класса ВРР вполне можно считать реально вычислимыми. Класс ВРР можно определить и с помощью предикатов от двух пе- переменных, как это было сделано для класса NP. Определение 3.2. Предикат L принадлежит классу ВРР, если суще- существуют такие полином q(-) и предикат Щ-, •) € Р, что L(x) = 1 =>¦ доля слов г длины ?(|а;|), для которых выполнено R(x,r), больше 2/3; L(x) = 0 ==$• доля слов г длины ?(|а;|), для которых выполнено R(x,r), меньше 1/3. Теорема 3.1. Определения 3.1 и 3.2 эквивалентны. Доказательство. Опр. 3.1 => опр. 3.2. Полагаем q{n) = p(n) (ко- (количество подбрасываний монеты не превосходит общего числа дей- действий). Определим предикат R(x,r) = «машина М на входе х даёт от- ответ „да" при указанной в г последовательности результатов подбрасы- подбрасываний монеты». Этот предикат по очевидным причинам удовлетворяет определению 3.2. Опр. 3.2 ==$> опр. 3.1. Случайно выбираем слово г длины q(\x\) и подставляем в предикат, затем вычисляем значение предиката. Такая ВМТ удовлетворяет определению 3.1. ?
Вероятностные алгоритмы и класс ВРР 37 х Определение 3.2 допускает следующее нагляд- наглядное толкование. Отметим на плоскости (х, у) точ- точки из множества \(х,у) : Щх,у) А (\у\ = д(|ж|))}. Для х = хо рассмотрим сечение {(х,у) : R(x,y) А А(\у\ — q(\x\))A(x = xq)} этого множества. Преди- Предикат Я(-,-)> участвующий в определении 3.2, обла- обладает таким странным свойством, что мера этого сечения при любом xq либо больше 2/3, либо мень- меньше 1/3. Это разделяет значения х на две катего- категории: одна соответствует истинности предиката L, другая — ложности. х ? L Классический пример задачи из ВРР представляет проверка про- простоты числа: дано число п, требуется определить, простое ли оно. Для этой задачи существует вероятностный алгоритм, работающий за по- полиномиальное время; он будет сейчас описан. 3.1. Необходимые сведения из теории чисел. Подробное изложение элементарной теории чисел содержится в книге [2]. Мы лишь напомним две теоремы, которые будут важны при анализе работы алгоритма про- проверки простоты числа. Малая теорема Ферма. Если п — простое и п \ а, то а" = 1 (mod n). Китайская теорема об остатках. Пусть п = uv — ¦разложение числа на взаимно простые множители. Тогда Ъ/пЪ— Ъ/иЪу ZjvZ. Другими словами, существует взаимно однозначное соответствие между остатками от деления на п и парами остатков от деления на и и на v. {И это соответствие уважает операции сложения и умножения.) Из малой теоремы Ферма следует, что а" ф 1 (mod n) позволяет утверждать, что п — составное (говорят, что а является свидетелем непростоты числа п). Это свидетельство косвенное — явного разложе- разложения п на множители мы не получаем — и сильное: часто достаточно проверки при а = 2! Однако проверки малой теоремы Ферма даже при все.с а может ока- оказаться недостаточно. Алгоритм проверки будет использовнть свидете- свидетелей ещё одного типа: если б2 = 1 (mod n), а Ь j? ±1 (mod п), то п — составное; п и Ь — 1 имеют общий делитель, больший 1. Поэтому свиде- свидетели такого вида (вообще говоря, гораздо более редко появляющиеся) позволяют сразу же указать разложение п (против простоты которо- которого они свидетельствуют) на два множителя за полиномиальное время
38 Классические вычисления (наибольший общий делитель (х, у) двух чисел х и у можно найти за полиномиальное время, см. ниже). 3.2. Необходимые сведения из алгоритмической теории чисел. Арифметические операции над числами можно выполнять за полино- полиномиальное время от длины их записи (число п записывается [logn] = = O(logn) знаками). Например, схема умножения чисел п, т столби- столбиком имеет размер O(lognlogm), растущий квадратично от длины вхо- входа. Хотя квадрат от длины входа уже достаточно мал, чтобы быть полиномиальным, заметим, что для умножения n-значных чисел есть и более экономные схемы размера O(nlognloglogn), см. [1, р. 7.5] или [7, т. 2, р. 4.3.3]. В модулярной арифметике (арифметике остатков по модулю задан- заданного числа q) можно вычислить а" по модулю q схемой полиномиаль- полиномиального размера от длины входа (a, п, q) (в обычной арифметике даже ре- результат возведения в степень может иметь экспоненциальный размер). Для этого нужно вычислить остатки от степеней а последовательным возведением в квадрат и затем перемножить те из полученных чисел, которым соответствуют 1 в двоичной записи числа п. Наибольший общий делитель двух чисел можно найти, пользуясь алгоритмом Евклида, использующим рекурсивно равенство (х,у) = = (у.х mod у). Если делить большее число на меньшее, то за каждые два шага длина записи меньшего числа уменьшается на константу. Существует также алгоритм проверки того, что из числа извлека- извлекается нацело корень к-й степени. Это можно сделать, найдя достаточно точно приближённое значение корня и возведя ближайшее к нему це- целое число в к-ю степень. Найти приближённое значение \[х можно с помощью рекуррентной последовательности 1 (,, пЧ х \ ап+\ = т [ (к - 1)ап + -;—;- 1 \ ап / если выбрать подходящее значение ао- Детали этого (полиномиального) алгоритма оставляются читателю для самостоятельного обдумывания. Заметим, что все схемы, о которых шла речь выше, могут быть построены МТ за полиномиальное время. Так что все перечисленные задачи принадлежат классу Р. 3.3. Алгоритм проверки простоты. ВХОД: число п. Шаг 1. Проверяем чётность п. Если п = 2, то ответ «п — простое», если п — чётное и больше 2, то ответ «п — составное», в противном случае переходим к шагу 2.
Вероятностные алгоритмы и класс ВРР 39 Шаг 2. Проверяем, извлекается ли из го нацело корень fc-й степени при к — 2,..., [log-2 roj- Если извлекается, то ответ «п — составное», иначе переходим к шагу 3. Шаг 3. Записываем п — \ в виде 2к ¦ I, где к > 0, а I — нечётное. Шаг 4. Выбираем случайное а среди чисел от 1 до п. Шаг 5. Вычисляем а1, а2', ..., ап~1 по мод\лю п. Проверка 1. Если а" ф 1 (mod го), то ответ «го — составное». Проверка 2. Если найдено такое j, для которого а2 ' ф ±1 (mod го), а, а2' ' = 1 (mod го), то ответ in — составное». В противном случае ответ «п — простое». 3.4. Анализ алгоритма. Теорема 3.2. Если п — простое, то описанный выше алгоритм всегда (с вероятностью 1) выдаёт, ответ «го — простое». Если п — составное, то ответ <т — составное» будет получен с вероятностью Js 1/2. Замечание 3.2. Чтобы получить полиномиальный вероятностный алгоритм проверки простоты числа в смысле определения 3.1, нужно дважды применить приведённый алгоритм. Тогда вероятность ошибки станет меньше 1/4. Доказательство (теоремы 3.2). Из сказанного выше следует, что в доказательстве нуждается только второе утверждение. Пусть го — uv = 1 (mod 2), где (u,v) = 1 (если такого представле- представления нет, то на шаге 2 будет обнаружена, непростота). Если (а, го) > 1, то проверка 1 для такого а заведомо обнаружит, что го — составное. Так что достаточно доказать, что не меньше половины тех а, которые взаимно просты с п, обнаруживают непростоту числа. Обозначим группу (Z/t/,Z)* через U, группу (Z/?>Z)* — через V. Из китайской теоремы об остатках следует, что группа (Z/r'Z)* изоморф- изоморфна U х V (изоморфизм задаётся естественным образом — вычислением остатков по модулю и и по модулю v). Рассмотрим множества Uk = {хк : х ? С/}, Vk = \хк : х ? V}. Это подгруппы в U и V соответственно (произведение fc-x степеней есть к-я степень, обратный к fc-й степени есть fc-я степень). Так что |С/|/|{/*| — целое число. Более того, отображение х н» хк является гомоморфизмом групп, поэтому число прообразов при этом отображении одинаково для всех элементов Uk.
40 Классические вычисления Очевидно, что U21 С U1 (степеней квадратов не больше, чем всех степеней). Поэтому получаем пару невозрастающих цепочек множеств U1 D U21 D .. . D (Г1"- D {1}, V1 -2 V2' D .. . D V71'1 2 {!}¦ Дальнейшее рассуждение разбивается на анализ нескольких случаев. 1. Пусть [/"-1 ф {1} или V"-1 ф {!}. Чтобы пройти проверку 1 в алгоритме, нужно после возведения в (п — 1)-ю степень получить пару остатков A,1). Поскольку прообра- прообразов каждого числа из Г/" ф {1} одинаковое количество, вероят- вероятность получения пары A,1) не выше 1/2. 2. Пусть U"-1 = Vn-] -. {!}. Поскольку / — нечётное, —1 G U1 П V1, т.о. найдётся такое t = 2s, 0 <; ,s < к, что [/-" = Vм = {1}, a U' ф {1} или V1 ф {!}. Будем доказывать, что с вероятностью не меньше 1/2 в этом месте провеика 2 алгоритма обнаружит, что п составное. В данном слу- случае а2' = 1 (mod n), так что нужно понять, с какой вероятностью а' не равно ±1. Рассмотрим два случая. р.) Одно из множеств Г/', V' равно {1}. Пусть, например, U' = — {1}. В этом случае можно утверждать, что «' ф —1 (moil n) (остатку — 1 п{)И делении на п соответствует пара остатков ( —1. —1) при делении на u.v). iVI^JЖнo рассуждать так же, как и в случае 1. С вероятностью не меньше 1/2 получим пар}' остатков A,а), а ф 1. о) Оба множества I-'', V ' содержат по крайней мере два элемента, пусть 1G'j = г, |V'j = d. В этом случае может получиться как (Г =1 1 (mod n), гак и a' sr —I (mod n), но вероятность :*того не провчеходит 2/(cd) <C 1/2. D Замечание З.Л. Шаг 2 в алгоритме избыточен, дополнительными соображениями \станавливается. что и д.;я чисел вида тпк п])оверки 1, / дают травильный ответ со значительной вероятностью. 3.5. Т?РР и схемная сложность. Теорема 3.3. ВРР С Р/ро1у. Докаэат&псьство. Идея доказательства состоит в том, чтобы уси- усилить оценки вероятностей с A/3, 2/3) до (г, 1 —е). Число е должно быть настолько мало, чтобы можно было выбрать такое случайное слово уо„ при котором рассматриваемый предикат из ВРР совпадает с Я(х,г/о). Суть здесь в том, что повторение опытов за полиномиальное время экспоненциально уменьшает оценку вероятности ошибки е, но не меня- меняет размер входа \х\. Поэтому можно добиться выполнения неравенства
Иерархия сложностных классов 41 е2'г' < 1. При таком соотношении между е и \х\ всегда найдётся слу- случайное слово, для которого нет ошибок ни при каких х. Действительно, вспомним наглядное толкование ВРР, данное после теоремы 3.1. Если доля слов г, на которых происходит ошибка, для каждого х не превосходит е, то доля тех слов г, на которых происхо- происходит ошибка хотя бы для одного .т, не превосходит е2^х^ < 1. Значит, найдутся и такие г, на которых нет ошибок ни при каком х. ? Это типичное неконструктивное доказательство существования. Мы доказываем, что вероятность того, что объекта с нужными свой- свойствами не существует, меньше 1. Но это и означает, что хотя бы один такой объект существует. 4. Иерархия сложностных классов Напомним, что мы отождествляем языки и предикаты, как описано на с. 18. В частности, запись х € L означает L(x) = 1. Определение 4.1. Пусгъ А — некоторый класс языков. Класс допол- дополнений со-А составляют дополнения ко всем языкам из А. Формально L е А <=> (В* \ L) <Е со-А. Непосредственно из определений классов Р, ВРР, PSPACE следует, что Р = со-Р, ВРР = со-ВРР, PSPACE = co-PSPACE. 4.1. Игры, в которые играют машины. Рассмотрил лг у, в кото- которую играют два игрока, будем их называть белые (Б) и черные (Ч). Игрокам сообщается некоторое слово х, и они делают :чды по оче- очереди (гг] —• первый ход белых, &i — первый ход чё; пых и т.д.). Ка- Каждый ход может быть описан словом длины р(|х|). где ]:(¦) — неко- некоторый полином. Игра завершается после некоторого, заранее заданно- заданного, числа ходов.8-1 Результат игры описывается некоторым предикатом W(x,wi; 6i, • • •) € Р, истинность которого означает, что ьыиграли бе- белые (ничьих не бывает, так что вджность W означает, что выиграли чёрные). Предикат W зависит от исходного слова и ходоп, сделанных игроками: Wi,... — белыми, bi,... — чёрными. Поскольку Р замкнут относительно дополнений, предикат В(-) = -^W(-), утверждающий вы- выигрыш чёрных, также принадлежит Р. Отсутствие ничьих и конечность числа ходов гарантируют при за- заданном х существование выигрышной стратегии либо для белых, либо 8'lla самом деле правило завершения игры может быть и сложнее, Если есть верх- верхняя оценка на число ходов, то можно всегда дополнить число ходов .¦ о этой оцеп, и, никак не учитывая дополнительные ходы при подведении результата игры.
42 Классические вычисления для чёрных. (Формальное доказательство легко получается индукцией по числу ходов.) Поэтому каждой игре можно сопоставить два взаимно дополнительных множества Lw = {х : Б имеет выигрышную стратегию}, Ьь = {х : Ч имеет выигрышную стратегию}. Многие сложностные классы можно определить как множества Ьи, (или Ьь), соответствующие тем или иным видам игр. Например, по- получаем следующие классы. Р: множества Lw (как и Ьь, впрочем) для игр, в которых никто не делает ходов. NP: множества Ьи, для игр, в которых белые делают 1 ход. Другими словами, это множества вида {х : 3w\ W(x,Wi)}. co-NP: множества Ьь для игр, в которых белые делают 1 ход. Другими словами, это множества вида Е-2: множества Ьи для игр из 2 ходов: 1 ход белых, 1 ход чёрных. Другими словами, это множества вида {ж:3«л Vbi W(x,wub})}- Словами это можно сказать так: есть такой ход белых, что, как Г.ы ни сыграли чёрные, белые выигрывают. П2: множества Ьь для игр из 2 ходов. Другими словами, это множе- множества вида Т,к: множества Ьи, для игр из к ходов (в зависимости от чётности к последними ходят либо чёрные, либо белые). Другими словами, это множества вида {x-.SwxVh ... QkykWfawubu-..)} (если к чётное, то Q^ = V, ук — fr/t/2, если к нечетное, то Qk = 3, ук =w{k+i)/2). Щ. множества Ьь для игр из к ходов (в зависимости от чётности к последними ходят либо чёрные, либо белые). Другими словами, это множества вида {a::Vu;i3bi ... Qkyk B(x,wubx,...)} (если к чётное, то Q*. = 3, ук = Ък/-2, если к нечётное, то Qk = V, ук = W(k+x)/2). Классы ?*. и Щ взаимно дополнительны: Е* = со-П^, П^ = со-Е^.
Иерархия сложностных классов 43 Теорема 4.1 (Лаутеман [35]). ВРР С Е2 П П2. Доказательство. Поскольку класс ВРР замкнут относительно до- дополнений, достаточно показать, что ВРР С ?г- Для этого нужно научиться формулировать свойство «множество содержит много элементов» с использованием кванторов существова- существования и всеобщности. Мы сдаваем это, предполагая, что рассматривают- рассматриваются подмножества некоторой конечной группы. Пусть G — группа, а X — подмножество G. Свойство, которым мы будем отличать боль- большие множества от малых, состоит в том, что некоторым количеством сдвигов множества X можно покрыть всю группу 3gu...,gk:\J9iX = G. D.1) i Чтобы выбрать подходящее значение к, нужно найти случаи, ко- когда D.1) заведомо выполняется, и когда заведомо не выполняется. Если к\Х\ < \G\, D.2) условие D.1) заведомо ложно. Условие D.1) заведомо истинно, если для случайных независимых gi,..., дк вероятность события \Jt g>,X = G больше 0. Другими словами, Pr[G\ (Ui 9tX) ф 0} < 1. Вероятность того, что случайный сдвиг X не покрывает (не содержит) некоторый фиксированный элемент, равна по очевидным причинам 1 — |X|/|G'|. Вероятность того, что к случайных сдвигов не покрывают фиксированный элемент, равна A — IXI/IGD* (покрытия разными сдвигами — независимые события) Поскольку по- покрывается \G\ элементов, вероятность события Pr[G\ (|J,- giX) ф 0] не больше |6?| A - |X|/|G|) (вероятность объединения событий не больше суммы вероятностей этих событий). Итак, при l-jff)"<l D.3) условие D.1) заведомо выполняется. Рассмотрим теперь некоторый язык L Е ВРР. Для него, как объ- объяснялось выше, можно найти полиномиально вычислимый предикат R{x,y) и полином р(-) такие, что число |Хх|/2рAх1), где Хх = {у : (\у\ = — рAж1)) ^ ЩХ^У)}> различает слова, принадлежащие языку (для них оно больше 1-е), и слова, языку не принадлежащие (для таких слов это число меньше е). Параметр е мы выберем позже, сейчас отметим, что его величина может быть экспоненциально мала, как объяснялось на с. 36 после определения 3.1.
44 Классические вычисления Введём искусственно структуру группы на множестве слов у длины р(|а;|) так, чтобы произведение и обращение элемента в этой группе были полиномиально вычислимыми (например, в качестве групповой операции возьмём покомпонентное сложение по модулю два). Запишем следующее Ег-условие 3gu.--,9k4y((\y\=p(\x\))=> =» ((У ? 9iXx) V (у е д2Хх) V • • • V (у G дкХх))). Другими словами, рассматриваем такую игру: белые своим ходом назы- называют к слов (элементов группы), а чёрные — один элемент, который, по их мнению, не покрыт сдвигами множества Хх на слова </г-, названные белыми. Условие D.2) в этом случае имеет вид ек < 1, а условие D.3): 2р(|х|)?*: <- ^ дти условия выполняются при подходящем выборе па- параметров. Можно взять к порядка р(|ж|) и е порядка р^1(|ж|). ? Замечание 4.1. Имеется рассуждение, которое «показывает», что время вычисления функций из класса ВРР можно сделать, по-видимо- по-видимому, меньше 2" для любого е. Идея состоит в том, чтобы использовать генераторы псевдослучайных чисел. Такой генератор по набору битов длины к строит набор длины к', где к' 3> к. Если при этом выбирать ко- короткие наборы случайно, то длинные наборы будут распределены так, что вычислительное устройство с ограниченными ресурсами (напри- (например, полиномиальная машина Тьюринга) не сможет отличить их от по- настоящему случайных. Это пояснение заменяет точное определение псевдослучайного генератора, которое нам не понадобится. Существуют ли псевдослучайные генераторы, неизвестно. Их заве- заведомо нет, если Р = NP. Но в этом случае Р = ?2 = ВРР. Если же Р / NP и есть псевдослучайные генераторы, то можно на- находить за указанное выше время значение функции / € ВРР, вычисляя значения предиката R(x,y) из опр. 3.2 только для псевдослучайных у. Остаётся «небольшой» дефект в этом рассуждении: оно не прохо- проходит при Р ф NP и отсутствии псевдослучайных генераторов. Такая ситуация считается маловероятной. 4.2. Класс PSPACE. Как уже говорилось, в этот класс попада- попадают те функции, которые могут быть вычислены на МТ, использую- использующей память, ограниченную полиномом от длины входного слова. Класс PSPACE также можно описать, используя игры. Теорема 4.2. L Е PSPACE тогда и только тогда, когда сущест- существует такая игра с полиномиальным от длины входного слова числом
Иерархия сложностных классов 45 ходов и полиномиально вычислимым результатом, что L = {х Б име- имеет выигрышную стратегию]. Доказательство. <= Покажем, что язык, определяемый игрой, принадлежит PSPACE. Пусть число ходов ограничено р(|х|). Опреде- Определим по индукции набор машин Тьюринга М* для к = О,... ,р(|я;|). Ка- Каждая Mk по заданному началу игры x,w\, b\,... длины к определяет наличие выигрышной стратегии у Б. Последней в этом ряду машине Мр(|.ф нужно просто вычислить предикат W(x, tu1;...). Машина М). перебирает все возможные варианты (к + 1)-го хода и консультируется с Д/д. (-1 по поводу окончательных результатов игры. Её оценка игры составляется очень просто: если текущий ход у Б, то достаточно най- найти один ход, при котором Mk+i гарантирует выигрышную стратегию для Б. Если текущий ход у Т1, то при всех вариантах M^+i должна обнаружить выигрышную стратегию для Б. Машина Mq определяет наличие выигрышной стратегии для Б в самом начале игры и для её работы нам нужно использовать всю последовательность машин Мд.. Но каждая из этих машин использует небольшую (полиномиально ограни- ограниченную) память, так что весь процесс потребует лишь полиномиально ограниченной памяти. ==> Пусть есть машина М, распознающая вхождение слова в язык L на полиномиальной памяти. Во-первых, заметим, что вычисление на памяти S бессмысленно проводить дольше, чем время 2°^ (всё начнет повторяться после того, как мы исчерпаем все состояния нашей систе- системы, а их не более чем |<4|s-|Q|-5, где Q,A — соответственно множество состояний управляющего устройства и алфавит рассматриваемой МТ). Поэтому можно считать без ограничения общности, что время работы машины М ограничено 2я, где q = О(р(\х\)). Чтобы было проще описывать игру, потребуем, чтобы после завер- завершения вычисления МТ сохраняла без изменений достигнутое состояние. Игра заключается в следующем. Белые утверждают, что ответ на входном слове х равен «да», а чёрные хотят это проверить. Белые сво- своим первым ходом декларируют состояние машины М (строка, записан- записанная на ленте, положение читающей головки, состояние управляющего устройства) после 2q~1 тактов. Чёрные своим ходом выбирают один из промежутков: от начала до Bд-1)-го такта или от B?-1)-го такта до конца. Белые декларируют состояние М в середине этого промежутка. Далее всё повторяется: Ч выбирает одну из половинок, Б декларирует состояние М в середине выбранной половинки и т. д. Игра заканчивается, когда длина промежутка становится равной 1. Результат определяется так: для обоих концов этого промежутка в
46 Классические вычисления процессе игры были названы состояния М. Если состояние правого конца получается из состояния левого конца за один такт работы М, то Б выиграли, иначе выиграли Ч. Если ответ М на слове х действительно «да», то белым нужно всё время говорить правду, это гарантирует им выигрыш. Если ответ М на слове х — «нет», то при любом ходе белых на одном из промежутков (или на обоих) будет содержаться ошибка. Ч должен указывать каждый раз именно этот промежуток. ? Задача 4.1. Докажите, что класс языков, распознаваемых недетер- недетерминированными машинами, работающими на памяти S, содержится в классе языков, распознаваемых детерминированными машинами, рабо- работающими на памяти polyE). В качестве следствия теоремы 4.2 получаем включения всех опре- определённых выше классов Е^, Щ в класс PSPACE. Взаимное соотноше- соотношение этих классов можно изобразить диаграммой включений, показан- показанной слева. На этой диаграмме от большего класса к меньшему можно пройти, двигаясь по стрелкам. Внизу рас- располагается класс Р, отвечающий играм с О ходов, затем идут дополняющие друг друга классы, отвечающие играм с ко- конечным числом ходов (для одного хода это NP и co-NP, для двух ходов — Ег и П2 и т. д.). Завершается эта диаграм- диаграмма классом PSPACE, который определя- определяется произвольными играми с одним есте- естественным условием — время игры долж- должно быть полиномиально ограничено раз- ~ 1\ГР~"Л мером входного слова. Мы уже доказа- —^ ли все включения, изображённые на этой диаграмме. Ни про одно из включений, следующих из этой диаграммы, неизвест- неизвестно, является ли оно строгим. Быть может, скажем, Р = PSPACE. С дру- другой стороны, возможно и так, что PSPACE = EXPTIME. где ЕХРТТМЕ обозначает (не рассматривавшийся нами) класс языков, вычислимых за экспоненциальное время 2ро1у'п'. Впрочем, наиболее популярна гипоте- гипотеза о том, что все включения, изображённые на диаграмме - - строгие. Задача 4.2. Машина Тьюринга с оракулом А — это МТ с дополни- дополнительной оракульной лентой, куда она (машина) может записывать сло- слова, а затем за один такт работы проверять, принадлежит ли записанное
Иерархия сложностных классов 47 на оракульной ленте слово языку А. По двум сложностным классам X и У можно определить класс Ху таких языков, которые распознаются машинами из класса X с оракулами из У. Докажите, что PEfc = Рп* С Efc+1 П Щ+1. В классе PSPACE существуют полные задачи (относительно полино- полиномиальной сводимости). Простейший вариант получается применением предыдущей теоремы. Задача TQBF. Задаётся предикатом TQBF(x) О- х есть истинная булева формула с кванторами (True Quantified Boolean Formula), т.е. формула вида Qi 2/i ¦¦¦QnynF(yi,...,yn), где yi 6 В, F — некоторая логическая формула, а Q; — либо V, либо 3. По определению, (Vyi А{у\)) = = (Л@) Л ЛA)), а C У1 А{У1)) = (А@) V АA)). Теорема 4.3. TQBF PSPACE-полма. Доказательство. Построим сведение любого языка L ? PSPACE к задаче TQBF. Для этого превратим МТ, вычисляющую результат игры (предикат W(-)), в схему, а ходы игроков закодируем булевыми переменными. Тогда наличие выигрышной стратегии у белых задаётся условием где S(-) обозначает результат вычисления по схеме. Чтобы превратить 5 в булеву формулу, добавим новые переменные Уг (значение, вычисленное при г-м присваивании в схеме) и заменим S(-) на формулу вида 3 3/1,..., Зуразмер схемы (j/l *> -Rl) Л • • • Л (j/s Ф> Rs) Ays, где s — размер схемы, Щ — правая часть г'-го присваивания. После этой подстановки получим квантифицированную булеву фор- формулу, которая истинна в точности для х € L. D
Часть II Квантовые вычисления Как уже говорилось во введении, обычные компьютеры не исполь- используют всех возможностей, предоставляемых природой. В них выполня- выполняются преобразования на конечных множествах состояний (действия с О и 1), а в природе есть возможность делать унитарные преобразова- преобразования, т. е. действовать на бесконечном множестве.9) Эта возможность описывается квантовой механикой. Устройства (реальные или вообра- воображаемые), использующие эту возможность, называются квантовыми компьютерами. Заранее неясно, увеличиваются ли вычислительные возможности при переходе от преобразований конечных множеств к унитарным пре- преобразованиям конечномерных пространств. Сейчас есть основания по- полагать, что такое увеличение действительно происходит. В качестве примера можно привести задачу о разложении числа на множители: для обычных компьютеров неизвестны полиномиальные алгоритмы её решения, а для квантовых компьютеров такие алгоритмы есть. Обычный компьютер работает с состояниями из конечного чис- числа битов. Каждый бит может находиться в одном из двух состояний О или 1. Состояние всей системы задаётся указанием значений всех битов. Поэтому множество состояний В" = {0,1}" конечно и имеет мощность 2". Квантовый компьютер работает с конечными наборами элементар- элементарных состояний, называемых q-битами. Каждый q-бит имеет два вы- выделенных состояния (если считать q-биты спинами, то это состояния «спин вверх» и «спин вниз»). Указание выделенных состояний для ка- каждого q-бита системы задаёт не все возможные состояния системы, а только базисные. Возможны также любые линейные комбинации базис- базисных состояний с комплексными коэффициентами. Базисные состояния 9'Конечно, настоящей бесконечности в природе не бывает. В данном случае дело в том, что унитарное преобразование можно задать лишь с некоторой точностью — подробности см. в разделе 7.
Квантовые вычисления 49 мы будем обозначать \xi,... ,х„), где Xj e В, или \х), где х 6 1". Про- Произвольное состояние системы может быть представлено в виде10' \Ф) = Cxi,...,x \xi,...,xn), где ]Г сХ1,...,Хп Пространство состояний для такой системы — конечномерное (раз- (размерности 2") пространство над полем комплексных чисел. Состояние обычного компьютера D ? ••¦ ? биты Х\ Х2 ••• Хп Xj € В квантового компьютера D ? ••• ? q-биты Xj 6 В базисное: | xi, х2, •••, хп), произвольное: Е сх\х), где = 1 Небольшое уточнение: если умножить вектор ^х cx\x) на фазовый мно- множитель ег<р (if — вещественное), то получится физически неотличи- неотличимое состояние. Таким образом, состояние квантового компьютера — это вектор единичной длины, заданный с точностью до фазового мно- множителя. Вычисление можно представлять как последовательность преобра- преобразований на множестве состояний системы. Опишем, какие преобразо- преобразования возможны в классическом, а какие — в квантовом случае. Классический случай: преобразования — это фун- функции из В" в В" . Квантовый случай: преобразования — это унитарные операторы, то есть операторы, сохраняющие длину векто- ра ? Ы2. Замечание. Всё сказанное относится только к замкнутым систе- системам. Реальный квантовый компьютер — это часть большой системы (Вселенной), взаимодействующая с остальным миром. Квантовые со- состояния и преобразования открытых систем будут рассмотрены в раз- разделах 9-10. Теперь нужно дать формальное определение квантового вычисле- вычисления. Как и в классическом случае, можно определить квантовые ма- машины Тьюринга или квантовые схемы. Мы выбираем второй подход, который удобнее по ряду причин. 10) Скобки | ...) в записи \ф) не обозначают никакой операции над объектом ¦ф — они просто указывают на то, что ф является вектором.
50 Квантовые вычисления 5. Определения и обозначения Пространство состояний системы из п q-битов С2" можно записать в виде тензорного произведения С2 ® ... ® С2 = (С2) . Сомножители соответствуют пространству состояний одного q-бита. Тензорное произведение двух пространств L и М, в которых фик- фиксированы базисы {ei,..., е/} и {Д,..., fm}, можно определить как про- пространство с базисом из элементов ej <g> Д. (В данном случае е, <8> Д — это то же самое, что (е^, Д), т.е. просто пара векторов.) Размерность тензорного произведения равна 1т (произведению размерностей сомно- сомножителей). Такое определение неинвариантно, т. е. зависит от выбора базисов в перемножаемых пространствах. Можно дать инвариантное определе- определение. Для этого рассмотрим вначале пространство (бесконечномерное) с базисом е <8> /, где е € L, f е М — произвольные векторы из перемно- перемножаемых пространств. Тензорное произведение будет факторпростран- ством этого пространства по подпространству, порожденному векто- векторами вида (ei + е2) ® / - ei <g> / - е2 ® /, А(е <8> /) - (Ае) <g> /. Другими словами, указанные векторы считаются равными 0. Можно доказать, что данные определения эквивалентны. В нашем случае имеется естественный выделенный базис (соответ- (соответствующий выделенным состояниям): для С2 — {|0),|1)},а для (С2) — {|жх,..., хп)}, Xj ? В. Пространство С2 с выделенным базисом обозна- обозначается через В. Выделенный базис считается ортонормированным, это задаёт скалярное произведение на пространстве состояний. Коэффици- Коэффициенты сХ1^.^Хп разложения вектора \ф) по этому базису называются ам- амплитудами. Их физический смысл состоит в том, что квадрат модуля амплитуды |сХь...,х„\2 интерпретируется как вероятность обнаружить систему в данном базисном состоянии. Как и должно быть, суммарная вероятность всех состояний равна 1, поскольку длина вектора предпо- предполагается единичной. (Вероятности будут подробно обсуждаться позже; до некоторых пор мы будем заниматься линейной алгеброй — изучать унитарные операторы на пространстве В®"). Мы будем использовать (и уже использовали) принятые в физике обозначения, относящиеся к векторам и скалярному произведению в гильбертовом пространстве (их ввёл Дирак). Векторы обозначаются
Определения и обозначения 51 |?), скалярное произведение — (?Ь?)- Если |?) = ^2хо.х\х) и \rj) = = Si^xk), то (?\г]} = ^2xalbx. (Здесь и далее а* обозначает ком- комплексное сопряжение.) В записи векторов скобки нужны лишь «для красоты» — они указывают на тип объекта и придают симметрию обозначениям (см. ниже). Вместо |?) можно было бы написать просто ?, хотя это и не принято. Поэтому |?х +?2) = |?i) + |?г) — и то, и другое обозначает вектор ?i 4- ?2- Скалярное произведение антилинеино по первому аргументу11^ и ли- линейно по второму, т. е. (Ъ+Ш = <Ш + (Ш, Если в обозначении скалярного произведения взять левую половину, то получим бра-вектор (?|, т. е. линейный функционал на кет-векторах (векторах нашего пространства). Бра- и кет-векторы находятся во взаимно однозначном соответствии. (Тем не менее, нужно их как-то различать — именно для этого и были введены угловые скобки.) Из-за антилинейности скалярного произведения по первому аргументу имеем равенство (с?| = с*{?|. Бра-вектор можно записать в виде строки, а кет- вектор — в виде столбца (чтобы его можно было умножить слева на матрицу): |0=co|0)+Cl|l) = к Запись (?|.А|т7) {А — линейный оператор) можно толковать двоя- двояко: либо как скалярное произведение вектора (?| на вектор A\q), либо как — (?\А на \tj). Так появляется сопряженный оператор А<: по опре- определению, (.4^| (бра-вектор, соответствующий -4^)) равен линейному функционалу (?\А. Из определения сразу следует, что Унитарный оператор — это линейный оператор, сохраняющий ска- скалярное произведение. Условие эквивалентно тому, что U^U — I (где / — тождественный оператор). Паше определение скалярного произведения в В®п согласовано с тен- тензорным произведением: 11''Обратите внимание, что математики обычно считают, что скалярное произве- произведение в унитарном пространстве антилинеино по второму аргументу.
52 Квантовые вычисления В дальнейшем будет использоваться тензорное произведение операто- операторов. Оно действует в тензорном произведении пространств, на которых действуют сомножители, по правилу Если операторы заданы в матричном виде в некотором базисе, т. е. j.k (легко понять, что \j){k\ — линейный оператор: \j)(k\ |?) = (к\О\Л), то матричные элементы оператора С = А®В имеют вид Сц^Пт) = aji^km- Вычисление состоит из преобразований, считаемых элементарными (выполняемых за единицу времени). Элементарное преобразование в классическом случае: такая функция из В™ в В", которая зависит от небольшого (не за- зависящего от п) числа битов и изменяет также небольшое чи- число битов. Элементарное преобразование в квантовом случае: тензорное произведение произволь- произвольного унитарного оператора, действующе- действующего на части сомножителей В®Т, где г ма- мало (г = 0A)), и тождественного операто- оператора, действующего на остальных сомножи- сомножителях. Тензорное произведение некоторого оператора U, действующего на множестве q-битов А, и тождественного оператора, действующего на остальных q-битах, будем обозначать U[A]. (В частности, [/[1,..., г] = = U (g> / обозначает действие на первых г q-битах.) Пример 5.1. Приведём матрицу оператора Н[2], действующего в ( пространстве В®3. Оператор Я = V2 действует на второй q- бит, на остальных q-битах действие тождественное. Базисные векторы расположены в лексикографическом порядке: от |000) до |111). 0 0 0 1 0 0 -1 0 0 0 -10 0 0 1 0 0 0 1 0 1 0 0 0 1 0-1/ С этого места начинается вычислительная сложность. Пусть г = 2, тогда U — некоторая матрица 4x4, U <8> / — матрица размерности 2" х 2", у которой по диагонали стоят блоки из матриц U. Эта ма- 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 _ J 0 0 0 0 0 0 0 0 0 1 0 -1 0 0 0 0 0 1 0
Определения и обозначения 53 трица представляет один элементарный шаг. Когда применяется не- несколько таких операторов к разным парам q-битов, результат будет выглядеть гораздо сложнее. Не видно способа определить этот резуль- результат, кроме прямого перемножения матриц. Поскольку размеры матриц экспоненциально велики, потребуется экспоненциальное время для их перемножения. Заметим однако, что вычисление матричных элементов возможно на полиномиально ограниченной памяти. Пусть нужно найти матричный элемент Uxy оператора U = Очевидно, что lX = ? U&l_l.....U&0. E.1) (Здесь а,'о,..., Х{ — строки длиной п битов.) Для вычисления этой сум- суммы достаточно (I — 1)-го регистра для хранения текущих значений ?(_i,..., Xi, ещё одного регистра для хранения частичной суммы и не- некоторого фиксированного количества регистров для вычисления про- промежуточных произведений. Определение 5.1. Квантовая схема. Пусть А — некоторое мно- множество унитарных операторов (базис). Тогда квантовая схема в ба- базисе Л — это последовательность Ui[Ai],... ,Ui[Ai], где Aj — мно- множества q-битов, Uj € А. Оператор, реализуемый квантовой схемой. Это оператор U: В®" -> В®п, равный Ut[Ai] • ... • U^Ax]. Это определение не очень хорошо, так как не учитывает возмож- возможность использования дополнительной памяти в процессе вычисления. Поэтому дадим ещё одно определение. Оператор U: В®п —> В®11, реализуемый схемой в расширен- расширенном смысле. Это такой оператор, что произведение W = ЩА,] ¦... ¦ Ui[A!], действующее на N q-битов, N Js n, для любого вектора |?) ? В®п удовлетворяет условию Щ|?) ® |0^"")) = (С/|?)) ® |0N"n). Таким образом, мы «берём напрокат» дополнительную память, за- заполненную нулями, и должны возвратить ее в прежнем состоянии. Ка- Какой смысл имеет такое определение? Зачем нужно требовать, чтобы дополнительные q-биты вернулись в состояние |0^~п)? На самом де- деле это условие чисто техническое, однако важно, чтобы вектор состо- состояния в конце вычисления был разложим, т.е. имел вид |?') ® |т;') (с
54 Квантовые вычисления произвольным |?/')). Если это так, то первая подсистема находится в определённом состоянии |?'), поэтому про вторую подсистему (допол- (дополнительную память) можно забыть. В противном случае, совместное со- состояние двух подсистем оказывается «запутанным» (entangled), поэто- поэтому первую подсистему нельзя отделить от второй. о... Нельзя отсоединить квантовый принтер от квантового компьютера, пока идёт работа, иначе один или оба прибора испортятся.» А. Шень 6. Соотношение между классическим и квантовым вы- вычислением Классический объект, соответствующий унитарному оператору, — перестановка. Любой перестановке G:Mk -> В* естественно сопоста- сопоставляется унитарный оператор G в пространстве В®к, действующий по правилу G\x) = \Gx). Аналогично определению 5.1, можно определить обратимые класси- классические схемы, реализующие перестановки. Определение 6.1. Обратимая классическая схема. Пусть Л — некоторое множество перестановок вида G: Bk —)¦ В* (базис). Обра- Обратимая классическая схема в базисе А — это последовательность пе- перестановок Ui[A\],. ., ?//(/!(], где Aj — множества битов, Uj Е А. Перестановка, реализуемая обратимой схемой. Это произ- произведение перестановок Ui[A{\ ¦... ¦ Ui[Ai]. Перестановка U, реализуемая схемой в расширенном смы- смысле. Это такая перестановка, что произведение перестановок (действующее на N битов, N ^ п) для любого л t Bn удовлетворяет условию W(x,0N~n) = (Ux,0N~n). В каких случаях функцию, заданную булевой схемой, можно реали- реализовать обратимой схемой? Обратимые схемы реализуют только пере- перестановки. Преодолеть эту трудность можно так. Вместо ьычисления функции F: В" -»• Вт будем вычислять функцию Ь&: Шп+т ->• Bn+m, заданную соотношением F$(x,y) = (х,у © F(x)) (здесь Ф означает по- побитовое сложение по модулю 2). Тогда значение F(x) можно получить так:
Соотношение между классическим и квантовым вычислением 55 Чтобы можно было вычислять функции, заданные булевыми схе- схемами в полном базисе, недостаточно взять базис для обратимых схем из перестановок на двух битах. Оказывается, что любая перестанов- перестановка на двух битах д: В2 —> В2 является линейной функцией (при есте- естественном отождествлении множества В и поля из двух элементов ?¦>): д(х, у) — (ах © by © с, dx © еу © /). где о, Ь, с, d, е, / ? F2. Поэтому все функции, вычисляемые обратимыми схемами в базисе из перестановок на двух битах, являются линейными. А вот перестановок на трёх битах уже достаточно, чтобы реализо- реализовать любую функцию. При этом не обязательно использовать все пе- перестановки, достаточно включить в базис лишь две функции — от- отрицание — и элемент Тоффоли Л®: (x,y,z) н» (x,y,z(Bxy). При этом имеется в виду реализуемость в расширенном смысле, т.е. можно брать напрокат биты в состоянии 0 и возвращать их после окончания вычи- вычислений в том же состоянии. Задача 6.1. Докажите для обратимых схем полноту базиса, состоя- состоящего из отрицания и элемента Тоффоли. Лемма 6.1. Пусть функция F: В" —> В реализуется булевой схе- схемой размера L в некотором базисе А. Тогда можно реализовать функцию (х,0) i-> (F(x),G(x)) обратимой схемой размера O(L) в ба- базисе А®, состоящем из функций /$ (/ € А), а также функции ©: (х,у) н-> (х,х &у). Замечание 6.1. Помимо «полезного» ответа F(x) схема, указанная в формулировке леммы, производит «мусор» G(x). Замечание 6.2. Содержательный смысл операции ф — обратимое копирование бита (если начальное значение у равно 0). В литературе эта операция обычно называется Controlled NOT по причинам, которые станут ясными из дальнейшего. Замечание 6.3. Применяя функцию (о): (а, Ь) н-> F, а) можно ме- менять биты местами в записи. Обратите внимание, что для перестановок битов достаточно также иметь в базисе @, так как Доказательство. Возьмём схему, вычисляющую F. Пусть входные переменные — это х\,... ,хп. Вспомогательные переменные схемы и биты результата — это xn+i,... ,хп+ь\ в обратимой схеме сопоста- сопоставим им дополнительные биты, имеющие в начальном состоянии зна- значение 0.
56 Квантовые зычигления Каждое присваивание в схеме имеет вид хп+к -.— fk(xjk,... ,xik), fk ? -Л, jk,... ,lk < n + к. В обратимой схеме аналогом присваивания будет действие перестановки (xjk,... .х,к,х„+к) := (fk)s>(xjk, ¦ ¦ ¦ ,xlh, ¦r-n+k), т.е. хп+к := хп+к Ф fk(xjk,... ,xik). Поскольку начальные значения дополнительных переменных были равны 0, их конечные значения будут такими же, т'ак и в булевой схеме. Осталось поменять местами биты, чтобы получить указанный в условии формат ответа. Весь процесс вычисления удобно представить следующей схемой (над прямоугольниками подписано количество битов, внутри — их со- содержимое): присваивания по схеме перестановки битов ? n X X L — m 0 Xn + l -.. XL-m m 0 Fix) F(x) Лемма 6.2 (очистка мусора). В условиях леммы 1 можно произве- произвести вычисление функции F^ обратимой схемой размера O(L + п + т) (с использованием дополнительных битов). Доказательство. Для очистки мусора будет использов.ана обрати- обратимость. Изобразим процесс вычисления /ф схемой, аналогичной той, что приведена в доказательстве леммы 6.1. т F{x) F{x) О L + n т ад ад rn т V F(x) ф ;v F(x) © вычисление по схеме из доказа- доказательства лмммы 6.1 сложение и у по модулю 2 оораще-ние вычисченпи, сделанных т:а первом шаге ? Замечание 6.4. Обратимыми вычислениями заш терееовались при попытке ответить на вопрос, какая энергия необходима для вычислений (классических). Анализ показал, что потери энергии можно устремить к нулю для всех вычислительных операций, кроме необратимых- Когда
Соотношение между классическим и квантовым вычислением 57 производится необратимая операция (например, стирание бита), два различных логических значения @ и 1) становятся одинаковыми @). Однако физические законы на микроуровне являются обратимыми, по- поэтому отличие между старыми состояниями @ и 1) должно сохраниться в каких-то неконтролируемых физических степенях свободы. Это мож- можно интерпретировать как возрастание беспорядка (энтропии), которое в конечном счете проявится в окружающей среде в виде тепла. Величи- Величина энергии, требуемой для стирания одного бита, очень мала (~ кТ), но конечна. Потеря энергии из-за необратимого стирания информации при форматировании жёсткого диска ёмкостью 1 Гб равна 3- 10~п Дж, что примерно соответствует затратам энергии на сдвиг головки диска на половину диаметра атома водорода. Это на много порядков меньше реального перемещения головки при форматировании. С .другой стороны, сечи ёмкость дисков будет расти столь же бы- быстро, как в настоящее время, то к концу XXIII века для форматирова- форматирования жёсткого диска потребуется энергия, соответствующая годовому излучению Солнца. Лемма об очистке мусора показывает, что можно избежать таких потерь энергии, связанных с необратимостью вычислений. Можно также показать, что любое вычисление, требующее памя- памяти L, можно реализовать обратимым образом с использованием памя- памяти, не превышающей L '1'. Приведём набросок доказательства. Поскольку задача TQBF PSPACE-полна. то достаточно вычислять на небольшой памяти значение формулы 3*1 Vу/1 ... Зхм Уум f{xi,yi,...,XM,VM,z) F.1) при условии, что /(•) вычислима булевой схемой небольшого размера L. Покажем, что в этом случае значение формулы 6.1 можно вычислить на памяти O(L-\ M). Вычисление будет организовано рекурсивно, начиная с внутренних кванторов. Чтобы вычислит! ^х F(x,;:). вычислим F@.z), занесём результат r одну дополнительную ячейку, затем вычислим F(l,z) и занесём ре- результат в .другую ячейку. После вычислим \/х F(x, z) = F@, z) AF(l. z) и результат занесём в третью ячейку. Чтобы убрать мусор, прокрутим все вычисления, кроме последнего шага, в обратном направлении. Разобравшись аналогичным образом с формулой Зх F(x.z), при- приходим к такому выводу: добавление квантора по булевой переменной увеличивает требуемую память не более чем на константу битов. В заключение сформулируем теорему о вычислении обратимых фун- функций, которая является прямым обобщением леммы 6.2.
58 Квантовые вычисления Теорема 6.1. Пусть F и F 1 вычислимы булевыми схемами разме- размеров <С L. Тогда F реализуется обратимой схемой размера O(L + п). Доказательство. Даётся следующей схемой вычислений (для про- простоты не указаны биты, которые «берутся напрокат» при вычислении из леммы 6.2). X » х \F(x) F(x) F(x) X 0 вычисление Fq по схеме и:» доказательства леммы 6.2 перестановки битов применение (F~l)($ (по схеме из доказательства лем- мы 6.2) даёт в правом регистре х ад F~l(F(x)) = О 7. Базисы для квантовых схем Как выбрать базис для вычислений в квантовых схемах? Унитар- Унитарных операторов бесконечно много, поэтому либо полный базис дол- должен содержать бесконечное количество элементов, либо мы должны ослабить условие точной реализуемости оператора схемой, заменив его на условие приближённой реализуемости. Мы рассмотрим обе возмож- возможности. Точная реализация. Теорема 7.1. Базис, содержащий ей цнптаарные Ьператоры, дей- ствующие на парах q-битов, позволяет!, рсилтоьать любой унитаар- ьый оператор в расширенном смысле. Для доказательства этой теоремы введем важный класс операторов: операторы с квантовым управлеигем. Определение 7.1. Определим по .^лсрагпору L' В у" —> В®п опе- оператор A(U): В <8> В®п -> В ® В®п с 1ъг,ан.т<\>,чым управляющим q-битом (первый сомножитель) следу-¦m,utui. соотношенилма: Графически будем изображать оператор А(Х) с квантовым угцк'злени^м как показано на рисунке. Верхняя линия соответствует пер- первому сомножителю, нижняя линия — г-тсрому.
Базисы для квантовых схем 59 Направление стрелок соответствует направлению перемножения опера- операторов (справа налево). Нам потребуются также операторы с несколькими управляющими q-битами: xi,...,x/t)<8>|f)i если х2 ¦ ...-х*. = О, 1,..., xjt) <8> ?Л0> если ^1 ¦ ... -Xk = I- G.2) Пример 7.1. Пусть ах = ^ = . Тогда Л(стх) = ©, аЛ2(стх) = = Аф (элемент Тоффоли). Теперь построим элемент Тоффоли, используя преобразования двух q-битов. Для начала найдем пару операторов, удовлетворяющих сле- следующему соотношению XYX~1Y = iax. Например, годится такая пара: jr-JLf1 Л. y-A 0> А-^2^г lj' У-^0 -1, Поясним геометрический смысл этой конструкции. Унитарная груп- группа UB) действует на трёхмерном евклидовом пространстве. Чтобы описать это действие, заметим, что эрмитовы матрицы 2 х 2 с нуле- нулевым следом образуют трёхмерное евклидово пространство: скалярное произведение задаётся формулой - Tr(XY), ортонормированный базис образуют матрицы Паули ,1 0 Г [г 0 а = а — 1 0 0 -1 Унитарный оператор V € UB) действует на этом пространстве так: U': Е i-> UEU~X. Можно доказать (см. [8, §11.12]), что описанное дей- действие задаёт изоморфизм UB)/U(l) = SOC), где U(l) — подгруп- подгруппа фазовых сдвигов, a SOC) — группа поворотов в трёхмерном про- пространстве (т. е. группа ортогональных преобразований с детерминан- детерминантом, равным 1). При этом действии ах соответствует поворот вокруг оси х на 180°, X соответствует поворот вокруг х на 90°, a Y соответствует поворот вокруг z на 180°. На рис. 1 изображено графическое представление схемы, вычисля- вычисляющей элемент Тоффоли с помощью операторов А(Х), A(Y) и Л2(—г). Последний — это управляемый двумя битами фазовый сдвиг (умно- (умножение на —г). Проверим эту схему. Пусть на вход подаётся вектор \а) (8) \Ь) (8) |?), где а, Ь е В, \Q ? В. Если а = Ъ = 1, то к |?) будет
60 Квантовые вычисления Рис. 1. применён оператор — iXYX lY 1 = ах, т.е. |0) и |1) в третьем q-бите переставляются. Если же хотя бы один из управляющих битов равен 0, то к |?) будет применён тождественный оператор. Это и есть действие элемента Тоффоли. С помощью элемента Тоффоли можно реализовать любую переста- перестановку базисных векторов (с использованием дополнительной памяти). Покажем, как реализовать оператор Л*(С/) для любого к, действуя только на пары q-битов. Для этого также потребуется дополнительная память. Будем строить оператор W, действующий в пространстве N q-битов B®N и удовлетворяющий условию W (|t/> ® I0"-*-1» = A(U)\t)) ® lO^-'). (Предостережение: это условие не означает, что W = Л(С7) <8> /.) Существует обратимая схема Р размера О(к), вычисляющая произ- произведение входных битов (с мусором); графически она представлена на рис. 2 (сверху обозначено число битов в каждом из выделенных фраг- фрагментов памяти). 1 N - 1 N - к XiX2 ¦ .. .-Хк G{xv,...,xk)\ . . . , Хк 0 Рис. 2. На рис. 3 показано, как с помощью схемы Р и оператора с одним управляющим q-битом построить оператор Л';(Г/). Мы применяем схе- схему Р, а затем — обратную схему Р""', после чего все вспомогательные биты возвращаются в исходное состояние. В промежутке самой верхней линии соответствует бит со значением х\ ¦... ¦ хь ¦ Его мы и ш пользуем для управления оператором U, действующим г;а '¦ямой нижней линии. Другим способом Ak(U) можно записать как Р h{U)P. Действие Ak(U) можно описать так: на подпространстве, порож- порождённом векторами |1,..., 1,0) и |1,..., 1,1), действует оператор U, а на
Базисы для квантовых схем 61 х2 +- p-1 XI ¦ Х2 ¦ ¦ . . • Хк ад Рис. 3. ортогональном дополнении к этому подпространству — тождествен- тождественный оператор. Наша следующая задача: реализовать оператор, который устроен так же, но нетривиальное действие осуществляется на под- подпространстве, натянутом на произвольную пару базисных векторов. Пусть мы хотим реализовать произвольный оператор в подпростран- подпространстве, натянутом на базисные векторы |х) и \у), где х = (xi,... ,хп), у = (yi,... ,уп), Xj, yj б В, Пусть / — такая перестановка, что /(х) = A,..., 1,0), f(y) = A,..., 1,1). Тогда нужный нам оператор предста- представляется в виде f~1An~1(U)f. (Напомним, что / — оператор, соответ- соответствующий перестановке /.) Итак, на парах базисных векторов мы можем действовать произ- произвольно. Пока все использованные схемы имели размер О(п), так что построенные действия реализуются эффективно. Следующая часть не- неэффективна. Имеет место следующая лемма. Лемма 7.1. Любая унитарная матрица U в пространстве См мо- может быть представлена в виде произведения М(М — 1)/2 матриц вида /1 0 \ о о о о 1 О fa b iC d 0 0 '¦¦ о ... 1/ ' где
62 Квантовые вычисления Заметим, что в нашем случае М = 2™, так что получаем представле- представление в виде произведения экспоненциального большого числа базисных операторов. Приближённая реализация. Теперь перейдём к конечным базисам. В этом случае возможно только приближённое представление операто- операторов произведениями базисных. Чтобы определить приближённую реа- реализацию, нам потребуется норма на пространстве операторов. На пространстве состояний есть норма |||f)|| = \AslO- Она, как и любая норма, по определению удовлетворяет следующим условиям: =0, если |0= 0, >0, если Ю^О; (''6) 10+ 1ч>И || 10||+ ||to)||; G-4) Введём теперь норму на пространстве операторов. Пусть А' — про- пространство с нормой. Пространство операторов, действующих на нём, можно представить как L(A") — j\r®Af* (изоморфизм задается матрич- матричным представлением Yl ajk\j)(k\)- Определение 7.2. Норма оператора X (так называемая оператор- операторная норма, вообще говоря, есть и другие) равна \\X\\ = sup 10*о Заметим, что ||Х||2 — наибольшее собственное число оператора Х^Х. Эта норма обладает всеми перечисленными выше свойствами нор- нормы, а кроме того, еще несколькими специфическими: \\XY\\<:\\X\\\\Y\\; G.6) 11**11 = 11*11; G-7) НА" ® ГЦ = \\X\\ ||У||, где X е L(A'), Y ? L(M). G.8) Доказательства этих свойств нормы получаются непосредственно из определения и оставляются в качестве упражнения. Дадим теперь определение приближенной реализуемости. Если ис- искомый оператор — U, то его приближённая реализация будет обозна- обозначаться U. Определение 7.3. Оператор U представляет оператор U с точ- точностью S, если \\U — U\\ ^ 6.
Базисы для квантовых схем 63 У этого определения есть два замечательных свойства. Во-первых, если мы имеем произведение нескольких операторов U = Ul • ¦ ¦ ¦ • U2U1, каждый из которых имеет свое приближение Uk с точностью 8k, то произведение этих приближений U = Ul • ¦ ¦ ¦ • UiU\ приближает U с точностью Y1 &к (ошибки накапливаются линейно): з Достаточно рассмотреть пример с двумя операторами: \\п2п1 - вд|| = \\и2ф, - их) + ф2 - и2)и1\ В этой выкладке последнее равенство справедливо благодаря унитар- унитарности операторов. (Если рассматривать неунитарные операторы, то ошибки приближения могут накапливаться гораздо быстрее, например, экспоненциально.) Замечание 7.1. Всякая модель, претендующая на решение сложных задач какими-то реальными физическими процессами, должна обяза- обязательно изучаться на предмет устойчивости к ошибкам приближения. (В реальной жизни параметры любого физического процесса можно задать лишь с некоторой точностью.) В частности, вычисление с экс- экспоненциальным накоплением ошибок почти заведомо бесполезно с прак- практической точки зрения. Второе свойство понятия «U представляет U с точностью 6» мы сформулируем в более общем контексте. Определение 7.4. Оператор U: Б®п -> В®п приближается в расширенном смысле оператором U: B®N —> B®N с точностью 6, если для любого |?) из Б®п выполнено \\U (Ю 0 10"-")) - U\0 ® |0"-")|| < 6\\Ю\\. G.9) Сформулируем это определение ещё одним способом. Введём опе- оператор V: Б®п -4 B®N, который действует по правилу V: |?) н-> |^) (8) (g) 10^-"). Оператор V не унитарный, но изометричный. Условие из по- последнего определения можно переписать так \\UV-VU\\^S. G.10) Рассуждение про накопление ошибок проходит и в этом случае (что, конечно, следует проверить).
64 Квантовые вычисления Справедливо следующее утверждение: если U приближает (в расши- расширенном смысле) U с точностью 6, то U~1 приближает U с той же точностью 6. Это следует из того, что ЦИ^ХИ^Н = ||А"|| для унитар- унитарных операторов Wi, W%. Умножая выражение под нормой в G.10) слева на U~1, а справа — на U~1, получим следствие из неравенства G.10): \\u-xv -vu~l\\ О- Определение 7.5. Будем называть базис Л полным, если любой унитарный оператор U можно с любой точностью представить в расширенном смысле квантовой схемой в базисе Л. Теорема 7.2 (см. [4]). Базис Q = {Н,К,А(ах),А2(ах)}, где н = ^Lf1 Л к = А у/2\1 -1J' V0 является полным. (Такой базис будем называть стандартным.) Доказательство этой теоремы следует из решения задач 7.5-7.9. Замечание 7.2. Если убрать из базиса Q квантовый элемент Тоф- фоли, он перестает быть полным. Однако многие важные вычисления можно делать и в таком усеченном базисе. В частности, как будет вид- видно в дальнейшем, схемы, исправляющие ошибки, можно реализовать без элемента Тоффоли. Можно оценить сложность реализации оператора U в этом базисе. Если U: В®п —> S®'1, то можно реализовать этот оператор с точностью 6 квантовой схемой в базисе Q размера L = ехр(О(п)) • poly(log(l/<?)). Если матричные элементы U заданы в двоичной записи, то эта схе- схема строится по U с помощью некоторого алгоритма примерно за то же время (множители и степени полинома могут отличаться). Идея по- построения такого алгоритма легко усматривается из задач 7.1 и 7.11. Задачи 7.1. Докажите, что все операторы на одном ([-бите в сочетании с оператором А(ах) образуют полный базис. Решение должно быть доста- достаточно эффективным: должен существовать алгоритм, который строит схему, реализующую произвольный оператор U на п ([-битах, за время exp((9(n)) -poly(log(l/(J)). 7.2. Докажите гнойств;:, операторной нормы G.0- 7.8! 7.3. Пусть операторы Uk приближают в расширенном смысле опера- операторы Uк с точностью ё/., 1 ^ к ^ L. Докажите, что оператор L'l ¦.. .¦ V]
Базисы для квантовых схем 65 приближает в расширенном смысле оператор Ul • • • ¦ • U\ с точно- точностью Yl &k ¦ 7.4. Пусть оператор U приближает в расширенном смысле опера- оператор U с точностью S. Докажите, что существует оператор W, точно представляющий U в расширенном смысле, т. е. выполняется равенство W (Ю ® |0дг-")) = (?/|0) ® 10^""), и такой, что \\W - U\\ ^ 0F). 7.5. Пусть унитарный оператор U: Z3®" —> Z?®" удовлетворяет усло- условию f/|0) = |0). Постройте реализующую A(U) схему размера 6п + 1 в базисе Q U {U}, использующую оператор U один раз. 7.6. Пусть X, Y — некоммутирующие элементы группы SOC) — повороты на углы, несоизмеримые с тт. Докажите, что группа, по- порождённая X и Y, образует всюду плотное подмножество в SOC). 7.7. Пусть М. — унитарное пространство размерности ^ 3. Рас- Рассмотрим подгруппу Н С и(Л4) — стабилизатор одномерного подпро- подпространства, порождённого некоторым единичным вектором Ю G ЛЛ. Пусть V — произвольный унитарный оператор, не сохраняющий под- подпространство С(|?))- Докажите, что множество операторов H\JV~1HV порождает всю группу XJ(M.). (Заметим, что в условии этой задачи XJ(M) и Н можно профакто- ризовать по подгруппе фазовых сдвигов U(l)). 7.8. Докажите, что операторы из стандартного базиса порождают всюду плотное множество в U(Z3®2)/UA). 7.9. Докажите, что фазовые сдвиги можно реализовать в стандарт- стандартном базисе, используя напрокат дополнительные q-биты. 7.10. Докажите, что отрицание ах и элемент Дойча Л2(Л), где R = — гехр(тгг'а<тх), а — иррациональное, образуют полный базис для квантового вычисления. 7.11. Докажите, что любой оператор U, действующий на одном q-бите, может быть приближённо реализован в расширенном смысле с точностью 6 схемой размера O(log3(l/<5)) в стандартном базисе, и есть полиномиальный алгоритм построения этой схемы по описанию U. Эта задача довольно сложна, к её решению лучше приступать после знакомства с разделами 11 и 12 и решения задачи 12.3 (квантовое пре- преобразование Фурье). Предлагаемый путь решения является достаточно изощрённым. В статье [4] был использован более прямой (но тоже неоче- неочевидный) подход, при котором получается схема размера poly(log(l/E)).
66 Квантовые вычисления 8. Определение квантового вычисления. Примеры «... Мы не можем применить здесь здравый смысл, мы можем только стремиться понять внутреннюю ло- логику этого безумия, которая наверняка есть...» А. Шень Пока мы описали работу квантового компьютера. Теперь пора опре- определить, когда эта работа приводит к решению интересующей нас за- задачи. Определение будет похоже на определение вероятностного вычи- вычисления. Пусть есть функция F: В™ —> Вт. Рассмотрим квантовую схему, ра- работающую с N битами: U — Иь ¦ ¦ ¦ ¦ ¦ U2U\: B®N -> B®N. Неформально говоря, эта схема вычисляет F, если после применения U к начальному состоянию \х, 0N~n), мы, «посмотрев» на первые m битов, с большой ве- вероятностью «увидим» F(x). (Остальные q-биты могут содержать про- произвольный мусор.) Нужно только оговорить, что такое эта вероятность. Слова «посмо- «посмотрев» и «увидим» в точном смысле означают, что производится измере- измерение значений соответствующих q-битов. В результате измерения могут получаться разные ответы, каждому соответствует своя вероятность. Ниже (раздел 9) этот вопрос рассматривается подробно. Для того, что- чтобы дать определение квантового вычисления функции F, достаточно (не вдаваясь в обсуждение физических объяснений этого факта) при- принять следующее: вероятность получения базисного состояния х при измерении состояния \ф) = ^2хсх\х) равна Р{\ф),х) = \сх\2. (8.1) Нас интересует вероятность того, что компьютер закончит работу в состоянии вида (F(x),z), где z — любое. Определение 8.1. Схема U = Ui •... • U^Ui вычисляет F, если для любого х выполнено 2_^\\.t (x),z\u \x,u )\ ? 1 - е, Z гдее — некоторое фиксированное число, меньшее 1/2. {Обратите вни- внимание, что F{x) и х состоят из разного количества битов, хотя сум- суммарная длина {F{x),z) и {x,0N~n) одинакова и равна N.) Как и для вероятностных вычислений, выбор е несущественен, по- поскольку можно запустить несколько экземпляров схемы независимо и выбрать тот результат, который получается чаще всего. Из оценки,
Определение квантового вычисления. Примеры 67 приведённой на с. 36, следует, что для уменьшения вероятности неуда- неудачи в N раз нужно взять O(log N) экземпляров схемы U. Выбор самого частого результата реализуется классической схемой, использующей функцию голосования MAJ(xi,... ,хп) (она равна 1, когда более поло- половины её аргументов равны 1, и равна 0 в противном случае). Функция MAJ(x\,..., хп) реализуется в полном базисе схемой размера О(п log n), так что потеря эффективности при уменьшении вероятности неудачи в N раз задаётся множителем (?(mlog./Vloglog./V). Задача 8.1. Докажите, что приведенное рассуждение является кор- корректным в квантовом случае: функция MAJ§ реализована в виде обра- обратимой схемы, на вход которой подаются выходные q-биты п копий схе- схемы U. 8.1. Квантовый поиск: алгоритм Гровера. Итак, мы имеем опреде- определение квантового вычисления. Теперь можно заняться сравнением эф- эффективности классического и квантового вычисления. Во введении упо- упоминались три основных примера, для которых квантовое вычисление оказывается, по-видимому, эффективнее классического. Мы начнём с того из них, в котором квантовое вычисление заведомо эффективнее (хотя ускорение лишь «полиномиальное»). Дадим определение универсальной переборной задачи в классиче- классической и квантовой постановке. Пусть имеется устройство (см. рисунок), ко- которое по входам х и у определяет значение неко- некоторого предиката Л(х,у). Нас интересует пре- предикат F(x) = 3y Л{х,у). Это похоже на опреде- определение класса NP, но сейчас нам недоступна вну- внутренняя структура устройства, вычисляющего предикат Л. В таких условиях на классическом компьютере значение предиката F(x) нельзя вычислить быстрее, чем за N = 2п шагов, где п — количество битов в записи у. Оказывается, что на квантовом компьютере можно вычислить зна- значение предиката F(x) и даже найти у, на котором выполнено Л(х, у), за время O(vN). Получены также и нижние оценки, показывающие, что в этой постановке квантовые устройства дают лишь полиномиальное ускорение по сравнению с классическими. В квантовой постановке задача выглядит так. ¦** Вход х по-прежнему классический, но сам «чёр- ''' ный ящик» — квантовое устройство, и вход у ill/)
68 Квантовые вычисления (варианты ответа) мы будем считать квантовым. Поэтому наш оракул (или «чёрный ящик») задаёт оператор Ux, действующий по правилу х\У/ - | -\у), если Л(х,у) = 1. Нужно вычислить значение F(x) и найти «ответ» у (при котором выполнен Л(х, у)). Результаты, о которых уже упоминалось, формулируются так (см. [31, 48]): существуют две константы С\ и С?, такие, что есть схема размера ^ C\\/~N, решающая задачу для любого предиката Л(х,у); а для любой схемы размера ^ Сгч/ТУ существует предикат Л(х,у), при котором задача не решается на этой схеме (т.е. схема даёт неправильный ответ с вероятностью > 1/3). Мы разберём упрощённую постановку: считаем, что «ответ» суще- существует и единствен, обозначим его через уо\ нужно найти уо- Схема, которую мы для этого построим, будет примером «прямого» квантово- квантового вычисления; она будет описана в терминах преобразований базисных векторов. Рассмотрим два оператора: и = 1-2\уо)(уо\ и V = I — 2|?)(?|, где |?) = N \у)- v Оператор V в матричной форме может быть записан так (напо- (напомним, что N — 2П): 1 -1\ V = \ "А7 ¦" х ~ ~nJ Оператор U нам задан (это оракул). Построим квантовую схему, вычисляющую V. Действовать будем так: переведем |?) в |0п) некото- некоторым оператором W, затем применим оператор Y = I — 2|0п)@п|, после чего применим W~l. Построить оператор W, который переводит |?) в |0п), просто. Это W = Я®п, где оператор Н — из стандартного базиса (см. с. 64). Дей- Действительно, |?) = —т= (|0) + |1)) ", аЯ: —т= (|0) + |1)) ь> |0). V2n V2
Определение квантового вычисления. Примеры 69 Теперь построим реализацию оператора Y. Используем обратимую классическую схему, реализующую оператор Z: Bn+1 —> Bn+1, Z\ao,...,an) = |а0 ®/(ai,a2,...,an),ai,...,an); 1, если а\ = ... = а„ = О, О, если 3 j : а, ф 0. /(аь...,а„) = (С точностью до перестановки аргументов, Z = /$.) Поскольку / име- имеет малую схемную сложность (в классическом смысле), по лемме 6.2 для вычисления Z существует небольшая схема (в которой «берутся напро- напрокат» дополнительные q-биты). Схема, реализующая оператор V, изображена на рис. 4. Центральная часть, включающая в себя Z, az и Z, реализует оператор Y. В схеме используется оператор <т2 = К2 (К из стандартного базиса). а0 =0 Рис. 4. Заметим, что W2 и Z2 действуют тождественно на векторах с нуле- нулевыми значениями q-битов, взятых напрокат. Поэтому решающую роль играет оператор az, действующий на вспомогательный q-бит, который также не меняется после всего вычисления. Пусть вас не смущает то, что az действует только на «управляемый» q-бит, а меняется в результате весь вектор. Вообще, различие между «чтением» и «записью» в квантовом случае неабсолютно и зависит от выбора базиса. Приведём соответствующий пример. Напишем матрицу А(ах): \а, Ь) а, афб) в базисе —р (|0) ± |1)) для V2 каждого из q-бит. Другими словами, запишем матрицу для оператора X = (Н й Н) \(ах) (Н ®Н). Схема для этого оператора изображена
70 Квантовые вычисления Рис. 5. на рис. 5. Используя равенство А(ах)\с, d) = \c,c(B d), найдём действие X на базисном векторе: c,d = i (Я ® Я) c,d {-l)a'c+b>{c+d)(-l)ac+bd\al,b') = а' ,6',c,d 2S»'b ь')\а', b') = \а(ВЬ, b). a',b' 1 Итак, в базисе —r= (|0) ± |1)) управляющий и управляемый биты поме- у 1 нялись местами. Какой бит «управляющий», или какой «читается», зави- зависит от выбора базиса. Разумеется, такое положение дел противоречит нашей классической интуиции. Трудно представить, как при перехо- переходе к другому базису квантовый принтер вдруг становится квантовым сканнером. Задача 8.2. Что будет, если изменить базис только в одном бите? Например, как будет выглядеть матри- матрица оператора, схема которого изображе- на на рисунке? Попробуйте также поме- поменять базис в другом бите. Вернёмся к построению схемы для универсальной переборной за- задачи. Оракул U = I — 2\уо)(уо\ нам задан, и мы реализовали оператор V = I — 2|?)(?|. Из вектора |0п) можно получить вектор |?) применением оператора W (W2 = I). Теперь с помощью операторов U и V постро- построим из вектора |?) искомый вектор \уо). Для этого будем поочередно действовать операторами V, U: Что при этом получается? Геометрически оба оператора есть отра-
Определение квантового вычисления. Примеры 71 жения относительно гиперплоскости. Подпространство ? = С(|?), |у0)) инвариантно относительно обоих операторов, а, значит, и относитель- относительно VU. Поскольку вектор |?) принадлежит этому подпространству, достаточно рассмотреть действие VU на нём. Композиция двух отражений относитель- относительно двух прямых есть поворот на удвоенный угол между этими прямыми. Угол легко вы- 1 (Л числить, (?\уо) = —-== = sin^j-, т.е. эти пря- прямые почти перпендикулярны. Поэтому можно написать VU = -R, где R — поворот на ма- малый угол (р. Но тогда (VU)' = (-1)"RS, где \ R" — поворот на угол s(p. Знак нас не инте- i ресует (фазовые множители не меняют веро- вероятностей). При больших N имеем tp fa 2/^/N. Тогда после s fa tt/4\/N итераций исходный вектор повернется на угол s(p » тг/2 и станет бли- близок к искомому вектору. Это и означает, что система окажется в со- состоянии \уо) с вероятностью, близкой к единице. Если решается переборная задача в общей постановке (т.е. отве- ответов может быть несколько, а может не быть вообще), требуются до- дополнительные технические ухищрения. Число шагов для поворота от исходного вектора к какому-нибудь вектору из подпространства, по- порожденного векторами ответов, обратно пропорционально корню из числа решений. 8.2. Универсальная квантовая схема. Второй из примеров, упомя- упомянутых во введении, — моделирование квантовомеханических систем. Это нечётко поставленная задача, так как большую роль в ней игра- играет выбор конкретной системы и выделение «существенных» степеней свободы. С математической точки зрения, более корректно говорить о моделировании квантовых схем. Квантовые схемы имеют конструктивное описание, если указать точность, с которой известны матричные элементы операторов, вхо- входящих в схему. Пусть есть описание квантовой схемы Z, размера ^ L и точности S. Элементами этой схемы могут быть любые унитарные операторы на г = O(log L) q-битах (так чтобы полная длина описания схемы не превышала poly(L,log(l/<J))). Обозначим оператор, реализуе- реализуемый этой схемой, через Op(Z). Из результатов задач 7.1 и 7.11 следует, что можно построить уни- универсальную квантовую схему U размера poly(L,logl/(J), которая мо- моделирует работу произвольной квантовой схемы следующим образом.
72 Квантовые вычисления Если задано описание некоторой схемы Op(Z) размера L и её вход |?), то \U(\Z) ® Ю) - \Z) ® Op(Z)|0|| = O(LS). 8.3. Квантовые алгоритмы и класс BQP. До сих пор мы рассма- рассматривали неоднородные вычисления (вычислялись булевы функции). Ал- Алгоритмы вычисляют функции на словах произвольной длины. Опре- Определение квантового алгоритма можно дать, используя уже введённые квантовые схемы. Пусть есть функция F: W -) В', длина результа- результата — полином от длины входа. Ей сопоставляется последовательность булевых функций (ограничения на входы длины п) Fn: В™ —> Bm(n'. Квантовый алгоритм для вычисления F — это однородная последо- последовательность схем, вычисляющих Fn. «Однородная» означает, что по п можно построить описание соответствующей схемы на обычной поли- полиномиально ограниченной машине Тьюринга. Будем говорить, что ал- алгоритм работает за время Т(п), если размер схемы, вычисляющей Fn, равен Т(п). Замечание 8.1. Можно определить квантовую машину Тьюринга и непосредственно через суперпозиции различных состояний ленты МТ (первоначальное определение Д. Дойча было именно таким). Наше опре- определение оказывается эквивалентным. Определение 8.2. Функция F: В* —> В* принадлежит классу BQP, если есть квантовый алгоритм её вычисления, работающий за время O(nd) для некоторой константы d. Как соотносится класс BQP с сложностными классами, введёнными ранее? ,т Задача 8.3. Докажите, что ВРР С BQP С РР С PSPACE. Класс РР состоит из предикатов вида где Ro,Ri G Р, и учитываются только у с длиной меньше некоторого полинома q(x). Это почти всё, что известно о соотношениях между BQP и други- другими сложностными классами. Косвенное свидетельство в пользу строго- строгого включения ВРР С BQP даёт существование эффективных кванто- квантовых алгоритмов для некоторых теоретико-числовых задач, традицион- традиционно считаемых трудными (см. раздел 12).
Квантовые вероятности 73 Заметим также, что в последнее время появились интересные ре- результаты о квантовых аналогах некоторых более сильных сложностных классов (не описанных в части I). Задача 8.4. Постройте квантовые схемы полиномиального размера в базисе из операторов на двух q-битах, которые выполняют следующие действия: а) для заданного числа q, I ^ q ^ 2", записанного п двоичными цифра- 1 9-1 ми, преобразовать состояние |0п) в состояние \'фп(я)) = —р ]С Ь')> \п j=o б) преобразовать \q - 1,0") в \q — 1) ® \фп(я)), считая, что q записано п двоичными цифрами; в) выполнить преобразование Фурье на группе Z* при к = 2П: fc-i считая, что х и у записаны п двоичными цифрами; (в этом случае найдите схему размера О(п2)). 9. Квантовые вероятности Перейдём теперь к обсуждению некоторых «физических» аспектов квантовых вычислений. Пусть система из п q-битов находится в состоя- состоянии \ф) = Y^,x Cx\x)- Коэффициенты разложения по выделенному базису (классических состояний) называются амплитудами. Квадрат модуля амплитуды |са:|2 равен вероятности обнаружить систему в состоянии х (сравните с (8.1)). Другими словами, при измерении состояния этой квантовой системы будут получаться классические состояния, распре- распределённые как |сх|2. Определённая формулой (8.1) величина обладает основными свой- свойствами обычной вероятности. Тот факт, что квадрат модуля амплиту- амплитуды — это вероятность наблюдения системы в состоянии х, согласуется с тем, что физические состояния в квантовой механике соответствуют векторам единичной длины, а преобразования этих состояний не меня- меняют длины, т.е. унитарны. Действительно, {ф\4>) = Ylx lc*l2 = ^ (сУмма вероятностей равна 1), а применение физически реализуемого операто- оператора должно сохранять это соотношение, т. е. должно быть унитарным. Формулы (8.1) достаточно для определения квантового вычисле- вычисления и класса BQP. Однако есть вопросы, в которых это определение оказывается неудобным или неприменимым. Два основных примера:
74 Квантовые вычисления измеряющие операторы и алгоритмы, построенные на их основе, и за- задача построения надёжных квантовых схем из ненадёжных элементов (исправление ошибок). Поэтому мы построим определение квантовой вероятности, в кото- котором обобщается как то, что мы наблюдаем (состояние системы), так и результат наблюдения. К этому общему определению мы придём, рас- рассматривая ряд примеров. Для начала перепишем уже полученное выра- выражение для вероятности в виде п, |Cl|2 = \(ф\х)\2 = (ф'\х)(х]ф), где через Их обозначен проектор на подпространство, порождённое \х). Чтобы сделать следующий шаг к общему определению квантовой вероятности, подсчитаем вероятность того, что первые т битов имеют заданное значение у = (j/i,... ,ут)- Для этого представим состояние в виде двух блоков х = | у | z ]. Имеем = (Ф\\У)(У\®1\Ф) = = {ф\Пм\ф). (9.1) Т1м здесь обозначает проектор на подпространство М = Формула (9.1) задаёт определение квантовой вероятности и в том слу- случае, когда М — произвольное подпространство. В этом случае проектор на подпространство М. С N определяется как Им = Ylj lej)(ejl> гДе ej пробегают любой ортонормированный базис М.. Замечание 9.1. Величина ^z\{F{x),z\ U |х,0^~п)| , которая ис- используется в определении вычисления функции из В™ в Вт квантовой схемой (см. с. 66), равна p(u\x,0N-n),M\ где М = \F(x))®BN-m. Ещё раз напомним смысл этого определения: схема U = Ul • ¦ ¦ • • U2U1 вычисляет F: В™ —? Вт, если для любого х вероятность наблюдения правильного ответа F(x) после применения схемы к начальному состо- состоянию U\x,0N~n) больше 1-е. Проекторы не являются физически реализуемыми операторами, точнее говоря, они не описывают переход от одного состояния систе- системы к другому за определённый промежуток времени. Такой переход описывается унитарными операторами. Всё же, допуская некоторую вольность, проекторам можно придать физический смысл. Проектор выделяет часть состояний системы из всех возможных. Представьте
Квантовые вероятности 75 фильтр (устройство, а не теоретико-множественное понятие), который пропускает только системы в состояниях из М. Если на такой фильтр подать систему в состоянии \ф), то сквозь фильтр пройдёт система в со- состоянии |?) = Пм\Ф)- Суммарная вероятность выделенных состояний, вообще говоря, меньше 1, она равна р = (?|?) = {ф\Им \ф). Число 1 - р определяет вероятность того, что система сквозь фильтр не пройдёт. Сравним свойства классической и квантовой вероятности. Классическая вероятность Квантовая вероятность Определение Событие М С N — подмножество некоторого конечного множества. Распределение вероятностей зада- задаётся функцией w: N —> R со свой- свойствами а) 5^ Wj = 1; б) wj ^ 0. Вероятность: Pr(w, М) = ^2 еМ w3. Событие М — подпространство не- некоторого конечномерного унитарного пространства ЛЛ Распределение вероятностей задаётся вектором состояния \ф), {ф\ф} = 1. Вероятность: Р(\ф),М) = (ф\Пм\ф). Свойства 1. Если Mi П М2 = 0, то Pr(w,Mi U М2) = = Pr(w, Mi) + Pr(w,M2). 1Ч. Если Mi A-M.2, то 2. (в общем случае) Pr(w,MiUM2) = Pr(w,Mi)+ +Pr(w, M2) - Pr(w, Mi П М2). 2Ч. Если Hm-^Mi = ПхзПл^!, то г) = Р(|^>, Mi)+ ,М1П Мг). Заметим, что условие Л4\ J. M.2 эквивалентно условию = n^vijlljvii = 0. Если есть два неортогональных подпространства с пустым пересе- пересечением, то квантовая вероятность необязательно аддитивна. Приведем простой пример, когда Р(Ю, Xi (В М2) ф P(|0>^i) + РA0, -^г)- Пусть |0 = |0), М\ = С(|0)) (линейное подпространство, поро- порожденное вектором |0)), М.1 = C(\rj)), причем (^\г]) близко к 1. Тогда Итак, мы определили в наиболее общем виде то, что мы измеряем. Теперь нужно обобщить то, над чем проводится измерение. В результа- результате получим определение вероятности, обобщающее как классическую, так и квантовую вероятность. Рассмотрим распределение вероятностей на конечном множестве квантовых состояний {|?i),..., ]?s)}- Вероятность состояния |?j) обо- обозначим pj, очевидно, что YljPj = 1- Подсчитаем вероятность наблюде- наблюдения состояния в подпространстве М:
76 Квантовые вычисления = Ъ(рПм), (9.2) где через р обозначена матрица плотности12^ р = ?^fcP*:|?fc )(?*!• По- Последнее выражение в (9.2) и примем за общее определение вероят- вероятности. Задача 9.1. Докажите, что операторы вида р = J2kPk\?k){t,k\ — это в точности эрмитовы неотрицательно определённые операторы со сле- следом 1, т.е. операторы, удовлетворяющие условиям: В дальнейшем под матрицей плотности понимается любой оператор с этими свойствами. Рассуждение о «распределении вероятностей на квантовых состоя- состояниях» носило вспомогательный характер. Задача состоит в том, что- чтобы обобщить понятие квантового состояния так, чтобы оно включа- включало в себя классические распределения вероятностей. Полученный нами ответ (последнее выражение в (9.2)) зависит лишь от матрицы плот- плотности, поэтому мы можем постулировать, что обобщённые квантовые состояния и матрицы плотности — это одно и то же (такая аксиома не противоречит физическим наблюдениям). Если состояние задает- задается одним вектором (р = |?)(?|), то оно называется чистым, если со- состояние задается общей матрицей плотности, то оно называется сме- смешанным. Определение 9.1. Для квантового состояния, задаваемого матри- матрицей плотности р, и подпространства М вероятность «события» М. рав- равна Р{р,М) =Тг(рПм). Диагональные матрицы р = Ylj'wj\J)U\ соответствуют классиче- классическим распределениям вероятностей на множестве базисных векторов. Это означает, что при вычислении вероятности по общей квантовой формуле для диагональной матрицы и координатного подпространства М (натянутого на часть базисных векторов \а): а (Е М) получает- получается то же, что и при вычислении по обычной классической формуле: Р(р,М) = Pr(w,M). действительности это оператор, а не матрица, однако название «матрица плотности» уже стало традиционным. Впрочем, в дальнейшем мы часто будем иметь в виду именно матрицу, т.е. оператор, записанный в выделенном базисе.
Квантовые вероятности 77 Продолжим сравнение свойств классической и квантовой вероят- вероятности, под последней мы будем теперь понимать общее определение с использованием матриц плотности. (Свойства lq и 2q остаются в силе). Классическая вероятность Квантовая вероятность Свойства 3. На множестве N = N1 x ЛГ2 задано распределение вероятностей вида Wjk = = Wj wk . Имеется два множества ис- исходов Mi С N\, Mi С ЛГ2. Тогда ве- вероятности перемножаются: Рг(го, М\ х М3) = Зч. На пространстве Я = Л/i ® Л/г задана матрица плотности вида Р\®Р2- Имеется два подпростран- подпространства Mi С Л/i, М2 С Л/г- То- Тогда вероятности также перемно- перемножаются: P(pi ® Р2,Л^1 ® Mi) = 4. Имеется совместное распределение на множестве N\ x ЛГ2. Интересующее нас событие не зависит от исхода во втором множестве: М = Mi x iV2. Вероятность такого события выражается через про- проекцию распределения на первое множе- множество: Рг(гу,Mi х N2) = Pr(w',Mi), где 4Ч. В квантовом случае ограниче- ограничение на одну из подсистем задается операцией взятия частичного сле- следа (см. ниже). Поэтому, даже если исходное состояние было чистым, полученное состояние подсистемы может оказаться смешанным: Р(р,Л<1 Определение 9.2. Пусть X € L(A/i <8>Л/г) = L(A/i) ® L(Af2). Частич- Частичный след оператора X по пространству Л4 определен следующим обра- образом: если X = ]?т Ат 0 Вт, то Trjv2 X = ^т Ат (ТгВт). Докажем, что это определение корректно, т. е. не зависит от выбора слагаемых в представлении X — Ylm ^т ® -^"»- Для этого зафиксируем некоторые ортонормированные базисы в пространствах К\, N\ и выра- выразим частичный след через матричные элементы Xjfkk' = {jiJ'\X\k,k'). Пусть Ат = 5>5li><*l и Бт = Е Ь5?*'Ь"><*'1- ТогДа и частичный след равен т j,k (Е = Е Е j,k I Рассмотрим пример, когда взятие частичного следа от матрицы плотности, соответствующей чистому состоянию, приводит к матри- матрице плотности, соответствующей смешанному состоянию.
78 Квантовые вычисления Пусть М = М2 = В, а р = \ф)(ф\, где \ф) = -^ (|0,0) + |1,1». В этом случае р — - ]Г] К a)(b, b\, поэтому получаем 2 а,ь Эта матрица соответствует смешанному состоянию (чистым состоя- состояниям соответствуют матрицы ранга 1). Более того, это смешанное со- состояние эквивалентно классическому распределению вероятностей: 0 и 1 имеют вероятности, равные 1/2. Таким образом, отбрасывание вто- второго q-бита приводит к чисто классическому распределению вероятно- вероятностей на первом q-бите. Утверждение 9.1. Любое смешанное состояние р € Ь(Л0 предста- представило как частичный след Тгу?(\ф)(ф\) от чистого состояния большей системы, \ф) € N ® Т, причём можно считать, что dimJ7 ^ dimAf. Доказательство. Полагаем Т = N*. Так как р неотрицательно определена, то существует ^fp € Ь(Л0 = N' ® N*'. Докажем, что для \ф) = у/р выполнено искомое, т.е. р = Tr/V-(l\//?)(\//?l)- Поскольку р эрмитова, она диагонализуется в некотором ортонор- мированном базисе {|?,)}. Тогда р = 5^-рЖЖ&|, а \Ф) = \fP = = Zj y/PJ\Zi)(Zj\, и \ф)(ф\ = Ejk у/ПР?Щ ® (ШЬ) ® <Ы). Вклад в частичный след вносят лишь слагаемые cj = k. Поэтому Тгдг. {\ф)(ф\) = Задача 9.2. Пусть имеется чистое состояние \ф) ? N ®Т. Докажи- Докажите, что существует так называемое разложение Шмидта: 3 где 0 < \j ^ 1, а множества векторов {|?j)} С N и {!%)} С Т являются ортонормированными. Заметим, что числа А? — это ненулевые собственные числа частич- частичных следов р = Тгу?(\ф){ф\) и />' = Тг_^(\гр)(ф\). (Таким образом, не- ненулевые собственные числа р и р' совпадают.) Отсюда следует, что взятие частичного следа от чистого состояния приводит к чистому со- состоянию тогда и только тогда, когда исходное состояние разложимо: \Ф) — 10 ® I7?)- Задача 9.3. Пусть |^>i), |^>г) ? N&J7 — два чистых состояния, таких что Try(|^>i)(^>i|) = Ttjf(|^)(г/'г|)- Докажите, что \ф2) = A// < для некоторого унитарного оператора U на пространстве Т.
Преобразования матриц плотности 79 10. Физически реализуемые преобразования матриц плотности Теперь опишем, какие преобразования матриц плотности допусти- допустимы с физической точки зрения. 1. Унитарный оператор переводит матрицу плотности чистого состо- состояния р = |?)(?| в матрицу р' = U\(,)(?\U^. Естественно считать (по линейности), что такой же формулой задается и действие унитар- унитарного оператора на произвольные матрицы плотности: 2. Второй тип преобразования состоит во взятии частичного следа. Если есть р ? L(J\f®!F), то отбрасывание второй системы задается преобразованием 3. Вспомним, что нам ещё бывает нужно брать напрокат q-биты в со- состоянии 0. Пусть есть состояние р Е L(Z?®n). Рассмотрим изометри- изометрическое (сохраняющее скалярные произведения) вложение V: В®п -> -> B®N в пространство большей размерности, задаваемое формулой Ю *"* \0 ® lO^-"). Матрица плотности р при этом преобразуются в р ® |0лг~п)@лг~п|. Для любого изометрического вложения V по ана- аналогии полагаем Будем считать, что физически реализуемые преобразования матриц плотности есть в точности композиции любого числа преобразований типа 2 и 3 (случай 1 — частный случай преобразования типа 3). Задача 10.1. Докажите, что любое физически реализуемое преобра- преобразование матриц плотности имеет вид р h-> Tijr(VpV^), где V: J\f -? -? N ® J- — изометрическое вложение. Операция взятия частичного следа оз- означает забывание (отбрасывание) одной из подсистем. Покажем, что такая ин- интерпретация является разумной, а имен- именно, дальнейшая судьба отброшенной си- системы не влияет на величины, характе- характеризующие оставшуюся систему. Возьмём систему, состоящую из двух подсистем и находящуюся в некотором состоянии р € Ъ{М ® Т). Если мы выбрасываем вто- вторую систему (в мусорную корзину), то
80 Квантовые вычисления она будет подвергаться неконтролируемым воздействиям. Пусть мы применили какой-то оператор U к первой системе. Получили состояние 7 = (U ® Y)p(U ® Y)t, где У — произвольный унитарный оператор (действие мусорной корзины на мусор). Если мы хотим найти вероят- вероятность для подпространства М С Л/", относящегося к первой системе (мусор нас не интересует), то она не зависит от У и равна Здесь первое равенство — это свойство 4q квантовой вероятности, а второе равенство — новое свойство: Тгг (([/ ® У)р([/ ® y)t) = [/ (Tr^-p) [/f. A0.1) Задача 10.2. Докажите тождество A0.1) для частичного следа. Задача 10.3. Запишем линейный оператор Т: Ь(Л/") —» L(.M) в ко- координатном виде: Докажите, что физическая реализуемость Т эквивалентна набору из трёх условий: а) Sfc- T(klj)(kik) = Sjk (символ Кронекера); б) T(j'j)(k'k) =T(k-k)(j'j)'' в) T(j»j)(/t/*) — неотрицательная матрица (по парам индексов). Задача 10.4. Докажите, что линейный оператор Т: Ь(ЛГ) —» Ь(Л1) является физически реализуемым преобразованием матриц плотности тогда и только тогда, когда выполнены три условия: а) Тг(ТХ) = ТгХ для любого X ? L(JV); б) (ТХ)+ = ТХ+ для любого X е ЦМ); в) Т является вполне положительным преобразованием. А именно, для любого пространства Q преобразование Т <8> 1ь(д) '¦ Ь(Л^ ® 5) -? -? L(M ® 5) отображает неотрицательные операторы в неотри- неотрицательные. 10.1. Подсчёт вероятностей для квантового вычисления. Теперь, имея общие определения квантовой вероятности и физически реали- реализуемого преобразования матриц плотности, можно вычислять вероят- вероятности, входящие в определение квантового вычисления, двумя спосо- способами. Пусть мы использовали при вычислениях дополнительную под- подсистему. После того, как она стала нам не нужна, мы можем выбро- выбросить её в мусорную корзину, а при подсчёте вероятности взять ча- частичный след по пространству состояний дополнительной подсистемы.
Преобразования матриц плотности 81 А можно тянуть весь этот мусор до самого конца и считать вероят- вероятность для событий вида .Mi <8> Л/г (раз уж мы перестали использовать вторую подсистему, то никакие детали её состояния нам не важны — нам безразлично, что именно произойдёт с использованной подсисте- подсистемой в мусорной корзине). Как уже говорилось, эти вероятности равны: Замечание 10.1. Нетрудно определить более общую модель кванто- квантового вычисления, в которой элементарными действиями являются под- подходящие преобразования матриц плотности общего вида (не обязатель- обязательно унитарные операторы). Такая модель более адекватна физической ситуации, когда квантовый компьютер взаимодействует с «окружаю- «окружающей средой». С вычислительной точки зрения новая модель эквива- эквивалентна стандартной (если в обоих случаях используется полный базис). Однако в модели с общими преобразованиями матриц плотности воз- возможно более естественное определение подпрограммы для квантового вычисления, поскольку результат работы квантовой схемы — вероят- вероятностная функция. Здесь мы не будем давать этого определения и от- отсылаем заинтересованного читателя к [20]. 10.2. Потеря когерентности (decoherence). Рассмотрим в качестве примера преобразование матриц плотности, которое «забывает» вне- диагональные элементы: Покажем, что оно «физически реализуемо», т.е. может быть построе- построено композицией описанных выше преобразований. Будем строить это преобразование в три шага. Вначале добавим нулевые биты: Затем скопируем обратимым образом исходные биты в добавленные. Обратимое копирование задается оператором К(ах): \а, Ь) н4 \а,а(В Ь). Получаем А теперь возьмём частичный след по добавленным битам. Получим диагональную матрицу
82 Квантовые вычисления Предостережение. Рассмотренная нами «операция копирования» \з) -> \з,з), (композиция первых двух преобразований) на самом деле копирует только базисные состояния. Заметим, что копирование произвольного квантового состояния |?) •-> |?) <g> |?) является нелинейным оператором, поэтому не может быть реализовано физически. В дальнейшем копи- копирование всегда будет определяться относительно некоторого базиса. Замечание 10.2. Рассмотренное преобразование переводит любое состояние в классическое (с диагональной матрицей плотности), ис- используя копирование битов. Это можно интерпретировать так: если постоянно наблюдать за системой {делать копии), то система бу- будет вести себя как классическая. В случае одного q-бита то же самое преобразование (обнуление внедиагональных элементов) можно полу- получить, если применить оператор а2 с вероятностью 1/2: 1 1 z z Р>~* 2Р+ 2а Р Подобный процесс называется случайным сбоем фазы: состояние |1) домножается на фазовый множитель —1с вероятностью 1/2. Таким образом, сбой фазы также приводит к тому, что система ведет се- себя как классическая. Задача 10.5. Пусть имеется физически реализуемое преобразование Т: Ь(Л/") —> Ъ{М®Т) со следующим свойством: Trj-(Tp) =tp для любого чистого состояния р. Докажите, что тогда ТХ = X <8> 7 (для любого оператора X), где 7 — некоторая фиксированная матрица плотности на пространстве Т. Таким образом, нельзя получить никакой информации о неизвест- неизвестном состоянии р, не возмущая это состояние. 10.3. Измерение. При описании квантовых алгоритмов часто бы- бывает естественно считать, что наряду с квантовым вычислительным устройством используется и классическое. Основной механизм взаимо- взаимодействия между квантовой и классической частями состоит в измере- измерении квантовых регистров, дающем классический результат. Рассмотрим систему, состоящую из двух частей, — квантовой (Л/") и классической AС). По классическим координатам матрица плотности диагональна: р = J2 PW шн*1) ® (loci) = Е
Преобразования матриц плотности 83 где wi = 52 • pjju — вероятность иметь классическое состояние I, а опе- оператор 7^ = wj Sj к PjkU обладает всеми свойствами матрицы плотно- плотности. Таким образом, квантово-классическое состояние всегда разложи- разложимо на «условные» (по аналогии с условными вероятностями) матрицы плотности 7^ • Будем использовать для такого случая специальное обо- обозначение: р = Yli '' ^\ Пусть имеется ряд взаимоисключающих возможностей, что выра- выражается разложением пространства состояний в прямую сумму попар- попарно ортогональных подпространств М = ф Cj, где п — {1,...,г} — множество возможностей (действительно, если подпространство С\ ор- ортогонально подпространству ?г, то для любой матрицы плотности р ? D(?i) выполняется Р(р, ?2) = 0). Преобразование матриц плотности, которое мы будем называть из- измерением, состоит в том, что для состояний из подпространства Cj «измеряющий прибор» помещает в классический регистр номер состо- состояния у. если Ю G Cj, то |0«| ^ (Ю«1,Я • A0-2) Хотя измерение отображает пространство Ь(Л0 в L(J\f®]C), резуль- результат всегда диагоналей по второй компоненте. Поэтому можно считать, г что измерение отображает Ь(Л0 в Для Ю ? Cj выполняется равенство |?)(?1 = П^. Ю(^|П?,-. Поэто- Поэтому из соображений линейности можно доопределить измерение на всех остальных матрицах плотности и прийти к следующему определению. Определение 10.1. (Детерминированным) измерением называ- называется преобразование матриц плотности Можно сказать, что j — это результат измерения, Р(р, ?,) — ве- роятность получить данный результат, а 7й' — состояние измеряемой системы после измерения при условии, что получен результат j. Если
84 Квантовые вычисления мы измеряем чистые состояния, т.е. р = |?)(?|> то 7^ = I'frH'?.;!» гДе Приведём простейший пример измерения. Сделаем две копии бита. Пусть П?о = |0)@|, а П?1 = |1)A|. Тогда Р= Задача 10.6. «Квантовая телепортация» (см. [21]). Пусть имеются три q-бита: первый из них находится в произвольном (заранее неизвест- неизвестном) состоянии р, второй и третий — в состоянии |?о,о) = —т= (|0,0) + + |1,1)). Произведём над первыми двумя q-битами измерение, соответ- соответствующее ортогональному разложению = С(|Ы) ф Ц\Ы» ф С(!Ы) © c(|6i», Покажите, что используя результат измерения и оставшийся третий q-бит, можно восстановить исходное состояние р. Запишите всю после- последовательность действий (измерение и восстановление) в виде квантовой схемы. Замечание 10.3. Этот процесс можно представлять таким образом. Допустим, что Алиса хочет передать Бобу13' квантовое состояние р по классическому каналу связи (например, по телефону). Оказывается, что это возможно, если Алиса и Боб заранее приготовили состояние |?оо) и взяли от него по половинке — одному q-биту. Алиса производит измерение и сообщает результат Бобу. Затем Боб переводит свой q-бит в состояние р. 11. Измеряющие операторы Введём особый класс операторов — измеряющие операторы. Пусть есть пространство состояний Л/"® fC, причем первый сомножитель раз- разложен в прямую сумму попарно ортогональных подпространств: N — = ф Cj ¦ Тогда всякий оператор вида W = J2 ^?, ® &j будем называть з з измеряющим. 13'Эти два персонажа встречаются практически в любой статье по квантовой те- теории информации.
Измеряющие операторы 85 Чтобы оправдать такое название, рассмотрим следующий процесс. Пусть имеется некоторое состояние, описываемое матрицей плотности р G L(jV). Подсоединим прибор; совместное состояние системы и при- прибора описывается матрицей плотности р <g> |0'п)@'п| (мы считаем, что во втором сомножителе, описывающем прибор, есть выделенный базис, например, что это В®"). Теперь применяем измеряющий оператор W. Получаем состояние j (здесь мы воспользовались характеристическими свойствами проекто- проектора nt = п, п2 = п). И последнее действие: прибор становится классическим. Это озна- означает, что матрица диагонализуется по второму сомножителю. Посмо- Посмотрим, во что переходят при этом вторые сомножители в написанной сумме: ъ = 1&Ш —> Е К*&>121*><*1 (так как № \кк = <*17#>). к Теперь запишем получившийся результат: j к где введены условные вероятности P(k\j) = |(А:|17:,|0)|"'. Заметим, что для измерения (как оно было определено в предыдущем разделе) P(fc|j) = Skj, поэтому только что описанный процесс можно назвать «вероятностным измерением». Введённые таким образом квантовые условные вероятности ведут себя как обычные, если рассматриваются произведения измеряющих операторов, построенных на одном и том же ортогональном разложении пространства состояний (см. ниже). Приведем примеры измеряющих операторов. 1. Оператор Л([7) = Щ ® J + Щ <8> ?/, действующий на пространстве В <3 М, — измеряющий. 1'. Нетривиально, что он измеряющий и по второй компоненте. По- Поскольку U — унитарный оператор, его можно разложить в сум- сумму проекторов на собственные подпространства: U = ^jAjII,c3., |Л,-| = 1. Тогда Л([/) = ?\(П0 + А^) ® UCj = Ej (j jj.) ® П?.. В этом случае условные вероятности равны P@|j) = 1 и РA j) = 0, поэтому такой оператор, хотя и является измеряющим по определе- определению, фактически ничего не измеряет.
86 Квантовые вычисления Замечание для физиков. Пусть U — оператор фазового сдвига света при про- прохождении сквозь стеклянную пластинку. Мы можем разделить луч света на два, пропустив его через полупрозрачное зер- зеркало, затем один из полученных лучей пропустить через стеклянную пластинку, а затем заставить полученные в результате лучи интерфе- интерферировать. По картине интерференции можно узнать фазовый сдвиг. Математический вариант предыдущего примера. Аналогом полу- , „ 1 (I 1\ .. прозрачного зеркала будет служить оператор Н = —^ I 1 1 . Как V2 \1 -У видно из приведенной выше картинки, его нужно применить в начале и в конце. Строго говоря, рассмо^' ~пл оператор -(?/) = (Я & '\\(U)(H®I). Если начальный вектор имеет вид \ip) = |т?)® Ю (|0 С Cj), то Щи)\ф) = = \т)') <g> Ю, где ]r]) 72 \l -i) [p Xj) 72 [l -Уlv) 2 \i - a,- l + - ^ Поэтому ЩИ) = У^ - ( .•' 1 ,J ) ®П?.. Теперь подсчитаем ус- ~^ 2 yl - Aj I + AjJ ловные вероятности. Собственные числа унитарного оператора равны по модулю 1, поэтому можно полагать Xj = е2жг<р>. В результате имеем В дальнейшем именно с помощью такого оператора мы будем оце- оценивать собственные числа. Для этого придется брать разные биты в качестве первых сомножителей (разные «приборы»). Конечно, следует убедиться, что это корректно (т.е., что вероятности будут перемно- перемножаться). Свойства измеряющих операторов. Мы будем рассматривать из- измеряющие операторы, соответствующие одному и тому же ортогональ- ортогональному разложению Я = ф^ Cj. 1. Произведение измеряющих операторов — измеряющий оператор. Действительно, пусть есть два измеряющих оператора = Е r(P ® п^и wB) =
Измеряющие операторы 87 Поскольку Uc^Ck ф 0 «=> j = к, имеем 2. Условные вероятности для произведения измеряюцщх «разными приборами» операторов перемножаются. Более точно, пусть R^ = = R1®I,a RW =I®R2. Тогда P(kuk2\j) = Рг(*1 |;)Рг(*2 \j)- Это равенство следует непосредственно из определения условных вероятно- вероятностей и из очевидного тождества 1%)) = 3. Формула полной вероятности. Пусть есть измеряющий оператор W = Yl Rj ® П?}. Если применить его к состоянию |0){0| ® /э, где р € G L(A/"), то вероятность наблюдения состояния к можно записать в виде: T?(w(\0)@\®p)W\C(\k))<Sjf) = j Доказательство. w(|0><0|Op)W+ = 7 = Е (я,| Ранее было доказано, что РG, С(\к)) ®Af) = Р(Тг^7:С(|^)))- Далее, х Tr () Поскольку IV (П?.рП?.) = Tr (Ul.p) = Tr (П?,р) d^f P (p,?,), получаем искомое выражение PG, C(|fc)) ®Л/") = Задача 11.1. Докажите формулу полной вероятности напрямую, не используя взятия частичного следа. Задача 11.2. «Обратимое измерение». Пусть W = 53*=i ^A ® V/t — измеряющий оператор, Vjt|0) = 53 2 су,2(^)|2/>-г)- (Имеется в виду, что операторы V* действуют на т + s q-бит; первые т q-бит (т. е. у) — «полезный результат», остальные s q-бит (т. е. z) — «мусор».) Допустим, что V измеряет некоторую функцию /: {I,... ,t} -> Bm с вероятностью ошибки ^ е, т.е. f
88 Квантовые вычисления Постройте с использованием W и W~x квантовую схему полиномиаль- полиномиального размера, реализующую с точностью О(е1^2) новый измеряющий оператор t U = ]Г ПА ® QfW > гДе<9«Ы = \y®v). (Разрешается «брать напрокат» дополнительные q-биты.) 12. Быстрые квантовые алгоритмы Единственное нетривиальное использование квантовых свойств для вычислений, которое мы уже рассмотрели, — это решение универсаль- универсальной переборной задачи алгоритмом Гровера, изложенным в разделе 8.1. К сожалению, при этом достигается лишь полиномиальное ускорение. Поэтому никаких серьёзных следствий для теории сложности вычи- вычислений (типа BQP D ВРР) алгоритм Гровера не даёт. В настоящее время нет доказательства того, что квантовые вычисления превосхо- превосходят по скорости классические вероятностные. Но есть косвенные сви- свидетельства в пользу такого утверждения. Первое из них — пример задачи с оракулом (т.е. процедурой типа «чёрного ящика»), для ко- которой существует полиномиальный квантовый алгоритм, в то время как любой классический вероятностный алгоритм экспоненциален.14' Этот пример, построенный Д. Саймоном [42], называется задачей о скрытой подгруппе в Bг)к- В дальнейшем мы решим также зада- задачу о скрытой подгруппе в Z*, обобщающую все результаты из этого раздела. Задача о скрытой подгруппе. Пусть G — конечная группа, причём задано некоторое представление элементов G двоичными словами. Име- Имеется устройство (оракул), вычисляющее функцию f:G-*W со следу- следующим свойством: /(*) = /(») <=> x-yeD, A2.1) где D С G — некоторая заранее неизвестная подгруппа. Нужно найти эту подгруппу. 12.1. Задача о скрытой подгруппе в (Z2)fe. Ми рассмотрим сфор- сформулированную выше задачу в случае G = (Z-j)*. Элементы этой группы 14'Следует иметь в виду, что сложность задач г о;лх>,:ом часто отличается от сложности обычных вычислительных задач. Юассичаский пример —георрма о том, что IP - PSPACE [36, 37]. Оракульный аналог этого утверждения неверен [30]!
Быстрые квантовые алгоритмы 89 можно предстаалять строками длины к из нулей и единиц; групповая операция — побитовое сложение по модулю 2. Легко доказать, что нельзя быстро найти «скрытую подгруппу» на классической вероятностной машине. (Классическая машина по- посылает на вход «чёрного ящика» строки Х\,..., ат; и получает ответы 3/1, ¦ ¦ ¦ ,yi- Каждый следующий вопрос Xj зависит от предыдущих отве- ответов 2/ь •••, J/j-i и некоторого случайного числа г.) Утверждение 12.1. Пусть п ^ к. Для любого классического веро- вероятностного алгоритма, делающего не более 2к/2 обращений к ораку- оракулу, существует подгруппа D С (йг)* и соответствующая функция /: {l*2)k —> В", для которой алгоритм ошибается с вероятностью > 1/3. Доказательство. Для одной и той же подгруппы D существу- существует несколько различных оракулов /. Мы будем считать, что один из них выбирается случайно и равновероятно. (Если алгоритм оши- ошибается с вероятностью > 1/3 при случайном оракуле, то он так- также будет ошибаться с вероятностью > 1/3 при каком-нибудь кон- конкретном оракуле.) Случайный оракул обладает следующим свойством: если очередной ответ yj не совпадает ни с одним из предыдущих ответов у\,... ,yj-i, то он равномерно распределён на множестве Bn\{j/i, •.. ,«/j_i}. Таким образом, случайный оракул эквивалентен устройству с памятью, которое на вопрос Xj выдает наименьшее число Sj ^ j, такое что Xj — xSj € D. Классическую машину можно изме- изменить таким образом, что она сама будет производить случайный выбор Уз G ®п\{гл. ¦ ¦ ¦ ,yj-i}, когда sj = j. Пусть число вопросов к оракулу равно I <C 2fc//2. Без уменьшения общности все вопросы различны. В случае D = {0} все ответы так- также различны, то есть Sj = j для всех j. Теперь рассмотрим слу- случай D = {0,z}, где z выбирается случайно с равномерным распре- распределением на множестве всех ненулевых элементов группы (Хг)*. То- Тогда, независимо от используемого алгоритма, Sj = j с вероятностью ^ 1 - (j - 1)/B* - 1). С вероятностью ^ 1 - 1A - 1)/BB* - 1)) > 1/2 это имеет место для всех j = 1,..., I. Напомним, что у нас есть два слу- случайных параметра: гиг. Мы можем зафиксировать z таким образом, чтобы вероятность получения ответов sj = j (для всех j) по-прежнему была больше 1/2. Посмотрим, что будет делать классическая машина в этом случае. Если она выдает ответ «?> = {0}» с вероятностью ^ 2/3, положим D = {0, z) — тогда выдаваемый ответ будет неверным с веро- вероятностью > B/3) • A/2) = 1/3. Если же вероятность ответа «D = {0}» меньше 2/3, положим D = {0}. ?
90 Квантовые вычисления Теперь определим квантовый аналог описанного выше устройства. Соответствующий квантовый оракул — это унитарный оператор U: \х,у) ^ |х, у ©/(*)>. A2.2) (ф обозначает побитовое сложение). Заметим, что квантовый оракул допускает линейные комбинации разных вопросов, поэтому его можно использовать более эффективно, чем классический оракул. Пусть Е = G/D, а Е* — группа характеров на Е, т. е. гомоморфиз- гомоморфизмов Е ->¦ XJA). В случае G — (^г)* группу Е* можно охарактеризовать следующим образом: Е* = {h G (Z2)* : V* G (Z2)* (h-z = 0)}, где h ¦ z обозначает скалярное произведение по модулю 2. (Соответ- (Соответствующий h характер имеет вид z i-> (-1)л~.) Покажем, как можно породить случайный элемент h E Е*, используя оператор U. Породив достаточно много случайных элементов, мы найдем группу Е*, и, тем самым, исходную подгруппу D. Начнём с того, что приготовим состояние x€G в одном квантовом регистре. Во второй регистр поместим состояние |0п) и применим оператор U¦ Затем выбросим второй регистр, т. е. не будем его больше использовать. Получится смешанное состояние р = Тг2(*7(|0(?1 ® \0n)@n\)V*) = 2-k Yl !*><VI- x,y:x~y€D Теперь применим оператор Н®к: 7 = НтрН®к = 2-2*? Y1 Ы)а'г"Ьу\а){Ь\. а,Ь х.у.х -y€D Легко видеть, что величина J2 (~ \)"'х~Ьу отлична от нуля только в том случае, когда а = b G Е*. Таким образом, Это в точности матрица плотности для случайного равномерно рас- распределенного элемента группы Е*. Теперь осталось воспользоваться следующей леммой, которую мы сформулируем в виде задачи. Задача 12.1. Пусть hi,...,hi — независимые случайные равномер- равномерно распределенные элементы абелевой группы А'. Докажите, что они порождают всю группу X с верояшоетью ^ 1 — \Х\/21.
Быстрые квантовые алгоритмы 91 Таким образом, достаточно 2k случайных элементов, чтобы поро- породить всю группу Е* с вероятностью ошибки ^ 2~к. (Такая малень- маленькая вероятность ошибки получается без особых затрат по сравнению с 1/3. Чтобы сделать её ещё меньше, эффективнее всего воспользовать- воспользоваться стандартной процедурой: повторить все вычисление несколько раз и выбрать наиболее часто встречающийся ответ). Подведём итог: для нахождения «скрытой подгруппы» D требуется О(к) обращений к квантовому оракулу. В целом алгоритм имеет слож- сложность О(к3). 12.2. Разложение на множители и нахождение периода относитель- относительно возведения в степень. Второе свидетельство в пользу гипотезы BQP D ВРР — быстрые квантовые алгоритмы разложения числа на простые множители и вычисления дискретного логарифма. Они были найдены П. Шором [38]. Обсудим пока первую из этих двух задач. Факторизация числа. Дано натуральное число у. Требуется найти его разложение на простые множители Эта задача считается сложной настолько, что на предположении о трудности её решения основываются практические алгоритмы кри- криптографии. С теоретической точки зрения положение несколько хуже: неизвестно ни сведение к задаче факторизации задач из класса NP, ни другие «прямые» свидетельства в пользу её сложности. (Слово «пря- «прямые» взято в кавычки из-за того, что в настоящее время неизвестен ответ на вопрос Р = NP.) Таким образом, предположение о сложности задачи факторизации пополняет и без того обильную коллекцию не- недоказанных гипотез в вычислительной теории сложности. Количество таких гипотез хочется по возможности уменьшать. В этом и состоит основная ценность результата Шора — если совершить один «акт ве- веры» и уверовать в сложность задачи факторизации, то необходимость в ещё одном акте веры (относительно больших вычислительных воз- возможностей квантового компьютера) отпадает. Мы будем строить быстрый квантовый алгоритм не для решения задачи факторизации, а для решения другой задачи НАХОЖДЕНИЕ ПЕ- ПЕРИОДА, к которой задача факторизации сводится с помощью классиче- классического вероятностно!'О алгоритма. Нахождение периода. Имеется число q, записывающееся не более чем п двоичными цифрами A ^ q < 2П) и число а такое, что а < q,
92 Квантовые вычисления (a,q) = 1 ((a, q) обозначает наибольший общий делитель). Нужно най- найти период а относительно q, т. е. такое наименьшее неотрицательное число ?, что аь = 1 (mod q). Другими словами, период — это порядок числа а в мультиплика- мультипликативной группе вычетов (Z/gZ)*. Будем обозначать период числа а от- относительно q как perq(a). Ниже мы построим квантовый алгоритм для решения задачи о на- нахождении периода числа. Но начнём с того, что опишем классическое вероятностное сведение задачи факторизации к задаче вычисления пе- периода. Читателю также предлагается вспомнить вероятностный тест простоты числа, изложенный в первой части (см. раздел 3.3). 12.3. Сведение факторизации к вычислению периода. Итак, пред- предположим, что мы умеем решать задачу нахождения периода. Ясно, что факторизацию числа у можно получить, используя O(\ogy) раз под- подпрограмму, которая по любому составному числу вычисляет какой-то его делитель с вероятностью, не меньшей 1/2. (Конечно, нужна также стандартная процедура усиления вероятностей, описанная на с. 36.) Процедура нахождения делителя. ВХОД: число у. Шаг 1. Проверяем чётность у. Если у — чётное, то выдаём ответ «2», в противном случае переходим к шагу 2. Шаг 2. Проверяем, извлекается ли из у нацело корень fe-й степени при к = 2,... ,log2 У- Если у = тг, то ответ «т», иначе переходим к шагу 3. Шаг 3. Выбираем случайное а среди чисел от 1 до у, вычисляем г = регу(а) (используя имеющийся по предположению алгоритм нахо- нахождения периода) и, если г — нечётное, то ответ «у — простое». В про- противном случае находим d = (а7"/2 — 1,у) (скажем, алгоритмом Евклида) и переходим к шагу 4. Шаг 4. Если d > 1, то ответ «d», в противном случае ответ «у — простое». Анализ процедуры нахождения делителя. Докажем, что вероят- вероятность получить делитель числа у в результате работы процедуры на- нахождения делителя не меньше, чем 1 — 1/2*, где к — число различных простых делителей у. (Заметим, в частности, что эта вероятность рав- равна 0 для простого у, так что данная процедура может также использо- использоваться и как тест простоты числа.) При доказательстве нам потребу- потребуется китайская теорема об остатках и тот факт, что мультиплика-
Быстрые квантовые алгоритмы 93 тивная группа вычетов по модулю pQ, где р простое, — циклическая (см. [2, Гл.6, §3]). Если г = регу(а) — чётное, то (аг/2 + 1)(аГ/'2 - 1) = О (mod у). Так что в этом случае процедура выдаст ответ «у — простое» только тогда, когда аг/2 = —1 (mod у). Запишем разложение у на простые множители у = Ylj=i Pj' и введём обозначения a,j = a (mod р"'), Tj — рег^«,-, а,- = 2air'j, где r'j — нечётное. Докажем, что процедура выдаёт ответ «у — простое» тогда и только тогда, когда S\ = S2 = ... = s*. Действительно, если si = S2 = -.. = = sjt = 0, то г нечётно (поскольку г — наименьшее общее кратное всех г,). Если si = S2 = ... = Sf. ^ 1, то aj1 = —1 (mod р°') (использу- (используем цикличность (Z/pZ)*), а, значит, и аГ//2 = -1 (mod у) (используем китайскую теорему об остатках). Наоборот, если не все Sj равны, то при некотором т получим all = 1 (mod p?,m), т.е. аг/2 ф —1 (mod у). По китайской теореме об остатках случайный равномерный выбор а есть то же самое, что независимый случайный равномерный выбор всех a,j. Оценим для некоторого s вероятность события s\ = s при независимом выборе а\. Пусть р — 1 = 2lq, где q — нечётное, д — образующая (циклической) группы (Z/pf'Z)*. Тогда \{ai : Si — s}\ = \{д2 т : т — нечётное}| = ¦{ q, если s = О, B» _ 28-1)?, если s > О, поэтому вероятность si = s не больше 1/2. Отсюда следует искомая оценка вероятности успеха всей процедуры нахождения делителя: ве- вероятность события si = S2 = ... = Sk не выше 1/2*, поэтому с веро- вероятностью не меньше 1 —1/2* процедура нахождения делителя найдёт делитель у. 12.4. Квантовый алгоритм нахождения периода: основная идея. Рассмотрим оператор умножения вычета на а, действующий по пра- правилу Ua: \x) i-> \ax mod q). (Более корректное обозначение — Uq<a, однако число q не меняется на протяжении всего вычисления, поэто- поэтому мы опускаем его в индексах). Этот оператор переставляет ба- базисные векторы при 0 ^ х < q (напомним, что (a, q) = 1). Будем считать, что на остальных базисных векторах он действует тожде- тождественно, Ua '¦ \х) i-> \х) при х ^ q.
94 Квантовые вычисления Поскольку для умножения вычетов есть обычная булева схема по- полиномиального — О(п2) — размера, то существует и квантовая схема примерно такого же размера (использующая напрокат дополнительные q-биты, как это объяснялось раньше). Перестановка, которую задаёт оператор Ua, разбивается на циклы. Цикл, содержащий а, содержит и 1 (после регд(а) — 1 итераций мы попа- попадаем из а в 1). Алгоритм, о котором пойдёт речь, начинает с состояния 11) и применяет к нему оператор Ua по многу раз. Но за пределы орбиты а (цикла перестановки, которому принадлежит а) мы такими преобра- преобразованиями не выйдем. Поэтому рассмотрим ограничение оператора Ua на подпространство, порождённое орбитой а. Собственные числа для Ua : Хк — е2пгк/1, где t — период. Собственные векторы для Ua : \?а,к) = 7= Щ e~2nikm/t\am). Легко проверить, что написанные векторы действительно собствен- собственные. Достаточно заметить, что умножение на а приводит к сдвигу индексов в сумме. Если заменить переменную суммирования, чтобы устранить этот сдвиг, получим множитель е2пгк^. Если бы мы могли измерять собственные числа оператора Ua, то получали бы числа k/t. Сначала разберём, как это может нам помочь в нахождении периода. Пусть у нас есть машина М, которая при каждом запуске выдает нам число k/t, где t — искомый период, а к — равномерно распреде- распределённое на множестве {0,..., t — 1} случайное число. Мы предполагаем, что k/t представлено в виде несократимой дроби к'/t' (если бы машина выдавала число в виде k/t, то вообще не было бы проблем). Получив несколько дробей такого вида k[/t[, k'2/t'2,...,k\ft\, можно с большой вероятностью найти число t, приводя эти дроби к общему знаменателю. Лемма. Если получено I дробей, то вероятность того, что наи- наименьшее общее кратное их знаменателей отлично от t, меньше 3-2~'. Доказательство. Дроби k\/t'x,... ,k[/t\ получаются сокращением дробей k\/t,...,ki/t (т.е. kj/t'j = kj/t), где kt,...,ki — независимо распределённые случайные числа. Достаточно, чтобы эти числа бы- были в совокупности взаимно просты, тогда наименьшее общее кратное t[,..., t\ будет равно t. Вероятность того, что к\,..., fcj имеют общий простой делитель р, не больше, чем 1/р'. Поэтому вероятность получить не t после приве-
Быстрые квантовые алгоритмы 95 °°л 1 дения к общему знаменателю не превосходит \J — < 3-2~' (эта сумма к=2к заведомо включает в себя все простые, меньшие t). О Теперь будем строить машину М. Она должна содержать схему, из- измеряющую собственные числа оператора Щ для любого b (а не только для b — а — числа, для которого ищется период). Точнее говоря, нам нужен оператор U: \Ь,х) >-> \b,bx mod q), если (b, q) = 1. Как оператор U действует в остальных случаях, неважно. Его можно доопределить любым вычислительно тривиальным способом. На самом деле, все при- приведённые ранее рассуждения об имитации классических схем кванто- квантовыми сохраняют силу и для имитации схем, вычисляющих частично определённые функции. Задача 12.2. Используя оператор U, реализуйте оператор ЛA1ь) для любого Ь, взаимно простого с q. Обозначим ?0)fc = C(|?ajfc)) (подпространство, порождённое |?o,fc)), тогда искомая схема должна реализовывать измеряющий оператор t-i W = Yl va,k ®П?аА; с операторами Va,k вида |0) н-> Y,y,z су,г\у, z), где у — некоторая несократимая дробь, а z — мусор. При этом для условных вероятностей должно выполняться неравенство > 1-е, где Ы обозначает несократимую дробь, представляющую рациональ- рациональное число k/t. Построение такой измеряющей схемы довольно сложное, поэтому вначале объясним, как из неё строится машина М. Возьмём состояние |1) в качестве начального. Прямое вычисление (читателю рекомендует- рекомендуется его проделать) показывает, что |1) = —^ Ylk^n l?*)- ^TO равенство гарантирует равномерное распределение числителей дробей. Проведём измерение в этом состоянии, тогда по формуле полной вероятности по- получаем к Вероятности всех |&) равны: P(|l),?fc) = |(&|1)|2 = 1/i, а указанное выше свойство условных вероятностей гарантирует нам, что с веро- вероятностью 1-е будет получаться ы. Как будет видно в дальнейшем,
96 Квантовые вычисления при построении W можно сделать величину е сколь угодно малой. Условно работу машины М можно представить в виде такого про- процесса: случайный выбор А; ,._,., ., „ . > измерение W (бог, играющий в кости) ' (Случайный выбор к происходит сам по себе, без применения какого бы то ни было оператора. Просто формула полной вероятности устроена так, как будто до начала измерения генерируется случайное к, которое затем остается постоянным. Разумеется, формула условной вероятно- вероятности верна только тогда, когда оператор W является измеряющим для заданных подпространств ?<,,*)¦ 12.5. Построение измеряющего оператора. Теперь будем строить оператор, измеряющий собственные числа Ua. Как уже было сказа- сказано, можно ограничиться изучением действия этого оператора на вход |?а,*)- Построение разделяется на три этапа. 1. Ищем информацию о Aj = е2*гч>к^ Где щ _ _ mod 1 (см. 12.5.1). С 2. Локализуем значение tp с небольшой точностью. Самое время под- подчеркнуть, что во всех приводимых рассуждениях есть два параме- параметра: вероятность ошибки е и точность 5. Мы пол/чаем некоторое число z как результат измерения, при этом должно выполняться условие Pr[|z — <pi| > tf] ^ e. Пока нас устроит небольшая точность, скажем, 6 = 1/8 (см. 12.5.2). 3. Далее нужно увеличить точность. Необходимо уметь отличать друг от друга числа вида ip = k/t, где 0 ^ к < t < 2П. Заметим, что если ki/ti Ф k2/t2, то \ki/h — fe/^l ^ l/tih > 1/22". Поэтому, зная значение ц>ь = k/t с точностью l/22n+1, мы можем определить его абсолютно точно (в виде несократимой дроби). Чтобы сделать это эффективно (за полиномиальное время), можно использовать алгоритм цепных дробей (см. 12.5.3). 12.5.1. Как получать информацию о собственном числе. В разде- разделе 11 был введён оператор Н(?/о) = (Н 0 I)A(Ua)(H ® /), измеряющий собственные числа. В нашем случае A;t = e2iriv^ поэтому можно запи- записать этот оператор в виде
Быстрые квантовые алгоритмы 97 а его действие в виде так что для условных вероятностей получаем выражение Р@|*) = 1 + е-71 2 Нам потребуется ещё оператор 3(Ша)- Его также нетрудно реа- реализовать. Реализация, изображённая на рисунке, использует оператор f К = ( _ . ] из стандартного базиса. Обведённый фрагмент реализует оператор A(iUH). Действительно, К умножает на i только |1), но как раз в этом случае применяется оператор Ua (по определению оператора A(Un)). Для оператора E(iUa) условные вероятности равны \ A(iUa) у' Сложность реализации операторов Н([/и) и 3(iUa) заъисит от слож- сложности реализации оператора A(Ua), которая ненамног¦> вытмс сложности реализации оператора Ua (см. задачу 12.2). 12.5.2. Оценка условных вероятностей. Мы будем локализовывать значение /р^, оценивая условные вероятности, приведённые выше. Для получения такой оценки будем применять операторы S(Ua) и Е(Ша) к различным «приборам* (дополнительным q-битам). Рассуждения оди- одинаковы для обоих операторов, поэтому ограничимся случаем Е(?/„). У нас ость квантовый регистр А, в котором находится |?a,fc)- (На самом деле там вначале был |1) = —¦= Х^[-~о \?.k)i но мы р;.осматриваем vt \?,a,k) по отдельности; это корректно в силу вида измеряющего операто- оператора). Заведём большое количество (s штук) вспомогательных регистров длиной в 1 бит. Каждый из этих регистров будет использоваться для применения оператора E(f/a). Как было доказано в разделе 11 (см. с. 87), условные вероятности в таком случае перемножаются. Для оператора f| ^({/o)^,^] условные г=1
98 Квантовые вычисления S вероятности будут равны Р(г/Ь ... ,ys\k) = Ц Р(уг\к) (здесь через уг г=1 обозначено значение в r-ом бите). Далее с битами, в которых записаны результаты «экспериментов», будут уже производиться классические действия. Поскольку условные вероятности перемножаются, можно считать, что мы оцениваем веро- вероятность выпадения 1 в серии испытаний Бернулли. Если монета брошена s раз, то доля выпавших единиц {"J,УгI s при- примерно равна P(l|fc). С какой точностью верна такая оценка? Из тео- теории вероятностей известно, что Рг ys = \Ут >S\ <2e -c&'s s где с > 0 — некоторая константа. Это показывает, что при любом фиксированном 5 можно добиться вероятности ошибки е за O(log(l/e)) испытаний. Итак, мы научились находить с некоторой точностью 8 синус и ко- косинус от tfk- Теперь подберём 8 таким, чтобы значение ipk можно было установить по значениям синуса и косинуса с точностью 1/8. На этом второй этап завершен. 12.5.3. Экспоненциально точное определение собственных чисел. Для увеличения точности мы будем использовать, наряду с Л([/о), опе- операторы A((UnJ ) для всех j ^ 2п. Числа мы можем быстро возводить в степень, а операторы, вообще говоря, — нет. Но оператор умножения на число Uа обладает следующим замечательным свойством: (U у — Uapi 1 Следовательно, A((UaJ ) = A(t/j,), где b = a2 (mod q). Нужные нам значения параметра Ь можно вычислить при помощи схемы полиноми- полиномиального размера, а затем использовать результат задачи 12.2. Вернёмся к схеме пункта 12.5.1. Мы находили собственное число Afc = e2ntKpk для некоторого собственного вектора |?o,fc)- Этот же вектор останется собственным и для любой степени оператора Ua, поэтому можно на одном и том же квантовом регистре искать собственное число для t/2 = Ua2, оно равно А*; = e27vPfc; для ?/„ = 11ал оно равно А^ = Другими словами, мы можем с точностью 1/8 определить значения (fki^fk, ¦ ¦ ¦ ,22п(рк по модулю 1. Но это позволяет определить <рь с точностью l/22n+1 за полиномиальное время. Идея доказательства. Множество возможных значений ipk Удобно представлять в виде окружности единичной длины. Зная <рк с точно- точностью 1/8, мы выделяем дугу в 1/4 от всей окружности. Знание 2(рь с
Быстрые квантовые алгоритмы 99 Вход: а и q - Вычисление степеней a2' (j — 1, ...,2л) по модулю q (классиче- (классическое). - Создание I штук квантовых регистров, содержащих базисное состо- состояние |1). 2s 0 0 0 0 0 0 0 0 у[1) у[1) У? yil) у\2п) у?п) У™ у?п) ins дополнительных q-битов («приборов») • Квантовые измерения при помощи операторов 3,(U 2j) и E(iU 2j). результаты измерений — нули и единицы • Подсчет числа нулей и единиц (классический). cos ip ± 6 cosB2n f) ±6 siny>±6 sinB2ncp) ± 6 • Тригонометрические вычисления (классические). V±\ ... 22>±| • Уточнение значения ip но набору чисел (р,..., 22nip (классиче< кое). • Определение точного значения ц> при помощи цепных дробей (классическое). к'/t' — несократимая дробь, равная ц> ГТ7 *1 1 - Вычисление наибольшего общего знаменателя (классическое). Ответ: t (с вероятностью ошибки < 3 • 2~l + 4nle~cs, где с = const) Таблица 1. Общая картина вычислений по описанному алгоритму
100 Квантовые вычисления точностью 1/8 позволяет выделить две дуги длиной 1/8 каждая, причём только одна из них имеет непустое пересечение с предыдущей дугой. Важные замечания. 1. Существенно, что вектор |?*) не портится во время вычислений. 2. Всё вычисление в целом зависит от параметров I и s. Суммарная вероятность ошибки не превышает 3 • 2~l + 4nle~c$, где с — const. Если требуется получить ответ с вероятностью ошибки ^ 1/3, сле- следует положить I = 4, s = cjlogn, где ci — некоторая константа. При этом получается квантовая схема размера О(п3 logn). 12.6. Обсуждение алгоритма. Обсудим два естественно возникаю- возникающих вопроса по поводу изложенного алгоритма. — Можно ли находить собственные числа других операторов так же, как в алгоритме вычисления периода? Да, например, можно нахо- находить собственные числа таких операторов U, для которых U\0) = |0), и есть полиномиальная схема реализации оператора Л({/). (Из задачи 7.5 следует, что если для самого оператора U есть полиномиальная схема, то и для оператора Л(С/) её также можно построить). Точность определения собственных чисел произвольного оператора невелика, полиномиально зависит от размера схемы. Если можно эф- эффективно вычислять степени оператора (как и было в рассмотренном алгоритме), то точность можно сделать экспоненциальной. — Какие собственные числа мы находим? Мы находим значение случайно выбранного собственного числа. Распределением по множест- множеству всех собственных чисел можно управлять, выбирая начальное состо- состояние (в алгоритме вычисления периода — |1)). Если взять в качестве начального состояние, задаваемое диагональной матрицей плотности где |?fc) пробегает множество собственных векторов U, то получим рав- равномерное распределение на множестве всех собственных чисел. В алго- алгоритме нахождения периода начальное состояние выбиралось иначе: мы выбирали такой вектор, чтобы получить равномерное распределение на собственных числах, соответствующих определённой орбите, осталь- остальные собственные числа не порождались. Задача 12.3. Постройте квантовую схему размера poly(nlog(l/<5)), реализующую преобразование Фурье на группе Z^ при любом к ^ 2" с
Быстрые квантовые алгоритмы 101 точностью д. (Определение см. в задаче 8.4. Указание: воспользуйтесь результатом задачи 11.2). 12.7. Задача о скрытой подгруппе в Zfc. Алгоритмы, открытые Саймоном и Шором, обобщаются на довольно широкий класс задач, связанных с абелевыми группами. Самой общей из них является задача о скрытой подгруппе в Z* [23]. К ней сводится задача о скрытой под- подгруппе в любой конечно-порожденной абелевой группе G, поскольку G можно представить как фактор-группу Zk (для некоторого к). «Скрытая подгруппа» D С Ък изоморфна Zk, поскольку она имеет конечный индекс: порядок группы Е = Zk/D не превосходит 2П. С вы- вычислительной точки зрения D представляется базисом (<7i,. .•,<?*), дво- двоичная запись которого имеет длину pcly(fc, n). Любой такой базис счи- считается решением задачи. (Эквивалентность двух базисов можно прове- проверить при помощи полиномиального алгоритма). Задача о вычислении периода является частным мучаем задачи о скрытой подгруппе в Z. Напомним, что perq(a) = min{t ^ 1 : а1 = 1 (mod q)}. Фунция f:xt->ax mod q удовлетворяет условию A2.1), где D = {т perq(a) : т € Z}. Эта функция полиномиально вычислима, поэтому любой полиномиальный алгоритм нахождения скрытой под- подгруппы преобразуется в полиномиальный алгоритм решения задачи о вычислении периода. Известная задача вычисления дискретного логарифма может быть сведена к задаче о скрытой подгруппе в Z2. Дискретным логарифмом числа а по основанию С, где ? — некоторый первообразный корень по модулю простого числа q (образующая (Z/qZ)*), называется наимень- наименьшее положительное число s такое, что ?s = а. Рассмотрим функцию /: {xijX-z) •-> CXlflZ2 mod q. Эта функция также удовлетворяет усло- условию A2.1), где D = {(xi,x2) G Z2 : (Xlax* = 1 (mod q)}. Зная базис подгруппы D С Z2, легко найти элемент вида (s, —1) € D. Тогда ?s = a, т. е. s есть дискретный логарифм а по основанию С. Опишем квантовый алгоритм решения задачи о скрытой подгруп- подгруппе в G = Zk. Он аналогичен алгоритму для случая G — (Яд)*, только вместо оператора Н®к используется процедура измерс-нил собственных чисел. Вместо базиса самой группы D мы будем искать систему обра- образующих для группы характеров Е* = Hom(li, U(l)) (переход от Е* к D осуществляется при помощи полиномиального алгоритма, см., напри- например, [14, Т. 1]). Характер (.91, ¦ ¦ ¦,9к) >-> ехрBтгг ]Г
102 Квантовые вычисления задаётся набором чисел <р\,..., if^ по модулю 1. Это рациональные чи- числа со знаменателями не больше \Е*\ ^ 2™. Если породить / = п + 3 случайных равномерно распределённых характера (Vi , •••, V* )> ••• > (v>i >•••>?>*)> то они порождают всю группу Е* с вероятностью ^ 1 — 1/2'~п = 1 - 1/8 (см. задачу 12.1). Ка- Каждую из величин ipp достаточно знать с точностью ё и вероятностью ошибки ^ е, где Последнее условие гарантирует, что суммарная вероятность ошибки будет не больше, чем 1/8 + 1/5 < 1/3. Выберем достаточно большое число М — 2т (конкретная оценка по- получается из анализа алгоритма). Мы будем работать с целыми числами в диапазоне от 0 до М — 1. Приготовим в одном квантовом регистре длины km состояние \0 = М-*/2 53 Is), где Д = {0,..., Л/ - l}fc. В другой регистр поместим |0п). Применим квантовый оракул A2.2) и выбросим второй регистр. Получится смешанное состояние g,h?A:g-heD Теперь мы собираемся измерить собственные значения операторов сдвига по модулю М: Vj : [gi,-.-,gj,---,9k) >-> (si, • • •, (9j + 1) mod M,...,gk) (меняется только j-ая компонента). Эти операторы коммутируют, по- поэтому у них есть общий базис из собственных векторов, и, значит, мож- можно определять их собственные числа одновременно. Собственные числа имеют вид е2п13з/м. Соответствующие собственные векторы равны (9i,---,9k)€A Вероятность того, что реализуется данный набор s\,..., Sk, равна Хв(9 - где ха{ф) обозначает характеристическую функцию множества А. Фу-
Квантовый аналог NP: класс BQNP 103 рье-образ от произведения равен свертке фурье-образов сомножителей. Таким образом, получаем: j jj (sm(Mn{sj/M - где РЛ*1*Л = ]1{ При заданных значениях щ,... ,ipf. функция pvi,...tlfik(si,... ,Sk) яв- является вероятностным распределением, относительно которого (/3 — любое). Мы измеряем величины Sj/M (как уже говорилось, изме- измерение одной из них не меняет значения другой); при этом нас устроит точность C и вероятность ошибки ^ \/МC. Тем самым мы получа- получаем значения ipi,..., ipk с точностью 8 = 2/3 и вероятностью ошибки ^ е — 2/М/З. Теперь осталось подобрать числа Ми/?, чтобы удовле- удовлетворить неравенствам 12.3. Сложность алгоритма. Требуется О(п) обращений к оракулу, ка- каждый вопрос имеет длину O(k(n + log к)). Размер кванювой схемы оце- оценивается как О (кп3) poly (log к, logn). Замечание. Для измерения собственных чисел операторов Vj мож- можно воспользоваться квантовым преобразованием Фурье на группе Z м при М = 2т (см. задачу 8.4). Это позволяет несколько уменьшить раз- размер схемы (на логарифмический множитель), однако приходится ис- использовать нестандартные элементы. 13. Квантовый аналог NP: класс BQNP Можно строить квантовые аналоги не только для класха Р, но и для других классических сложностных классов. Мы разберём пример квантового аналога класса NP. 13.1. Модификация классических определений. Квантовое вычи- вычисление, как, впрочем, и вероятностное, наиболее естественно описы- описывать, используя частично определённые функции. Ранее мы обходились без этого понятия, чтобы не усложнять изложение лишними деталями, но теперь оно нам потребуется. Частично определённая булева функция — это функция F: В" -* {0, 1, (не определено)}.
104 Квантовые вычисления В этом разделе всюду под булевыми функциями подразумеваются ча- частично определённые булевы функции. И ещё одно замечание по поводу обозначений: мы использовали обо- обозначение Р и для класса полиномиально вычислимых функций, и для класса полиномиально разрешимых предикатов; теперь поступим ана- аналогично, используя обозначения Р, NP и т.п. для классов частично определённых функций. Р, естественно, обозначает класс полиномиально вычислимых ча- частично определённых функций. Приведём модифицированное опреде- определение класса NP. Определение 13.1. Функция F: В* —> {0, 1, (не определено)} при- принадлежит классу NP, если есть частично определённая функция R ? Р от двух переменных, такая что F(x) = l ^> Эу((|у|<д(И))Л(Д(х,у) = 1)), F(x)=0 => Vy((\y\<q(\x\))=>(R(x,y)=0)). Как и раньше, q(-) — полином. Что будет, если в определении 13.1 заменить условие R ? Р на усло- условие R € ВРР? Получится другой, скорее всего, более широкий класс, который можно было бы обозначить BNP. Однако для этого класса есть другое, стандартное, обозначение — МА, указывающее на то, что он входит в иерархию классов, определяемых играми Артура - Мерлина. Об играх, которыми задаются сложностные классы, мы уже говорили в разделе 4.1; игры Артура - Мерлина отличаются тем, что Артур — вероятностная полиномиальная машина Тьюринга. Порядок букв в обо- обозначении МА указывает на порядок ходов: вначале Мерлин сообщает у, затем Артур проверяет выполнение предиката R(x,y). 13.2. Квантовое определение по аналогии. Определение 13.2. Функция F: В* —> {0, 1, (не определено)} при- принадлежит классу BQNP, если существует однородная последователь- последовательность квантовых схем полиномиального по п размера, реализующих такие операторы Un: B®N" -* B®Nn, что Fn(x) = l Fn(x) = 0 Здесь Fn(-) — ограничение F на слова длины п, |?) б в^т", тп = = poly(n), М = |1) <Э B0(-N"~1\ а для р0 и pi должно выполняться условие р\ — Ро = fi(n~a), a ^ 0.
Квантовый аналог NP: класс BQNP 105 Вектор |?) выполняет роль подсказки (у) из предыдущего определе- определения. Нам удобнее считать его первым аргументом оператора Un (чтобы можно было в любой момент положить х константой и исключить из обозначений). Замечание 13.1. В определении 13.2 кванторы по |?) включают в себя только векторы единичной длины. Аналогичное соглашение будем использовать и далее в этом разделе, вынося нормировочные множите- множители за знак |). Если вместо чистых состояний |?) рассматривать смешанные, то по- получается эквивалентное определение: максимум вероятности всё равно достигается на чистом состоянии. По сути происходит всё та же игра Мерлина с Артуром, только теперь подчиняющаяся законам квантовой механики. Сообщение Мер- Мерлина (состояние |?)) даёт Артуру возможность убедиться в том, что F(x) = 1 с вероятностью р\, если это так. А если F{x) = 0, то вероят- вероятность, что Мерлину удастся убедить Артура в обратном, не выше ро для любого сообщения Мерлина. Обсудим теперь соотношения между пороговыми вероятностями. Из приведённого в определении 13.2 соотношения следует гораздо более сильное условие на ро и р\. Лемма 13.1 (усиление вероятностей). Если F 6 BQNP, то она удо- удовлетворяет также и такому варианту определения 13.2 где условие Pi — Ро = П(п~а) заменено на pi = 1 — е, ро — е, е -- ехр(—Oin13)), Доказательство. Общая идея усиления вероятностей остаётся преж- прежней: рассмотрим большое, но ограниченное полиномом, количество ко- копий схемы, реализующей оператор U = Un (индекс п мы будем опус- опускать). К результатам их работы применим функцию голосования с по- пороговым значением, разделяющим вероятности ро и Pi '¦ к 1, если 52 Zj ^ !. jt A3-1) 0, если 52 zj < '> где I = рк, р = (ро +р\)/2. Но теперь появляется дополнительная труд- трудность — Мерлин может пытаться обмануть Артура, сообщая ему не- неразложимую в тензорное произведение подсказку. Пусть мы используем к копий схемы U. Предоставим Мерлину большую свободу, разрешив в качестве подсказки любую матрицу
106 Квантовые вычисления плотности р е Ь{В®кт). Вероятность получения ответов z\,... ,zk при подсказке р равна P(zu ,...,гк\р)= Тт(Х^ ® ... ® Х^'р), A3.2) где » (^<а)( JVJV)). A3.3) Здесь Щ — проектор на подпространство состояний, имеющих а в первом q-бите (т.е. С(|а)) Чтобы убедить Артура в правильности F(x) = 1, Мерлин может дать подсказку р = pfk, где рх = |?z)(?zl — сообщение, которое убе- убеждает Артура, действующего по схеме U, с вероятностью р\. По общим свойствам квантовой вероятности, формула A3.2) преобразуется в к к Рассмотрим теперь случай, когда F(x) = 0. Нам нужно оценить ве- вероятность P(zi,... ,Zk) для произвольного сообщения Мерлина р. Вы- Выберем в пространстве /?®т ортонормированный базис, в котором диа- гонализуется оператор Х^ (этот оператор, очевидно, эрмитов). Опе- Оператор XW = I — Х^ диагоналей в том же базисе. Определим набор «условных вероятностей» p(z\d) = (d|X^|<i), где \d) — один из базис- базисных векторов. (Очевидно, что p(z\d) ^ 0 и p@\d) + p(l\d) = 1.) Тогда величина P(zi,... ,Zk\p) приобретает вид P(zl7...,zk\p) = ^2 Pd1...dkp(zi\d1)...p(zk\dk), ]Г pdl,..dk=l. A3.4) Здесь pdl...dk = (di ...dk\p\di ...dk). Формула A3.4) имеет следующую интерпретацию. Рассмотрим на- набор вероятностей P(zi,..., zk \ р) для всех последовательностей {z\,... ... ,zk) как вектор в fc-мерном вещественном пространстве. Мы показа- показали, что этот вектор на произвольной подсказке р принадлежит выпукл- выпуклой оболочке таких же векторов на разложимых подсказках |di,... ,dn). Поэтому наибольшая вероятность события G{z\,..., zk) = 1 (для любой функции G) достигается на подсказках такого вида. В случае, когда G — пороговая функция A3.1), pmax = maxPr [G(zu... ,zk) = l| p] = ? (k)pi(l -p,)k~j, A3.5)
Квантовый аналог NP: класс BQNP 107 где р» = max|?^(?|Х^|?)- Согласно условию, р* ^ pi, если F(x) = 1, я Р* ^ Ро, если F(x) = 0. Оценим величину Ртах в этих случаях, соответ- соответственно, снизу и сверху. Будем использовать неравенство Чернова (см. [18]). Пусть Тогда при р* ^ pi получаем 1 "Ртах ^ exp(-H(p,pi)k), а при р» ^ ро — Ртах ^ ехр(-Н(р,рО)к). Из неравенства 1пA + х) ^ х следует, что H(p,q) ^ 0. Используя более точное разложение 1пA + х) ^ х — х2/2 + х3/3, можно получить оценку Н{р, я) = &((р~яJ)- Так что при к = rila+l3 указанные в условии оценки на е выполнены. D Замечание 13.2. Важным моментом в изложенном доказательстве является тот факт, что Х^ и X*1' диагонализуются в одном и том же базисе. Вообще, усиление вероятностей для нетривиальных сложност- ных классов (как квантовых, так и классических) — вещь довольно тонкая. 13.3. Полные задачи. В классе BQNP, как и в NP. есть полные за- задачи относительно той же самой полиномиальной сводимости, которую мы рассматривали раньше. Вот простейший пример. Задача 0. Зададим функцию F следующим образом. Пусть Z — множество троек вида ((описание квантовой схемы W),po,pi), где под описанием схемы понимается её приближённая реализация в стандартном базисе, а р\ — р0 = п(п~а) (а > 0, п — размер описания схемы). Тогда для z ? Z F(z) = 1 <=> если существует вектор |?), при действии на кото- который мы получим в первом бите 1 с вероятностью, большей pi; F(z) = 0 <=> если для всех |?) вероятность получить в первом би- бите 1 меньше ро. Полнота задачи 0 очевидна. Всё, что требуется для построения сведения, содержится в определении 13.2. Вход х войдёт в описани. схемы W вместе со схемой Un.
108 Квантовые вычисления Рассмотрим более интересные примеры. Для начала дадим опре- определение квантового аналога 3-КНФ — локального гамильтониана (ло- (локальность является аналогом ограниченности числа переменных, вхо- входящих в одну дизъюнкцию). Определение 13.3. Оператор Н: В®п -> В®п называется к-локаль- к-локальным гамильтонианом, если он выражается в виде 5 где каждое слагаемое — эрмитов оператор, действующий на множе- множестве q-битов Sj, \Sj\ ^ к, на остальных q-битах он действует то- тождественно. При этом выполнено условие нормировки 0 ^ Н3; ^ 1 (другими сло- словами, и Hj, и I — Hj — положительно полуопределённые). Задача 1: локальный гамильтониан. Пусть Z — множество троек вида ((описание fc-локального гамильтониана Н),а,Ь), где к = 0A), 0^а<Ь, Ь~а = п(п-а), (а > 0). Тогда для z G Z F(z) = 1 <=> если у Н есть собственное число, не большее а, F(z) = 0 <=> если все собственные числа Н больше Ь. Утверждение 13.2. Задача локальный гамильтониан принадле- принадлежит BQNP. Доказательство. Опишем вначале основную идею. Мы построим такую схему W, которая использует подсказку из пространства, в ко- котором действует Н, и выдаёт ответ «да» (значение 1) на подсказке \tj) с вероятностью р — 1 — г~г (г]\ Н \rj), где г — число слагаемых в гамильтониане Н. Если \rj) — собственный вектор, соответствующий собственному числу а, то вероятность ответа «да» будет p=\-r-l(n\H\n)>\-r-la, а если все собственные числа Н больше Ь, то Сперва построим такую схему для одного слагаемого. Пусть это будет Hj = ^2S As\ips)('ips\, действующий на множестве q-битов Sj. По- Поскольку размерность пространства, на котором действует Hj, ограни- ограничена константой, мы можем реализовать оператор
Квантовый аналог NP: класс BQNP 109 который действует на множестве q-битов Sj U {(ответ)}, где (ответ) обозначает q-бит, из которого берётся результат работы схемы. На остальных q-битах подсказки Wj действует тождественно. Вычислим вероятность 1 в бите результата после применения Wj к состоянию \т], 0) (бит результата установлен в 0 перед началом работы схемы). Пусть \т]) = 5Zs2/s|V's) — разложение \tj) по ортогональной си- системе собственных векторов Hj. Имеем, по определению вероятности, Pj(l) = (г,, 0| W] {I® \V^\)Wj \т,,0) = (ответ) = 1-(V\H\V). A3.6) Общая схема W выбирает случайно и равновероятно номер j, по- после чего применяет оператор Wj. Такое действие можно реализовать измеряющим оператором вида ?\- \j)(j\ ® ^j> применённым к вектору ( —7=7t2j \j) j ® I»/,0). (Здесь \j) обозначает базисный вектор во вспо- вспомогательном r-мерном пространстве.) Проводя вычисления аналогич- аналогично A3.6), получаем Утверждение 13.3. Задача ЛОКАЛЬНЫЙ гамильтониан полна в классе BQNP относительно полиномиальной сводимости. Идея доказательства восходит к Фейнману [20]: замена унитарной эволюции не зависящим от времени гамильтонианом (т. е переход от схемы к локальному гамильтониану). Доказательство. Итак, пусть есть схема размера L: U = Ul ¦ ¦ ¦ ¦ ¦ U\. Будем считать, что U действует на пространстве из JV q-битов, первые т. из которых — q-биты подсказки, а остальные — вспомогательные (взятые напрокат на время вычислений); считаем также, что схема со- состоит из операторов, действующих на парах q-битов.
110 Квантовые вычисления Гамильтониан, сопоставляемый схеме. Он действует на простран- пространстве где первый сомножитель — пространство, на котором действует схема, а второй сомножитель — пространство счётчика шагов (часы). Состо- Состоит этот гамильтониан из трёх слагаемых Н — Нщ + Л prop + "OUt- Слагаемое Нт отвечает начальному состоянию и равно Нт= ( V n<1J | ® |0)@|, A3.8) \s=m+l / где Щ — проектор на подпространство векторов, у которых s-й бит равен а. Второй сомножитель в этой формуле действует в пространстве счётчика. Слагаемое Hout отвечает конечному состоянию и равно Яои1 = П<0) ® \L)(L\, A3.9) здесь мы считаем, что бит результата — первый. И, наконец, слагаемое Нртор описывает эволюцию системы и состо- состоит, как и следовало ожидать, из L слагаемых, каждое из которых от- отвечает за переход от j — 1 к j: L A3.10) Каждое слагаемое Hj действует на два q-бита из пространства со- состояний и на q-биты пространства счётчика. Замена базиса. Произведём замену базиса, задаваемую оператором L j=o Полезно обратить внимание на то, что W — измеряющий оператор: измеряется значение счётчика j и к q-битам пространства состояний схемы применяется оператор эволюции за время j. Гамильтониан при такой замене изменится на сопряжённый: Н = = W^HW. Посмотрим, как действует сопряжение оператором W на слагаемые Н.
Квантовый аналог NP: класс BQNP 111 На слагаемое Нт сопряжение не влияет: Hin = W^HmW = Hin. Действие на слагаемое Houi: Hout = W^H0UtW = (tftn<0)tf) ® \L)(L\. A3.11) A3.12) Слагаемое Hj состоит из трёх. Вначале запишем действие сопряже- сопряжения на первое из слагаемых в A3.10): u,t j •...¦ t/i)®((|iH1)tIj>0"-1| (li -1>0"- Сопряжение двух других слагаемых происходит аналогично, в итоге получаем где / I 2 I  I ' 2 1 —I 0 \ 0 1 -2 1  ¦•/ A3.13) Оценка собственного числа при ответе «да». Предположим, что схе- схема, на вход которой подан вектор |?), даёт ответ 1 с вероятностью не меньше, чем 1-е. Это, по определению, означает, что Докажем, что в этом случае у Н (а, значит, и у Н) есть малое собственное число. Для этого предъявим такой вектор \fj), что (fj\ H \fj) достаточно мало (минимум квадратичной формы (-\Н\-) достигается на собственном векторе).
112 Квантовые вычисления В пространстве счётчика выберем вектор ^1». аз.14) j=0 Искомый вектор \fj) равен |?,0) <8) |V;)- Оценим (rj\ H \rj). Очевидно, что Е\ф) = 0. Поэтому Поскольку все вспомогательные q-биты вначале установлены в 0, то непосредственно из определяющей формулы A3.8) получаем Остаюсь оценить последнее слагаемое | |r7) = Р@) l ^ L+T Итак, мы доказали, что поэтому у II есть собственное число с такой же верхней оценкой. Оценка собственного числя при ответе «нет». В этом случае нам нужно доказать, что все собственные числа велики. Пусть для любого вектора |?) вероятность ответа 1 не превосходит s, т.е. (^oi^n'0'/У !?,()):> 1-е. Докажем, что в этом случае все собственные числа Н больше либо рав- равны с \ — \/ё)Ь~3, где с — некоторая константа. Доказательство довольно длинное, поэтому вначале; приведём его кршкий план. Представив гамильтониан в виде суммы Н — А± + А% операторов А] — H\n + Hout и Ао — Нргор, мы оценим снизу наименьшие ненулевые собственные числа А\ и А? по отдельности. Получим оцен- оценки 1 к c'L~'~ соответственно. Чтобы оценить наименьшее собственное число А\ V .4.2, нам потребуется лемма, которая даёт такую оценку для :,уми:ы через оценки для слагаемых и угол мраду их нулевыми под- подпространствами. Углом между подпространствами С\ и ?•> с нулевым пересечением будем называть величину i9(Ci,C-2), задаваемую услови- условиями ,C-2)= max «^il^», 0 < i9(?b?2) < f ¦ A3.15) Лемма 13.4. Пусть Ai, A2 — неотрицательные операторы, L\, ?2 — их нулевые подпространства, причём С\ ПС? = 0. Пусть также
Квантовый аналог- NP: класс BQNP 113 ненулевые собственные числа А\ и А2 не меньше v. Тогда Ах + А2 >u-2sin2|, A3.16) где д = д{С\,С2) — угол между С\ и С->. Обозначение А ^ а (А -- оператор, а — число) нужно понимать как сокращение от А — al J? 0. Другими словами, если А >. а, то все собственные числа А не меньше а. В нашем случае мы получим оценки 1 и c'L~2 для ненулевых соб- собственных чисел Ai и А-2 (об этом уже говорилось выше) и sin2 # J? ^ A — \fs)f(L + 1) для угла. Отсюда вытекает искомое неравенство Я > сA Доказательство (леммы 13.4). Очевидно, что Ах ^ v(I — П?г) и Л-2 ^ г;(/ — П?2), поэтому достаточно доказать неравенство (/ — П^,) + + (/ — II?2) ^ 2sin2(i?/2). Оно, в свою очередь, эквивалентно такому неравенству: П?, +П?2 < 1+cos??. A3.17) Пусть |?) — собственный вектор оператора II^j + П^,, отвечающий собственному числу А > 0. Тогда где \t]i) € Сх и jт/2) € ?'2 — единичные векторы, a «i и ы-2 — ¦ неотрица- неотрицательные вещественные числа. Отсюда находим А2 - (их{qi | + u2{m\) (ux\rjx) + и2\т}2)) = ы2 + и2 Следовательно, A + х)Х - А2 - х(щ ± и2J > 0, где х = |Re(rji|7j2)|- Таким образом, А^1+а:<1 + cos»?. П Теперь получим упомянутые выше оценки. Нулевые подпростран- подпространства А\ и А-2 представляются в виде Ci = В®111 50 |0л-т> ® |0) 0 B'8jV ® С(A),... , \L - 1)) © (m8) (последний сомножитель во всех слагаемых относится к пространству счётчика), С2 = B®N ® \ф), A3.19) где вектор \ф) определён формулой A3.14).
114 Квантовые вычисления Для оценки Ai\ct > г A3-2°) достаточно заметить, что А\ является суммой коммутирующих друг с другом проекторов, поэтому все собственные числа этого оператора целые. Для оценки Лг^х нужно найти первое положительное собственное число матрицы Е. Собственные векторы и собственные числа Е даются формулами L \Фк) = ak^cob{qk{i + 2)) \J), A* = 1 - cosqk, 3=0 где qk = 7rfc/(L +1) (к ~ 0,..., L). Отсюда следует, что Л2]?х > 1 - cos (~^) Z c'L-2. A3.21) Наконец, нужно оценить угол между подпространствами С] и Li. Будем оценивать квадрат косинуса угла cos2tf= max \{щ\щ)? = max <г^|П?]|г/2>. A3.22) MeC Представим \г]2) в виде |?) ® \ф). Проектор на С\ распадается на сумму трёх проекторов, в соответствии с A3.18). Совсем легко подсчитать вклад второго слагаемого, он равен (L - 1)/(L + 1). Первое и третье слагаемые в сумме дают где К.г = B®N, ?2 = U* (|1) ® В®^-1)), а <р — угол между этими дву- двумя подпространствами. (Здесь используется неравенство A3.17), полу- полученное в ходе доказательства леммы 13.4). Величина cos2 ip равна максимальной вероятности получения ответа 1 исходной схемой; по условию она не больше, чем е. Получаем такую, продолжающую A3.22), оценку: / ITT I \ ^ L -I , 1 + у/ё л 1 - у/1 Следовательно, sin2 д = 1 — cos2 д ^ A —v/g)/(L + l), как и утверждалось выше. Реализация счётчика. Мы написали замечательный гамильтониан, почти удовлетворяющий требуемым свойствам. У него есть только один недостаток — он лишь (log Ь)-локальный (в пространстве счётчи- счётчика мы действуем на все q-биты).
Квантовый аналог NP: класс BQNP 115 Этот недостаток можно преодолеть, если вложить пространство счётчика в большее пространство. Возьмём L q-битов, занумерованных от 1 до L. Искомое вложение CL+1 —> B®L выглядит так: 3 L-3 Используемые в конструкции гамильтониана Я операторы на про- пространстве счётчика заменяются согласно схеме |0><0|наП<°\ lOXllHadOXll^Ilf, \j)(j\ на П^П^, \j - 1H| на п}1_I (|0){1|) .П^, A3.23) \L)(L\ на п?\ \L - 1){L\ на П<*1г (|0>(l|)L. Теперь они 3-локальные (а сам гамильтониан, с учетом действия на q-биты исходной схемы, — 5-локальный). Если говорить точнее, мы заменили гамильтониан Я, действовав- действовавший на пространстве ? = B®N ® CL+1, на новый гамильтониан Hext, определенный на большем пространстве ?ext = B®N ® B®L. Оператор -f^ext отображает подпространство ? С ?ext в себя и действует на нем так же, как Я. Теперь возникает новая проблема: что делать с лишними состоя- состояниями в расширенном пространстве счётчика? Мы справимся с этой проблемой, добавив етцё одно слагаемое к гамильтониану Hext: L-1 3=1 Нулевое подпространство оператора .ffstab совпадает со старым ра- рабочим пространством С, поэтому дополнительное слагаемое не меняет верхней оценки минимального собственного числа при ответе «да». При ответе «нет» требуемую нижнюю оценку для собственных чисел оператора Hext + Я84аь можно получить следующим образом. Оба сла- слагаемых оставляют инвариантным подпространство С, поэтому можно оценивать независимо на ? и его ортогональном дополнении ?-*-. На С имеем #ext ^ сA - у/ё)Ь~3 и Я„1аь = 0, а на ?-*- — Яех4 ^ 0 и Я^аь ^ 1- (Здесь мы пользуемся тем, что каждое из слагаемых гамильтониана, A3.8), A3.9) и A3.10), остается неотрицательным при замене A3.23)). В любом случае Это завершает доказательство полноты задачи о локальном гамильто- гамильтониане в классе BQNP. D
116 Квантовые вычисления 13.4. Место BQNP среди других сложностных классов. Прямо из определения следует, что класс BQNP содержит класс МА (а, значит, и ВРР, и NP). Ничего более определённого о силе «недетерминированных» квантовых алгоритмов сказать пока нельзя.15) Не слишком много можно сказать и об их «слабости». Утверждение 13.5. BQNP С PSPACE. Доказательство. Максимальная вероятность того, что подсказка Мерлина будет принята Артуром, равна масимальному собственному числу оператора X = Х^ (см. формулу A3.3)). Нам нужно вычислить эту величину с точностью О(п~а) (а > 0). Заметим, что 0 ^ А' ^ 1. Для оценки максимального собственного числа будем использовать следующее предельное равенство: In Amax = Ип. d ->oo a Пусть Amax = Ai ^ A2 ^ ... ^ Asm — собственные числа оператора X (здесь т = poly(n) — длина подсказки). Имеем оценку d ln ? Ai In X <^ In ГгЛ _ j=l /ii _l — In 9 111 Amax 5% , — , 5% 111 Лщах г , HI ^, из которой следует, что для оценки с полиномиальной точностью нео- неотрицательного оператора, действующего на т q-битах, достаточно вы- вычислить след от его степени, ограниченной полиномом от т. Вычисление величины TrA'd делается на полиномиальной памяти тем же способом, что и моделирование работы квантовой схемы. Q Замечание 13.Й. Полученный результат можно усилить: BQNP С С PP. Доказательство полностью аналогично решению задачи 8.3. Замечание 13.4. Мы ограничились случаем игр Мерлияа и Арту- Артура, которые продолжаются один раунд. Недавно было показано [45], что уже двух раундов такой квантовой игры достаточно, чтобы по- получить весь класс PSPACE. В классическом случае ,для дс.:. ижения класса PSPACE требуется полиномиальное количество раундов [36, 37], причём в широких кругах узких специалистов господствует мтгение, что никакого фиксированного количества раундов недостаточно. 15>Предупреждение: в литературе встречается другое опрсде. -ние квяптового не- недетерминированного вычисления, для которого получена псяная хараклеризация я терминах классических сложностных классов (см. [46]]. *
Классические и квантовые коды 117 14. Классические и квантовые коды Как уже обсуждалось ранее, квантовое вычисление «не слишком» чувствительно к погрешностям реализации унитарных операторов: ошибки накапливаются линейно. Если есть последовательность унитар- унитарных операторов Ui,... ,Ul и последовательность приближений U\,... ... , Ul, \\Uj — Uj\\ < S, то выполняется неравенство \\UL-...-U1-UL-...-Ul\\<LS. Отсюда легко заключить, насколько изменится вероятность получе- получения правильного ответа F(x) квантовой схемой U ~- Ui ¦ ... ¦ U\ (см. определение 8.1). Эта вероятность (левая часть неравенства в опреде- определении) может быть записана как (?\U^HmU\?), где |?) = ^О^"™), a М — \F(x)) <8> B®(N~m\ Имеет место следующая оценка: \(?\и*Пми\?) - (?\Ц*Пми\?)\ ^ 2\\U - U\\ ^ 2LS. Таким образом, при неточной реализации унитарных операторов пра- правильный ответ получается с вероятностью ^ 1 — е — 2LS; в общем случае эта оценка неулучшаема. С точки зрения физической реализации квантового компьютера, по- полученный результат не является удовлетворительным. Получается, что размер квантовой схемы L не должен превосходить 1/D<5), иначе веро- вероятность правильного ответа может стать меньше 1/2. Поэтому возни- возникает важный вопрос: можно ли избежать накопления ошибок, используя схемы специального вида? Ответ на этот вопрос положительный. Идея состоит в том, чтобы закодировать (заменить) каждый q-бит, использующийся в вычислени- вычислениях, несколькими при помощи определённого изометрического вложения V: В —> Б®п. Дело в том, что ошибки, как правило, действуют одно- одновременно на небольшое число q-битов, поэтому кодирование повышает устойчивость квантового состояния. Конструкции, необходимые для организации вычислений без потери точности, довольно сложны. Подробно они изложены в [41, 19, 34, 4, 32], а здесь мы в основном ограничимся более простым вопросом: как со- сохранять неограниченно долго заданное квантовое состояние? (Легко понять, что это — частный случай предыдущего вопроса, когда реали- реализуется последовательность тождественных операторов.) Для решения такой упрощённой задачи конкретный вид кодирующего отображения V неважен; нужно задать лишь подпространство М. = Im V С В®". Определение 14.1. Квантовый код типа (п, т) — это подпростран- подпространство М С В®" размерности 2т. (Число т — количество закодирован- закодированных q-битов — не обязательно должно быть целым).
118 Квантовые вычисления Ошибки, возникающие при хранении информации, будут приводить к тому, что состояние системы будет выходить за пределы Ai. Поэтому необходимо научиться восстанавливать состояние системы после воз- воздействия ошибок определённого типа. 14.1. Классические коды. Вначале рассмотрим случай классиче- классических кодов. Мы лишь слегка затронем эту обширную тему. Подробное изложение теории кодов, корректирующих ошибки, (так обычно назы- называется эта наука) можно найти в [9]. Классический код типа (п, т) — это подмножество МСВ" мощ- мощности 2т. Для описания ошибок необходимо также определить канал связи — нечто вроде неоднозначного отображения Вп -* В™'. Суще- Существует две модели ошибок: более реалистичная — вероятностная, и упрощённая — теоретико-множественная. Согласно вероятностной мо- модели, канал связи задается условными вероятностями р(у | х) приема слова у при передаче слова х. Мы будем рассматривать случай неза- независимо распределённых ошибок, полагая что п' — п, а условные веро- вероятности определяются через вероятность ошибки при передаче одного бита pi: p(»|x)=pf^)(l-p1)"-rf^«'). - A4.1) Здесь d(x,y) — расстояние Хэмминга (число различных битов). Есть стандартный способ упростить модель независимо распре- распределённых ошибок. Оценим вероятность того, что с пучится более к ошибок (как ясно из формулы A4.1), эта величина от х не зависит). Считаем, что п, к — фиксированы, р\ •-> 0. Тогда Рфисло ошибок >k] = Y, ("W1 ~ Pi)""' - «(Pi )• A4-2) Итак, вероятность того, что число ошибок больше к, мала. Поэтому можно сильно упростить модель. Будем считать, что при передаче сло- слова х может получиться любое слово у, такое что d(x, у) ^ к (параметр к задаёт интересующий нас порог точности), а другие ошибки не встре- встречаются. Введём обозначения: N = В" — множество входов, 7V' = В" — множество выходов, Е С N х N' — множество переходов (оно же — множество ошибок), Е(п,к) — множество {(х,у) : d(x,у) ^ к]. Определение 14.2. Код М исправляет ошибки из множества Е, ес- если для любых х±,Х2 ? М ш (xi,y) € Е и (х2,у) € Е следует xi —¦ х-х-
Классические и квантовые коды 119 Другими словами это условие можно сформулировать так: для лю- любых пар (xi,j/i), (#2,2/2), принадлежащих Е, из xi,X2 & М и х\ ф х% следует уг ф у2. В том случае, когда Е = Е(п,к), говорят, что код исправляет к ошибок. Замечание. Термин «код, исправляющий ошибки» является неточ- неточным. Правильнее было бы сказать, что код оставляет возможность для исправления ошибок. Исправляющие преобразование — это отображе- отображение Р: N' -> N, такое что, если {х,у) ? Е и х ? М, то Р{у) = х, вычисление значения исправляющего преобразования называется деко- декодированием. Пример 14.1. Код с повторением: М3 = {@,0,0),A,1,1)}С13. Такой код исправляет одну ошибку. Очевидное обобщение примера 14.1 приводит к классическим кодам, исправляющим любое количество ошибок. Построим более интересные примеры классических кодов. Для начала дадим ещё одно стандартное определение. Определение 14.3. Кодовое расстояние — это d{M) - min{d(xi,x2) : х\,хъ е М; хх ф х2}. Для кода из примера 14.1 кодовое расстояние равно 3. Имеется оче- очевидное утверждение. Утверждение 14.1. Код исправляет к ошибок тогда и только то- тогда, когда d(M) > 2k. 14.2. Примеры классических кодов. 1. Мп типа (п, 1); для него d{Mn) — п. п п Это самая простая схема кодирования. Повторяем каждый бит мно- много раз, а после каждой операции восстанавливаем кодовое слово, заменяя значения битов на то, которое встречается чаще. Эта серия кодов, как будет показано ниже, не обобщается на кван- квантовый случай. 2. Проверка на чётность. Код Мп типа (п, п — 1), для него d(Mn ) = = 2. Состоит из всех чётных слов, т. е. слов, содержащих чётное число единиц.
120 Квантовые вычисления Код Хэмминга Нт. Это код типа (п. п - г), где число п = 2Г — 1. Слова из В" — это последовательности битов х = (ха • а = 1,...,п). Номер каждого бита 100 101 001 111 011 по 010 можно записать в двоичной системе как а = = (ai,...,ап). Введём множество контроль- контрольных сумм (суммирование здесь понимается по модулю 2). На рисунке выделены множества битов, входя- входящих в контрольные суммы при г = 3 (полезно видеть в этой картинке трёхмерный куб). Множество слов кода Хэмминга задаётся условием равенства всех контрольных сумм С (т. е. оно является подпространством по моду- модулю 2). Можно показать, что для кода Хэмминга d = 3. 14.3. Линейные коды. Пусть есть множество Лг = В" = Щ. Ли- Линейный код М С N — это линейное подпространство. Линейные коды удобно задавать двойственным базисом (как множество решений си- системы линейных уравнений). Пример 14.2. Код Хэмминга, рассмотренный выше, задаётся как множество решений системы уравнений юо +#Ю1 + #но + #-н -=^if#) =0, ЮЮ +#011 +#110 +#111 =/*2(#) =0, . #001 + #011 + #101 + #111 = ДзОО - 0. Поэтому код Хэмминга образует подпространство коразмерности 3. 14.4. Квантовые коды. Будем давать определения аналогично клас- классическому случаю. Набору условных верояаностей (р(у|#) : х € ЛГ, у ? € ЛГ') соответствует физически реализуемое ;!реобразование матриц плотности Т: L(jV) —> L(Af'). Имеет смысл л улр( црняая модель: по аналогии с множеством переходов Е С ЛГ х Аг' определим простран- пространство ошибок — произвольное линейное пространство С С Ъ{М,М'). (Таким образом, квантовая ошибка — это любой линейный оператор Л/" —> Л/"'). Есть и прямой аналог множества L!n,k). Рассмотрим N — = М' = В®". Через ?[А] обозначим те ошиСкп, которые действуют на q-битах из множества А и не действуют на остальных q-битах, т. е.
Классические и квантовые коды 121 ?[А] — Ъ(В®А) <8> /gi8[ni\A (здесь и далее [п] обозначает множество всех q-битов {1,..., п}). Тогда полагаем ?{п,к)= (Здесь стоит просто сумма подпространств, не прямая.) В дальнейшем нас будет интересовать именно устойчивость к ошибкам из ?{п, к). Но перед тем, как заняться изучением кодов, устойчивых к ошиб- ошибкам из S(n,k), рассмотрим аналог модели независимо распределённых ошибок в квантовом случае и его связь с ошибками из ?(п, к). 14.5. Модель независимых ошибок в квантовом случае. Предполо- Предположим, что на каждый q-бит действует одно и то же малое возмущение. Эта означает, что на матрицу плотности рассматриваемой системы из п q-битов действует преобразование Т = (I + Д)®п, где R — «мало». В классическом случае малое возмущение означает малую вероятность ошибки. В квантовом случае малое возмущение меняет матрицы плот- плотности «не слишком сильно». Чтобы придать этому выражению точный смысл, нужно ввести норму на матрицах плотности, характеризующую их близость, а затем — такую норму на преобразованиях матриц плот- плотности, чтобы выполнялось условие: малое по норме преобразование пе- переводит матрицу плотности в близкую к ней. Начнём с того, что выясним, какие нормы пригодны для характери- зации близости матриц плотности. Матрица плотности, как мы помним из раздела 9, задаёт вероятностное распределение на чистых состояни- состояниях. Вероятностные распределения естественно сравнивать в ?1-норме: если р = (р\,..., рп), q = (q\,..., qn) — два распределения, то мерой их различия считаем "YJj—i \Pj ~ Qj\ ~ \\р ~ Q\\i- Дадим определение анало- аналогичной нормы для матриц плотности. Определение 14.4. Следовая норма оператора А ? L(jV) равна \\А\\1Г = IV (уЖА) . A4.3) Для эрмитова оператора следовая норма — это сумма модулей соб- собственных чисел. Задача 14.1. Проверьте, что A4.3) действительно определяет нор- норму. Докажите, что = sup Щ^ A4.4) х^о \\х\\ {\\X\\ — операторная норма, см. опр. 7.2 на с. 62).
122 Квантовые вычисления Задача 14.2. Проверьте выполнение следующих свойств следовой нормы: а) РВИ* ^ ||В|| ИЛИ»,, г) || Ттм A\\tr sj \\A\\tT, б) \\BA\\tI $ \\B\\ \\А\\и, д) \\А «. B||tr Следующая лемма показывает, почему можно рассматривать следо- следовую норму для матриц плотности как аналог ^-нормы для вероятност- вероятностных распределений. Лемма 14.2. Пусть Af = ф,Л/} — разложение пространства N в прямую сумму взаимно ортогональных подпространств. Тогда для любой пары матриц плотности р, у Х)|Р(/9,А0)-РG,^I < \\P-J\\tr. з Доказательство. Левую часть этого неравенства можно предста- представить в виде Ъ({р - у)В), где В = ?^(±11^). Ясно, что ||В|| ^ 1. Теперь применим представление следовой нормы в виде A4.4). ? Теперь кажется естественным определить норму преобразования матриц плотности аналогично операторной норме ||Г||г - sup га* A4.5) и мерить этой нормой малость возмущения. Однако использование нор- нормы A4.5) оказывается неудобным, так как она не согласована с тен- тензорным произведением. Поясним это подробнее. Чтобы иметь оценку, аналогичную оценке A4.2) в классическом случае, мы должны написать разложение Т = (I + Rfn = 7 + ]Г Д«л ® 1[п]\А + ? Я®А ® hn)\A A4.6) \А\>к Р и оценить норму Р при условии J|P|ji < 6. Если бы выполняюсь не- неравенство ||Г® i2||i ^ ЦГЦхЦДЦх, можно было бы буквально повторить оценку A4.2). Однако это неравенство не всегда выполняется. Пример 14.3. Рассмотрим преобразование Т: \j)(k\ и. \k){j\ (j,к = 0,1). Очевидно, что ||Г||х = 1, однако ЦТ & h,(B)\\. ~ 2. (Подействуйте пре- преобразованием Т® 1\,(Б) на оператор X = J2jk \j,j)(k,k\.)
Классические и квантовые коды 123 Оказывается (ниже это будет доказано), что патология примера 14.3 имеет ограничение по размерности. А именно, если dim Q ^ dirnA^, то \\Т ® Ih(g)\\i — И^Нф! гДе величина ||Т||ф от Q не зависит. Прежде чем доказывать это утверждение, посмотрим на его следствия. Во-первых, ясно, что определённая таким образом величина ||Т||ф является нормой. Во-вторых, поскольку следовая норма мультипликативна относи- относительно тензорного умножения, то ЦТ ® R\\\ ^ ||T||i||i?||i. Поэтому \\По > \\Пх. В-третьих, из определения следует, что ЦГДЦх ^ ЦТЦхЦДЦ!, поэтому имеем такие неравенства \\T\U\\R\U $ \\Т ® Л||1 = \\(Т ® /)(/ ® Л)||! ^ ||Г ® I\\x\\I ® Д||1. A4.7) Из этих неравенств следует мультипликативность нормы || • ||<j. относи- относительно тензорного умножения. Чтобы доказать приведённое выше свойство норм \\Т <8> J||i, дадим другое определение величины ||Т||ф. Определение 14.5. Рассмотрим представления Т: Ъ(ЛГ) —ь Ь(Л/"') в виде Т = Trj- А-В^. Здесь А-В^ обозначает преобразование X i-> AXB\ а Л, В е L(J\f,Af' ® Т), где Т — произвольное унитарное пространство размерности не меньшей, чем (dimЛ/")(dimЛ/"'). Тогда ||Г||^ — точная нижняя грань чисел вида ||Л|| ||5|| (это операторные нормы) по всем представлениям указанного вида. Замечание. Условие dim T ^ (dimAr)(dimA^') гарантирует, что су- существует хотя бы одно представление Т = Trj- Aq-Bq. Для минимизации произведения ||Л|| ||Д|| достаточно рассматривать операторы с норма- нормами ||Л|| ^ ||Л0|| и ||В|| ^ ||-Во||, поэтому инфимум достигается в силу компактности. То, что он не зависит от размерности Т, вытекает из следующей теоремы. Теорема 14.1. Если dim? ^ dimA^, mo \\Т\\$ = ||Г® /L(g)||i. Доказательство. Пусть ТХ = ТгрАХВ^. Тогда, используя свой- свойства следовой нормы из задачи 14.2, получаем /s)||tr < /s)||tr ^ ||Л|| ||В|| ||X||tr. Поэтому ||Т||^^||Г®/Ь(б)||i. Доказать неравенство в обратную сторону несколько сложнее. Без уменьшения общности, ||Г||^ = 1. Инфимум в определении 14.5 дости- достигается при ||Л|| = Ц-ВЦ = 1.
124 Квантовые вычисления Покажем сначала, что существуют три матрицы плотности />, 7 G L(A0 игб L(T), такие что Tv^(ApA^) = Ъд/^ВуВ^) - т. Пусть АС = Кег(Л*Л - V), ? = Кет(В*В - 1м), Е = ^Гги,(АрА*) : /> € D(fc)}, F = {Тг^(В7^) : 7 где D(?) обозначает множество матриц плотности на пространстве ?. Тогда ?,F С D(JF), поэтому в качестве г годится любой элемент из EHF. Докажем, что Е Г\ F ф 0. Так как Е к F — компактные выпук- выпуклые множества, достаточно доказать, что не существует разделяющей их гиперплоскости. Другими словами, нет такого эрмитова оператора Z е Ъ{Т), что Тг XZ > Tr YZ для любых А' € Е, V 6 F. А это, в свою очередь, следует из минимальности величины ||Л|| \\B\\ по отношению к преобразованию А к-> (/у, ® e"tz) .4, В ь+ Gло ® etz) Б, где t положительно, не мало. Итак, пусть Ттм'(АрА^) = Тг,у(ВуВ^) =¦ т е D(J"), где /5,7 e ? Б(Л^). Представим р и 7 в виде /> = Тг&(|0^|), 7 - Тг&(|т?)(??|), где |^), |^) ? Af ® Q — единичные векторы. Здесь мы используем усло- условие dimQ ^ dimA^ и утверждение 9.1. Положим X — \?)(т]\. Очевидно, что ||X||tr - 1. Докажем, что ||(Г<8¦ Ib(g))X\\tr ^ 1- Обозначим Х' = (Т® IL(g))X, \О = (А® hj)\O, W) = (В ® Ig))v), тогда л" - тык'Х'/i). т^^(|^')(^'|) --= ^Л"»G(И')<»/'1) = т. Отсюда, во-первих, следует, что векторы |?') и |г/'} имеют единичную длину. Во-вторых, найдётся унитарный оператор U на пространстве АР ® б, такой что (D ® ^)|^') = |^') (это утверждение из задачи 9.3). Следовательно, ll^'lltr ^ ^^р1 = \ъ((и®Ь:Ю(п'\)\ = №(!,/)(ч'|)| = 1- п Теперь можно оценить остаточный член Р в формуле (.Н о), почти дословно повторяя рассуждения в классическом слу^тг. Если ||J?||i < 6, то Н-йНф < CJ, где С — константа (все нормы эквивалентны, причём множитель ограничен размерностью ггрострлнетга; R действует на пространстве матриц плотности едного q-бкга). Используя мульти пликативность нормы || ¦ ||^, заключаем, что
Классические и квантовые коды 125 Поэтому будем пренебрегать всеми слагаемыми из Р, а действие всех остальных слагаемых будем учитывать. Преобразования R®A имеют вид R®Ap = J2 XiP^'i > гДе -^«> У« € ^(^); символически это можно запи- сатьтак: R®A G ?(А)?*(Л). Сумма преобразований лежит в ?(п,к) ¦ ?^(п,к). Таким образом, мы приходим к выводу, что нужно рассматривать ошибки из ?(п,к). 14.6. Основные определения и простейшие следствия. Следующее определение даёт в квантовом случае формальное выражение требова- требования «различные состояния переходят в различные состояния» (это не- необходимое условие возможности восстановления исходных состояний физически реализуемым преобразованием). Определение 14.6. Квантовый код (подпространство М С М) ис- исправляет ошибки из ? С h{J\f,M'), если V|6),I6> е M\/x,Y е ? (F16) = 0) => Шу*х\&) = о). A4.8) Определение 14.7. Физически реализуемое преобразование Р: ЦЛГ) -> L(X) называется исправляющим (для кода .М и пространства ошибок ?), если VT е ? ¦ ?f Зс = с(Г) Vp е Ь(Л1) (РГр = с{Т)р). Если при этом Г сохраняет след, то с(Т) = 1. Теорема 14.2. ?Ъш ко»? М. исправляет ошибки из ?, то исправля- исправляющее преобразование существует. Доказательство будет дано ниже. Обратное утверждение доказано в [4]. Пример 14.4. Тривиальный код типа (п,тп): пусть М = B®m <g> ® j0"~m), а ? = ?[т + 1,...,п], т.е. для кодирования используются первые т q-битов, а ошибки действуют на остальные q-биты. Условие A4.8), очевидно, выполнено. В качестве исправляющего преобразова- преобразования можно взять Р = /цв®'») ® R, где Д: X к> (ТгX)|0"~m)<0n~m|. Преобразование Р реализуется очень просто: выбрасываем последние п — т q-битов и заменяем их на новые q-биты в состоянии |0). Практи- Практической пользы от такого кода, конечно, мало. Интересно, однако, что любой квантовый код, исправляющий ошибки, в определённом смысле похож на тривиальный (см. лемму 14.3 ниже). Пример 14.5. Рассмотрим квантовый аналог кода с повторением. Пусть пространство М = С(|0,... ,0), |1,..., 1)). Рассмотрим два со- состояния |6) = |0,..., 0> +11,..., 1) и |6) = |0,...,0) - |1,..., 1). Ошибку
12C Квантовые вычисления выберем так: X = I, Y = <т2[1]. Очевидно, что X,Y € ?(п, 1). При этом К|^г) = X\€i), чт0 противоречит определению кода, исправляю- исправляющего ошибки. Мы видим, что код с произвольно большим повторением не защищает даже от одной ошибки. Ошибки вида стх[1] называются классическими, а ошибки вида <т2[1] называются фазовыми. В определении 14.6 речь шла только о парах ортогональных состо- состояний. Давайте посмотрим, что получается на произвольных парах. За- Зафиксируем X, Y € ? и обозначим Z = Y^X. Оказывается, что v|6>, 16) е м <б№) = c(z)FI6>, A4.9) где c(Z) — некоторое комплексное число, не зависящее от |?i), |?г). Дей- Действительно, пусть |^i),..., \т)т) — ортонормированный базис простран- пространства М. По определению 14.6 (r)j\Z\rlk) = 0 при j ф k, a {rn\Z\Vj) не зависит от j, так как Ыг\щ) - (m\z\T)k) = (nj - rik\z\7b +щ) + ы^Ы - Ыгш = о. (Все три слагаемых в правой части равенства равны нулю, так как входящие в них пары векторов ортогональны.) Заметим, что если X, Y € ?(п, к), то Z = Y^X G ?(п, 2к). Определение 14.8. Код М обнаруживает ошибки из С С L(jV), если V16), 16) ем\/г&?' <6!^!6) = c(Z)FI6)- Кодовым расстоянием называется наименьилее число d = d(Ai), при которо.\! код не обнаруживает ошибки из ?(n,rf). Таким образом, код исправляет к ошибок. е>:ли 2к < d{A4). Теперь мы перейдем к доказательстиу теоремы 14.2. Лемма 14.3. Пусть квантовый код М. С N исправляет ошибки из ? С Ъ(М,М'). Тогда существует унитарное пространство Т, изоме- изометрическое вложение V: Ai®T ~* .V v линейное отображение /: ? ~> -> Т, такие что V|0 б М VX е ? Х\0 --. V(\0 0 \/(Х))). A4.10) Доказательство. Пусть ?0 - {X е ? : VJ4) ? М Х\{) - 0}. Рас- Рассмотрим фактор-пространство Т — ?/?о и естественное отображение f:?-*T. Линейное отображение V: М <8) Т -¦»¦ .Л/"'. удоглетворяющее условию A4.10), строится каноническим otesooM; нужно лишь прове- проверить его изометричность. Скалярное произведение на пространстве У ыюжяо задать при помо- помощи функции сиз свойства кода A4.9): если |7?i) = \f(X)} и 1^) = \f(Y)}.
Классические и квантовые коды 127 то (г]2\щ) — c(Y^X). Очевидно, что эта величина не зависит от выбора X и Y. Ясно также, что (т]\г]) > О, если \rj) / 0. Формула A4.9) как раз и означает, что отображение V является изометрическим. D Доказательство (теоремы 14.2). Представим пространство J\f' как сумму взаимно ортогональных подпространств: № = (Im V) © К., где V — отображение из предыдущей леммы. Пусть W: К, —>• Af' — ка- каноническое вложение, a R: L(/C) —> L(.M) — произвольное физически реализуемое преобразование. Тогда мы можем определить Р:рн Trr(V*pV) + R(WipW), с: X • У* ы- (f(Y)\f(X)). (Функция с линейно продолжается на все пространство ? • ?i). D Лемму 14.3 и доказательство теоремы 14.2 можно неформально из- изложить таким образом. Код, исправляющий ошибки, характеризуется тем, что ошибка не смешивается с закодированной информацией, т.е. остаётся в виде отдельного тензорного сомножителя. Исправляющее преобразование извлекает эту «встроенную ошибку» и выбрасывает ее в мусорную корзину. Задача 14.3. Пусть код М. С В®п обнаруживает ошибки из ?{А). Докажите, что состояние р € L(vW) можно восстановить, не используя q-битов из множества А. 14.7. Код Шора [40]. Опишем серию кодов со сколь угодно боль- большим кодовым расстоянием. Они используют п = г2 кодовых q-битов и кодируют один q-бит (т. е. dim.M = 2), а кодовое расстояние d равно г. Поскольку количество кодовых q-битов — точный квадрат, удоб- удобно задавать базисные состояния в таком кодовом пространстве в виде матрицы. В .этих обозначениях код Шора порождается векторами У2 У2 \ A4.11) Ут Ут -i=i У) У\,...,уг&Г Для анализа кода Шора нам потребуется классификация операто- операторов с помощью матриц Паули. Их, вообще говоря, три, но четвёртой матрицей Паули будем считать единичную. Введём нестандартную ин- индексацию матриц Паули: '\ 0\ (\ О г J -о- о i\ x {о -А „ 0 )=о- ; оп = ({ 0 =°у-
128 Квантовые вычисления Матрицы Паули замечательны тем, что они эрмитовы и унитарные од- одновременно. Введённая индексация позволяет удобно записывать ком- коммутационные соотношения между матрицами Паули Ц' = (-i)aL ~a h &(ё'i3®0'VQV'0' = (~1) " "&'0'Pf3 A4.12) Множество индексов образует группу G = Ъч © Z-2 или 2-мерное про- пространство над полем F2. Матрицы Паули образуют базис пространства L(/3): L(B) = С(аоо) © С(а01) Ф Ца10) 0 С(ап). Для пространства В®п будет уже 4Д базисных операторов. Введём обо- обозначение a(f) ~ <?(a\,,fli,a2,P2,- ¦ ¦ ,ап,0п) = aaitl)l ®<Ja2,02 <8 • • • ®0un,f}n- Здесь / 6 Gn = F|n. Используя коммутационные соотношения, можно написать, с точ- точностью до общего фазового множителя, <т(/) — ca(f^) ¦ ст(/^~^), где /(*) = (а] ,0,а2,0,...) называется классической ошибкой, a /*z' = = (О, Д, 0, /3-2,...) — фазовой ошибкой. Теперь проанализируем код Шора. В силу линейности определе- определения достаточно ограничиться изучением базисных ошибок. Пусть Z € € ?{r2,k), (к <r)nZ = a'J) = caif(x))a(f{z)). Поскольку |/j < к (|/| — число ненулевых переменных в /), то |/^|, |/'г^| ^ к < г. Достаточно показать, что в этом случае &№> - 0, F1^16) = (?o\Z\f,o). A4.13) Рассмотрим два случая. 1. Классическая ошибка отлична от 0. В этом случае каждое базисное состояние г/i от \ г/г г/2 \ Уг У г I изменяется под действием Z в некоторых е битах, 0 < е. < г. Поэто- Поэтому в скалярных произведениях A4.13) все rjiai аемые будут равны 0. 2. /W = 0. Ошибка чисто фшовая: Z - {a'')'hl <&¦¦•© ("гУ%г, где Ej,(fti < г- Обозначим >.j = 2,/?jj. Тогда (см. A4.1.1)) <Л 2/1 .;v..;;;... ) yu--,yr I j/r - . •• г/. / Нас интересуют значения А; по м.' дулю 2. Бозможьы 3 случая: a) (Ai,...,Ar) = (O,...,O) (mod 2),
Классические и квантовые коды 129 б) (Ai,...,Ar) = (l,...,l) (mod 2). в) (АЬ...,АГ)/(О,...,О),A,...,1) (mod 2). Случай б) в действительности реализоваться не может, так как Ylj Aj ^ А; < г. В случае в) все скалярные произведения обращаются в нуль, (ta\Z\?a,) = 0. В случае a) Z\?a) = If а), т.е. Z действует на кодовом подпространстве тождественным образом. (Такая ошибка, по существу, не является ошибкой, поскольку ничего не портит). Следовательно, (?a\Z\?a,) = (&*!&*')• Итак, код Шора обнаруживает г — 1 ошибку; кодовое расстояние равно г. Замечание. Код Шора основан на дуальности между классическими и фазовыми ошибками, которая выражается равенством az = Но~хНК Внутри каждой строки у\,... ,уг реализован обычный повторитель- повторительный код, исправляющий классические ошибки. Строки организованы в аналогичный код, отличающийся заменой базиса в каждом q-бите: Еш,...,9г(-1)"(Е) Vi)\Vu ¦ ¦ ¦ ,Vr) = (Я ® ¦ ¦ ¦ ® Н)\а, ...,а). Этот код ис- правляет фазовые ошибки. 14.8. Симплектические (стабилизирующие) коды [26]. Это аналог классических линейных кодов. Квантовые симплектические коды уст- устроены так же, только вместо контрольных сумм будут использоваться сг-операторы (а(а\ ,{3\,..., ап, (Зп) в предыдущих обозначениях). Зададим, например, таким способом код Шора. Для него Af = В®г , dim.M = 2. Кодовое подпространство порождено двумя векторами, см. A4.11). Каким условиям удовлетворяют базисные векторы М? 1. Для любых j,l (I < г) выполнено &н<тг-а+иЮ = |0i T-e- каждая строка состоит из повторений одного бита. 2. Для любого j < г выполнено Yli [ajia(j+i)i) \0 = Ю- ^^о означает это условие? Оператор Y\t \ajiafj+i)i) переводит базисный вектор Vj ¦¦¦ Уз Vj+i ¦ ¦ ¦ Уз+\ в вектор (остальные строки не меняются). Эти два вектора должны входить в |?) с одинаковыми коэффициентами. Утверждение 14.4. Если |?) удовлетворяет условиям 1 и 2, то
130 Квантовые вычисления Прежде чем перейти к изучению более общих симплектических ко- кодов, рассмотрим подробнее свойства а-операторов. Как уже говорилось, ст-операторы удобно индексировать элемента- элементами группы G = (Ъ-2) ¦ Будем обозначать мультииндекс ст-оператора через 7= (ab/?i,.. .,а„,/Зп) е Gn. а-операторы образуют базис в L(i?®n), более того, есть естествен- естественная Сп-градуировка: 0 C(aG)). Для сг-операторов выполнены следующие соотношения *Ы<гЫ = (-0йG1Л1)^G1 +72) = (-irGll0a)ffG2)^G1), где 1^(аг, рх,... ,ап, вп;а[, ft[,... ,а'п, p'J = ^(аД- ~ a'j^ mod 4- ^G1,72) = ?G1,72) mod 2. Рассмотрим унитарные преобразования — действия унитарных опе- операторов X н> UXU. Такое действие не меняется при домножении U на число, равное по модулю единице, поэтому группа унитарных пре- преобразований имеет вид UT(/3®n) = U(B®n)/U(l). Отметим, что уни- унитарные преобразования — это в точности автоморфизмы *-алгебры Нас интересуют такие преобразования, для которых Ua(y)U^ = = <т(мG))-сG) (и: Gn —> Gn — некоторая функция). Оператор Ua(^)U^ эрмитов, поэтому c(j) = ±1, то есть мы можем написать Uo{i)tf = (-1)"<^ a(uG)), u:Gn->Gn, v:Gn-+Z2- A4-14) Группа таких преобразований называется расширенной симплектиче- ской группой и обозначается ESp2(n). Операторы из этой группы бу- будем называть симплектическими. Приведём примеры. 1. a-операторы. a(/)aG)a(/)t = a(/)aG)a(/) = (-1)ш(^аG). В дан- данном случае и{^) = 7- 2. Оператор Н = —г= ( ). Непосредственно проверяется, что V2 \1 -1/ Таким образом, преобразование Н ¦ Н^ € ESp2(l). Можно показать, что | ESp.2(l)| = 24. Если учитывать фазовые мно- множители, то получилась бы группа Клиффорда из 24 • 8 = 192 элементов. Основные свойства введённого отображения и: Gn —> Gn таковы:
Классические и квантовые коды 131 1. и линейно на Gn. 2. и сохраняет форму и>, т.е. uj(u(f),u(g)) = u>(f,g). Отображения с такими свойствами, как известно, называются сим- плектическими; они образуют симплектическую группу Sp2(n). Таким образом, определён гомоморфизм 9: ESp2(n) —> Sp2(n). Теорема 14.3. lm.9 = Sp2(n), Ker# = Gn {ядро состоит из а-операторов). Таким образом, ESp2(n)/Gn = Sp2(n). Для понимания доказательства желательно знать что-нибудь про расширения и когомологии групп [15]. Читателю, незнакомому с этими понятиями, будет предложен «обходной путь» (см. ниже). Доказательство. Преобразование A4.14) должно быть автоморфиз- автоморфизмом *-алгебры L(B®n). Это имеет место тогда и только тогда, когда сохраняются правила умножения операторов 17G). Это означает, что функция и обладает указанными свойствами, a v удовлетворяет урав- уравнению v(x + y) ~v{x) -v(y) =w(x,y), A4.15) гдс В случае, когда и тождественное отображение, правая часть уравнения A4.15) равна н\лы. Решениями являются все линейные фун- функции. Это доказывает, что Кегв — Gn. Утверждение Im 9 = Sp2(») равносильно тому, что уравнение A4.15) имеет рс/ление при любом и из Sp2(?i). Чтобы доказать эго, заметим, что функция w обладает следующими свойствами: w(y,z) - w(x + y, z) +w(x, y + z) -w(x,y) = 0, A4.16) w(x,y) — w(y,x), A4-17) w(x,x)=0. A4.18) Формула A4.16) это уравнение коцикла. Оно озна тет, что функ- функция iv задает структ \'ру группы на декартовом произведении множеств •:7'7 х Z- согласие, правилу (х.р) ¦ (у. q) -= (.»¦ + //,;» Ьс/+u-(x,//)). Получен- Полученная i",)ynoa (об(^.!начим с /7) являете? |;агшир'.ч1ием Cv посредством Z-2, г. с определён гомоморфизм А: Е --> 6'", А: (./:,;>) :-> х с ядром Z2. ^'равнение (! ±.17) означает, что группа Е абелева. Наконец, урав- уравнение A4.1 bj означает, 'Пи все элементы грл.ппы Е имеют порядок 2 (или 1). Следовательно, Е ='- (Ъ^)-4^1. Отсюда вытекает, что расшире- расширение /-." --? G" тривиально. с.}'ществует гомомор(})изм /<: Gn ~> E, такой что Хц — idfvn. Записывал этот гомоморфизм в виде /к х \-> (х, v(x)), получаем решение уравнения A4.15). ?
132 Квантовые вычисления Существует другой, несколько кустарный способ доказать, что 1т 9 = Sp2(n). Рассмотрим следующие симплектические преобразо- преобразования: (Я ¦ Я%-], {К ¦ K^)[j] и (Л(сгх) ¦ \Цах)) \j,k]. (Напомним, что . , ). Их образы при гомоморфизме в порождают всю группу Sp2 (п). (Намёк на доказательство: любую пару векторов 7i > 72 G Gn, та- такую что wGi, 72) = 1, можно перевести этими преобразованиями в A,0, 0,0,...) и @,1,0,0,...).) На самом деле, таким способом можно полу- получить и другой* интересный результат. Указанные элементы группы ESp2(n) порождают все матрицы Паули, т.е. ядро гомоморфизма в. Следовательно, верно такое утверждение. Утверждение 14.5. Группа ESp2(n) порождается элементами Для примера посмотрим на действие оператора U = Л(сгт)[1, 2]. По определению имеем U\a,b) = \а,а® Ь). Действие U на образующие ал- алгебры Ъ(Бт): Приведённые равенства можно без труда проверить прямым вычисле- вычислением. Однако полезно привести объяснение «на пальцах». Оператор az можно понимать как измерение значения соответствующего q-бита. Первые два равенства просто показывают, как меняются эти значения при замене базиса, задаваемой U. Третье равенство показывает, что изменение значения второго q-бита коммутирует с заменой базиса U. Четвёртое — что изменение значения первого q-бита при неизменном втором бите в повернутом базисе означает одновременное изменение значений обоих q-битов в исходном базисе. Дадим теперь определение симплектического кода. В пространстве jV = В®п мы выделим подпространство М условиями Xj\?) = |?) (Xj будем называть проверочными операторами). Проверочные опе- операторы будут иметь вид Xj = (-l)^a(fj), fjGGn, ^eZ2. A4.19) Без ограничения общности можно считать, что {/.,} линейно незави- независимы. Потребуем ещё, чтобы все операторы Xj коммутировали. По- Поскольку XjXk = (— l)w^s'^XkXj, условие коммутирования означает, что w(fj,fk) =0.
Классические и квантовые коды 133 Определение 14.9. Симплектический квантовый код задаётся ус- условиями A4.19), где все Xj коммутируют. Итак, симплектическому квантовому коду соответствует изотроп- изотропное подпространство F С G"; изотропность означает, что для любых f,gEF выполнено oj(f,g) — 0. Поэтому размерность симплектическо- го кода легко вычисляется. Теорема 14.4. dimM = 2n-dimF. Лемма 14.6. Любой симплектический код приводится преобразо- преобразованиями из ESp2(n) к стандартному виду, когда проверочными опера- операторами являются <т2[1],... ,<r2[s], где s = dimF. Доказательство. Подпространство F С Gn можно перевести ото- отображением из Sp2(n) в подпространство F', состоящее из векторов вида @, /9i, 0,02,..., 0, /?«, 0,..., 0), где /3,- — произвольные. Согласно теоре- теореме 14.3, этому отображению соответствует некоторое унитарное пре- преобразование U -W. Оно переводит кодовое подпространство в подпро- подпространство, заданное проверочными операторами ±.az\j] (j = l,...,s). Применяя дополнительное преобразование вида <т(/) • сг(/)+, все знаки можно сделать плюсами. ? Теперь посмотрим, какие ошибки способен обнаруживать симплек- симплектический код. Напомним, что код обнаруживает ошибки из ?(п, к), если V|O,|f?> eMVZe E(n,k) «|Z|4> = c{Z){(,\n) A4.20) По соображениям линейности достаточно рассматривать лишь Z = = стE). Ы ^ *• Пусть |т?) € М, т.е. Xj\r)) = \r}) для всех j, где X,- = (-l)^^^). Обозначим Z\tj) = \ф), где Z — а(д). Как мы сейчас увидим, вектор \ф) является собственным для всех проверочных операторов Xj, поэтому он либо принадлежит кодовому подпространству М, либо ему ортого- ортогонален. Подействуем проверочным оператором на |^): ХДф) = XjZ\n) = (-ly Условие \ф) 6 М равносильно условию u>(fj,g) = 0 для всех j. Такие д образуют линейное подпространство, которое мы обозначим F+, т.е. Возможны следующие три случая: 1. д & F+. При этом \xj)) ± М, поэтому (€\(т(д)\т]) — 0. Такую ошибку код обнаружит.
134 Квантовые вычисления 2. д € F. Такая ошибка фактически неотличима от тождественного оператора, так как она не меняет кодового вектора |77) (с точностью до фазового множителя). Пусть д = a\f\ + ... + asfs, тогда а{д) = с(д)Х? ¦ ... -Хр, где с(д) = ±l,±t. В этом случае (?\ст(д)\г)) = = с^)^!7?) — условие A4.20) выполнено. 3. д € F+ \ F. В этом случае (проверьте!) (?|<т(<7)|7?) не имеет вида с(д)(?\т)). Такую ошибку код не обнаруживает. Этими рассуждениями доказана следующая теорема. Теорема 14.5. Кодовое расстояние для симплектического кода М d(M)=min{\f\:feF+\F}. Заметим отличие от классических линейных кодов. Там кодовое рас- расстояние определяется как наименьшая норма вектора из подпростран- подпространства с выкинутым нулём. А у симплектических кодов нуль раздувается до подпространства. Задача 14.4. Постройте симплектический квантовый код типа E,1), исправляющий одну ошибку. Задача 14.5. Докажите, что не существует квантового кода типа D,1), исправляющего одну ошибку. 14.9. Торические коды. Приведём важный пример симплектиче- симплектического кода. Он строится так. Пусть есть квадратная решетка размера г х г на торе. Сопоставим каждому её ребру по q-биту. Таким обра- образом, всего имеется п — г2 q-битов. Проверочные операторы будут двух типов. Рис. 6.
Классические и квантовые коды 135 Тип I задаётся вершинами. Выберем некоторую вершину s и сопо- сопоставим ей проверочный оператор Тип II задаётся гранями. Выберем некоторую грань и и сопоставим ей проверочный оператор А^ = <т(/^г)) = ТТ az. j€ граница(и) Операторы А$ и Л« коммутируют, поскольку граница и звезда всегда пересекаются по чётному числу рёбер. (Перестановочность опе- операторов одного типа очевидна.) Хотя мы указали г2 + г2 = 2г2 проверочных операторов (по одному на грань и на вершину), между ними есть соотношения. Произведение всех Л(х'-операторов, как и произведение всех А^-операторов, равны тождественному. Можно показать, что других соотношений нет. По- Поэтому dim F = 2г2 —2, a dim M = 22. Поэтому торический код позволяет закодировать два q-бита. Посмотрим, чему равно кодовое расстояние для торического кода. Для торического кода имеются естественные разложения на подпространства, соответствующие проверочным операторам, со- состоящим только из ст^, либо только из ст^. Такие коды называются CSS кодами (по фамилиям авторов, впервые рассмотревших этот класс ко- кодов [25, 44]). В случае торического кода элементы подпространств F^, F+' имеют вид @, /?i,..., О, /?П); им можно сопоставить 1-цепи, т. е. фор- формальные линейные комбинации рёбер с коэффициентами /3\,..., /?„ € € Рг- Элементам подпространств F , F+ сопоставляются 1-коцепи. Рассмотрим вектор /„ ' 6 F(z , отвечающий грани с номером и. Ему будет сопоставлена 1-цепь, являющаяся границей этой грани. Легко ви- видеть, что пространство F^ состоит из всех 1-границ. Аналогично, век- векторам /g будут сопоставляться 1-кограницы, порождающие всё про- пространство 1-кограниц. Возьмём произвольный элемент g ? F+, g — </х' + g(zK Условия коммутирования запишутся следующим образом:
136 Квантовые вычисления Чтобы выполнялось u(fs ,д ) = 0, нужно, чтобы в любой звезде бы- было чётное число рёбер с ненулевыми весами из g(z\ Другими словами, g(z"> — это 1-цикл (с коэффициентами в Z2). Аналогично, д^ должен быть 1-коциклом. Итак, пространства F+ , F+ состоят из 1-циклов и 1-коциклов, а пространства F(z\ F^ состоят из 1-границ и 1-кограниц. Следова- Следовательно, кодовое расстояние есть минимальная мощность (количество ненулевых коэффициентов) по циклам, не являющимся границами, и коциклам, не являющимся кограницами. Легко видеть, что этот мини- минимум равен г (нужны либо цикл, либо разрез, не гомологичные 0). Это означает, что торический код исправляет [(г - l)/2j ошибок. Будем обозначать коды описанного вида через TOR(r). Замечание. Торические коды являются очень важным примером, обладающим рядом замечательных свойств. В частности, это коды с локальными проверками. Последовательность кодов называется кодами ¦•: локальными проверками, если выполнены следующие условия: - каждый проверочный оператор действует на ограниченное констан- константой число q-битов; - каждый q-бит входит в ограниченное константой число провероч- проверочных операторов; - кодовое расстояние неограниченно возрастает. Такие коды представляют интерес для задачи построения вычислитель- вычислительных схем, устойчивых к ошибкам. При исправлении ошибок могут про- происходить новые ошибки. Но для кодов с локальными проверками схе- схемы исправления ошибок имеют фиксированную глубину, поэтому одна ошибка при работе такой схемы портит ограниченное число q-битов. 14.10. Процедура исправления ошибок. Определение 14.6 и теоре- теорема 14.2 указывают только на принципиальную возможность восстано- восстановить исходное состояние системы после действия ошибки. На примере симплектических кодов покажем, как реализовать процедуру исправле- исправления ошибки. Рассмотрим частный случай, к которому все сводится. Пусть име- имеются две ошибки, заданные операторами X = ct(<7i), Y = o(g-i)- Тогда Z = Y^X = ca(gi — g2) (|c| = 1). Назовём синдромом ошибки gi вектор Мръ/i), ¦ ¦ ¦ ,u{gi,fs)) (для g2 — аналогично). Возьмём вектор \г)) е М- Обозначим \ф) = Х\т]). Проверочные опе- операторы действуют на \ф) так: Xj\ip) = (—l)u^9l'^\ip). Поэтому, измеряя собственные числа X,- на состоянии |^), можно измерить синдром.
Классические и квантовые коды 137 /измерение^ "*Г дсиндрома 1_^_ \Ф) \Ч) д': синдром (^') = синдром (д) 9'=9 + f, fZF Рис. 7. Исправление ошибки Если кодовое расстояние равно к, то выполнено Ы «S *, Ы «**)=>• (Ei - 52 е F) V El Условие <?1 — р2 € F означает эквивалентность ошибок gi и д2, т.е. "¦(Pi)!7?) = са{92)\т)) Для любого вектора |7j) из кодового подпростран- подпространства. Условие gi — 92 & F+ равносильно тому, что синдромы ошибок д\ и ^2 не совпадают. Итак, либо ошибки эквивалентны, либо их можно различить по синдрому. Следовательно, по синдрому можно определить ошибку с точностью до эквивалентности, т.е. по модулю подпростран- подпространства F. Теперь ясно, как нужно исправлять ошибку. После того как опре- определён синдром, применим оператор, обратный к оператору восстано- восстановленной по синдрому ошибки. Получим состояние, отличающееся от исходного лишь на фазовый множитель. Вся процедура изображена на рис. 7. Выше рассмотрен случай ошибки типа ст(д). На самом деле ошибка состоит в действии преобразования матриц плотности вида Т= В качестве упражнения читателю предлагается проверить, как рабо- работает приведённая выше схема в случае такого общего преобразования матриц плотности. Задача 14.6. Постройте полиномиальный алгоритм определения ошибки по синдрому для торического кода. 14.11. Анионы (иллюстративный пример на основе торического ко- кода). На примере торического кода можно дать более точное предста- представление об анионных системах, о которых говорилось во введении.
138 Квантовые вычисления Итак, вновь рассмотрим квадратную сетку на торе (а можно и на плоскости — сейчас нас будет интересовать только её центральная часть). Как и раньше, для каждой вершины s и каждой грани и рас- рассмотрим проверочные операторы 4*> = П Ъ Ai2)= П «* j'€ звезда(») j6 граница(и) Состояние кодового подпространства задается условиями Аах |?) = |?), Аи |?) = |?). Их можно переписать другим способом. Рассмотрим сле- следующий гамильтониан — эрмитов оператор Этот оператор неотрицательный, причем его нулевое подпространство в точности совпадает с кодовым подпространством торического кода. Таким образом, векторы из кодового подпространства являются соб- собственными и обладают наименьшей энергией (т. е. собственным числом гамильтониана). Такие векторы называются основными состояниями, а векторы из ортогонального дополнения — возбуждёнными состоя- состояниями. Рассмотрим возбуждённые состояния с наименьшей ненулевой энер- энергией, когда нарушено ровно два условия (например, вершинных). (Чи- (Число нарушенных условий каждого типа чётное, поскольку ]JS Asx — = Y\u Аи = /¦) Тогда для двух вершин, в которых кодовые условия нарушаются, выполнено Как можно получить состояние \т}) из кодового состояния |?)? Соеди- Соединим р и s решёточным путем С\ и подействуем на |?) оператором W = IljeCi °Zy Этот оператор коммутирует с проверочными вершин- вершинными операторами для всех промежуточных вершин пути С\, а в кон- концах — антикоммутирует: WAy' = —AgW. Положим |7?) = W\^) и покажем, что \rj) удовлетворяет требуемым свойствам. Для вершины s (аналогично и для р) имеем (А»х'\?) = |^), так как состояние |?) — кодовое). Любое состояние системы можно построить из элементарных возбу- возбуждений двух типов, одни из которых «живут» на вершинах, другие — на гранях. Элементарное возбуждение — это просто нарушенное ко- кодовое условие, но теперь мы думаем о нём как о частице. Частицы- возбуждения можно двигать, создавать и уничтожать. Пара возбужде- возбуждений первого типа получается из основного (кодового) состояния дей-
Классические и квантовые коды 139 "СГ -х а) -ж- р\ б) Рис. 8. ствием оператора ТУ, приведённого выше; пара возбуждений второго типа — действием оператора V = aj> где — ПУТЬ> соединя- соединя^е2 j ющий две грани, как показано на рис. 8а). Как и раньше проверяется, Что случится, если двигать возбуждение одного типа (крестик) во- вокруг возбуждения второго типа (кружочка)? (См. рис. 86).) Движение возбуждения описывается оператором ГЬес aj = Пг ¦^ > зависящим от контура обхода С" (здесь г пробегает все грани внутри С"). Очевид- Очевидно, что А\-х \ф) = \ф) для всех г ф р. В результате мы получим То есть вектор состояния домножился на —1. Это и означает, что рас- рассматриваемые возбуждения являются (абелевыми) анионами. На торе можно двигать частицы по двум различным циклам, обра- образующим базис в группе гомологии. Например, можно создать из основ- основного состояния пару возбуждений одного типа, обнести одно из возбу- возбуждений по циклу и проаннигилировать со вторым возбуждением. Этот процесс описывается некоторым оператором, действующим на кодовом подпространстве, — произведением а? вдоль пути на решетке, либо о* вдоль пути на двойственной решётке. Поскольку существует два типа возбуждений, мы имеем 4 таких оператора: У"/ и У2 соответству- соответствуют одному базисному циклу, а У2 и м" — другому. Эти операторы действуют на два закодированных q-бита как of ,of (t = 1,2), пото- потому что они обладают такими же коммутационными соотношениями: у/Х'у/2) = -У/2)У/Х* (остальные пары коммутируют).
Часть III Решения задач В этой части приводятся решения задач или неформальные указа- указания, пользуясь которыми заинтересованный читатель может восстано- восстановить строгое решение самостоятельно. Из раздела 1 1.1. Неформально описать такую машину легко. Она переносит сим- символы по одному слева направо и справа налево, пока не обнаруживает, что достигнута середина слова, после чего останавливается. Дадим теперь формальное описание этой машины. Внешний алфавит: Л = {0, 1}. Алфавит S = {¦-.,(), l,*,0', 1'}, поми- помимо символов внешнего алфавита и пустого символа ._,, включает три вспомогательных метки, указывающих на положение символов, кото- которые переносятся. Множество состояний управляющего устройства Q = {qo,qf,ro,n,lo,h,lo',h>}- Буквы г я I указывают на направление переноса символа, индексы при этих буквах — на переносимый символ. Теперь зададим функцию переходов. Для всех пар, на которых фун- функция переходов не определена приводимыми ниже правилами, её значе- значения можно выбирать произвольно. Начало работы: (до,-) и- (до,-, -1). Первая строка означает, что машина поставила метку в первой позиции и понесла вправо символ, который в ней стоял. Вторая строка означает, что на пустом слове машина сразу останавливается.
ИЗ РАЗДЕЛА 1 141 Перенос вправо: (го,0) ^ (го,0,+1), (гь0) Машина двигается вправо, пока не достигнет конца слова или метки. Перемена направления движения справа налево состоит из двух дей- действий: снять метку (если это не пустой символ) (го,0') ^ (/с,0,-1), (n,0#) ^ (lv,0,-1), и поставить её на левого соседа Перенос влево: (/о,0)^(/0,0,-1), (Zx.O) н-». (Z0l0,-1), (/o,l)->(ii,l,-l), (/ь1)^(/ь1,-1). Перемена движения слева направо: (/о,*) •-> (?о,0,+1), _ (/х,*)н-(9оД,+1). Завершение работы зависит от чётности длины слова: при чётной длине остановка происходит при начале движения вправо (9о,0') ^ (?/,0,-1), (9о,1') -> (9/, 1,-1), а при нечётной длине — при начале движения влево Со',*) и. (9/,0,-1), (/г,*) н+ (9/, 1,-1), (9/, 0) ^ (9/,0, -1), (9/, 1) И. (9/, 1,-1). 1.2. Неформально делается следующее: ко второму слагаемому по- поочерёдно добавляются разряды первого, добавленный разряд стирает- стирается. Добавление одного разряда происходит за время, не превышающее удвоенной длины второго слагаемого, так что общее время работы ма- машины квадратично зависит от длины входа. Дадим теперь формальное описание такой машины. Внешний алфавит: Л = {0,1,+}. Алфавит S = {^,0,1,+,0', 1',+'}, помимо символов внешнего алфавита и пустого символа ,_,, включает три вспомогательных метки. Множество состояний управляющего устройства Q = {qo,qf,qP,ro,ri,lo,ii,d}.
142 Решения задач Буквы г и! указывают на направление переноса символа, индексы при этих буквах — на переносимый символ (влево машина носит бит пере- переноса в следующий разряд, а вправо ¦— добавляемый бит), в состоянии d машина осуществляет стирание обработанного разряда. Теперь зададим функцию переходов. Как и в задаче 1.1, для не упо- упомянутых ниже пар функция переходов определена произвольно. Начало и конец работы: (go,0W(go,0',+l), (9o,l)^(gp,l',+l), (go,+) •-)• (d,0, -1), (<7р.О)->(<?„,О,+1), teP,1)->(<7P)l,+l), (gP,+W(d.0,-l), {qP,0') •->• (g/,0,+1), (qP,i') •-»• (g/,1,+1), (g/,0)^ (g/,0,-1), (g/,i)^ (g/,1,-1). Самый левый символ первого слагаемого помечается, чтобы но пропу- пропустить конец работы. Далее машина движется вправо в состоянии qp. Если найден знак +, то происходит переход к началу добавления оче- очередного слагаемого. Если найдена метка, то она стирается, а машина останавливается. При этом на ленте остаётся результат сложения (счи- (считаем, что сумма может начинаться нулями). Определение очередного бита, который нужно добавлять ко второ- второму слагаемому, перенос его вправо и переход в режим сложения: (d,0)i->(ro,+,+l), (d, 1) •->¦ (n.+,+l), (d,0') н+ (r0, +', +1), (d, 1') ^ (n, +', +1), (n,0) ^(ru (ro,0')^(/O',0,-l), (гьО')и. (Zi-,0,-1), Сложение, пока не достигнут знак + (/о,0) ¦">(/(>,0,-1), («1,0) к-> (/о, 1,-1), Последняя строчка применяется в конце, когда левее знака +' уже ни- ничего нет. Поэтому машина начинает двигаться вправо, чтобы стереть оставшуюся метку.
ИЗ РАЗДЕЛА 1 143 1.3. Доказательство от противного. Предположим, что такой алго- алгоритм есть, т.е. существует машина Л, которая на входе ([М],х) даёт ответ «да», если машина М останавливается на входе х, в противном случае даёт ответ «нет» (через [М] обозначено описание машины М). Тогда есть и такая машина А', которая на входе X моделирует работу А на входе (X, X). Затем, если ответ машины А — «да», то А' начинает двигать головку вправо и не останавливается, а если ответ А — «нет», то А' останавливается. Остановится ли А' на входе [Л']? Если остановится, то А даёт ответ «да» на входе ([Л'], [Л']). Тогда, по определению машины А', на входе [А1] она не остановится. Итак, А' на входе [А1] не останавливается. Но тогда А даёт ответ «нет» на входе ([Л'], [Л']). Но это означает, что Л' на входе [Л'] останавливается. Пришли к противоречию. 1.4. Во-первых, заметим, что есть алгоритм, который выписывает одну за другой те МТ, которые останавливаются, будучи запущен- запущенными на пустой ленте. Этот алгоритм перебирает все пары ([Af],n) ([М] — описание машины М, п — натуральное число) и для каждой пары моделирует работу М на пустом входе в течение п тактов. Если за это время происходит остановка, то М включается в список, если не была включена в него ранее. Если бы существовал ещё и такой алгоритм, который выписывает одну за другой машины, не останавливающиеся на пустом входе, то можно было бы построить и алгоритм, проверяющий, останавливается ли МТ А на пустом входе: запускаем оба алгоритма перечисления и ждём, когда описание А появится в одном или в другом списке. Но тогда существовал бы и алгоритм, решающий проблему оста- остановки: по машине М и входу .г легко строится машина, которая снача- сначала записывает х на лепту, а затем моделирует работу М. Так что из предыдущей задачи заключаем, что нет алгоритма, перечисляющего машины, не останавливающиеся на пустом слове. 1.5. Ограничимся указанием. Для любой вычислимой функции Ь(п) при достаточно больших и среди машин с п символами алфавита и п, состояниями, останавливающихся на гнетом входе1, можно найти и тянуто, которая вычисляет пЬ{ц). а затем вычитает из этою числа по слшяшс. пока не дойдёт до нуля. i.ii. Пусть имеется лг-'.-х.к'нточиан *\iT J.I р.шотамл;; i за время 1\п' > и на ]»одс>..ч длины п. Опишем ноф'.рмальн') лпп'типу М, с един- '.•'.ucuiiun к'нтои, моделирующую рабоху М^. Алфиви; .-и\н\ машины достаточно велик, чтобы кодировать в одной ячейке еодерл,.вмое ячеек с тем же номером на лентах Afi и информацию о положении головок
144 Решения задач (на каких лентах головки находятся над ячейкой с тем же номером). Управляющее устройство Mi позволяет запоминать содержимое яче- ячеек, над которыми находятся головки Мг, и состояние управляющего устройства Мг- Машина М\ работает циклами, каждый из которых имитирует один такт работы М^- В начале каждого цикла головка М\ находится над самой левой ячейкой. Цикл состоит из двух последовательных проходов по записанному слову. Вначале М\ движется вправо и собирает информацию о состо- состояниях в ячейках Мг, над которыми находятся головки. При обратном проходе справа налево М\ выполняет действия, имитирующие такт ра- работы Мг. На каждое такое действие требуется 0A) тактов. Цикл выполняется за 0(S) тактов работы М\, где S — длина ис- используемой части ленты. Так как Т(п) ^ п, то 5 ^ max{n,T(n)} = Т(п). Поэтому Mi работает за время O(ST(n)) = 0(Т2(п)). 1.7. Приведём ещё более неформальное, чем в предыдущей задаче, описание алгоритма. Алфавит моделирующей машины выберем доста- достаточно большим, чтобы кодировать в одной ячейке содержимое ячеек на всех лентах, информацию о положении головок (на каких лентах голов- головки находятся над данной ячейкой) и дополнительные метки, которые потребуются в процессе работы. Опишем алгоритм А, который решает такую задачу: на одной из лент записано слово (t,w), на второй головка находится в конце ис- используемой части ленты, нужно промоделировать работу трёхленточ- ной машины за период времени t (записанный двоичным словом), если вначале состояние лент определено словом w. Запишем на свободное место на второй ленте число t/2, после чего скопируем туда же (?/2)-окрестности каждой из головок на всех трёх лентах исходной машины и переместим головку в конец слова w (в конец используемой части первой ленты). К полученному на второй ленте сло- слову применим рекурсивно алгоритм А, по завершении его работы скопи- скопируем на первую ленту результат моделирования, скопируем на вторую ленту (?/2)-окрестности головок во вновь полученном состоянии, отве- отвечающем состоянию трёхленточной машины после t/2 тактов работы, опять переместим головку в конец используемой части первой ленты. Ещё раз рекурсивно применим А к слову на второй ленте, по заверше- завершении его работы скопируем результат моделирования на первую ленту. Для корректного описания алгоритма нужно ещё задать его работу на слове (l,w). В этом случае просто применяем алгоритм, аналогич- аналогичный описанному в предыдущей задаче.
ИЗ РАЗДЕЛА 1 145 Операцию копирования с ленты на ленту можно осуществить за линейное от длины копируемого слова время. Поэтому для времени T(t, s) работы в наихудшем случае алгоритма А, моделирующего ра- работу трёхленточной машины за время t на словах длины s, получаем оценку: Из (*) сразу следует, что при некоторой константе С\ и t > 1 f(t,2t) «С Cit(logt+1). Поэтому f{t,s) =O(t\ogt)+O{t) + O(s). Заметим, что получить слово (t, w) из слова w можно за время |w|logt, если t известно. Алгоритм моделирования трёхленточной машины на двухленточной использует алгоритм А следующим образом. Промоделируем работу машины из начального состояния за 1 такт, затем работу за 2 такта из достигнутого состояния и т. д. Оценим время работы этого алгоритма. Пусть исходная трёхленточная машина работает на словах длины п за время Т{п) ^ п. Тогда время Т'(п) работы моделирующей машины будет оцениваться как flogT(n)! nogT(n)l k=0 к=0 [logT(n)l < ^ О(Т(п)) = О(Т(п) log T(n)). k=o 1.8. Информация в машине Тьюринга переносится головкой упра- управляющего устройства. Более точно эта мысль формулируется так. Рассмотрим последовательность {Qj(x,k)} состояний управляющего устройства МТ в моменты переходов головки между к-й и (к + 1)-й ячейками при работе МТ на входе х (рассматриваем переходы в обе стороны). Работа машины Тьюринга справа от fc-й ячейки полностью определяется последовательностью {Qj(x,k)}. Теперь запишем нижнюю оценку на время работы МТ, копирующей входное слово. Она основана на том, что каждый переход головки тре- требует отдельного такта работы МТ. Введём параметры ehti, значения которых определим позже. Для слова w через Tk{w) обозначим число переходов головки между к-й и (к + 1)-й ячейками при работе МТ на входе w. Будем искать такое слово w, что Tk(w) > тк при к ^ п/2.
146 Решения задач Поскольку МТ копирует начальный кусок длины к справа от fc-й ячейки, последовательности {Qj(vu,к)} при фиксированном и должны быть различны для различных fc-буквенных слов v. Коротких (длины не больше г) последовательностей состояний управляющего устройства не больше, чем |Q|T+1/(I<2| — 1), где Q -¦¦- множество состояний упра- управляющего устройства. Для любого (п — /г)-буквенного слова и при где Л — внешний алфавит, неравенство Tk{vu) > т выполнено по край- крайней мере для доли 1 — е от всех fc-буквенных слов v. Это означает, что для доли 1 — |_4|n"~fc? от всех /г-буквенных слов v неравенство Tk(vu) > т выполняется для всех и. Поэтому при \Л\п-ке < ~ (**) найдётся слово w такое, что т^.(и») > 7> при к ^ п/2. Если е = (п\Л\п^'2), то (**) выполняется при к ^ п/2. Если при 2 этом ещё и Tk = L(log(e/2) H—nlog |^l|)/log|Q| |, то (*) выполняется о при к ^> 2п/3. При таком выборе параметров т^ = п(п) при к ^ 2и/3. Оценим время работы МТ на слове w таком, что Тк(и>) > т^ при к ^ Jj 2/(/3 (мы уже доказали, что такое слово есть) Для оценки минимального времени работы T'{ti) можно считать, что МТ вначале дописывает за Ti(n) тактов последовательность из одних 0 длины п, затем за О(п) шагов проверяем, состоит ли исход- исходное слово из одних 0, после чего прекращает работу, если это так, а в противном случае работает любым правильным способом. Ясно, что Т'(п) — Ti(n) + O(n). В свою очередь, Т\{п) —¦ O(niogn). Действи- Действительно, если бы машина во вн\ треннсй памяти могла хранить числа, го копирование слова из нулей не создало бы проблемы (надо было бы подсчитать длину слова и потом написать столько жг н\лей). Но этого сд<'Л"Ть ш!ль:ы Зато машина Тьюринга может хранить числе) в двоич- двоичной записи jj . jKpec i hocj и споей ; оловки (мы можем расширю ь a.i(}ia/iUT и см* raj ь, •!• о '(,' .it,jiT(- eci1.. Wi-.'тс ;-И: ;<.j4);:nn гетг.ных ; м.\': п^ !>¦¦¦ \пм '. '•>r.R,i.\;n ;лог'.а и.', нулей и еЛ-м;>:ш" 1 ]; >;т зт.'-.м ьрибг!;.)! чи< е. :iui;i:^ ¦.; .. r;iKO:V- ( -и-"Г ;ИК' ньгкпанис '\(т:и)|||Ы И Cjilil- CMi" ¦ ' .Ч-.1 ;с. .i'l;.' ' .:¦ ведь ч.чдо возить с собой) требуют 3j;^i"iin порядка длин}.-! (-иммика. т.е. O(logri), так что всего мы укладываемся в O(v log, /t) такюв
ИЗ РАЗДЕЛА 1 147 Замечание. Можно показать, что Т'(п) = fi(nlogn). Читателю предлагается самостоятельно понять, как нужно модифицировать из- изложенную выше нижнюю оценку времени работы в худшем случае. 1.9. Приведём идею написания такой программы. Будем писать программу, моделирующую работу универсальной ма- машины Тьюринга. Поскольку значение переменной может быть сколь угодно велико, то в одной переменной можно хранить всю ленту маши- машины (цифры |5|-ичного представления числа, где S — алфавит машины). Указатель положения головки — это ещё одна переменная, состояние управляющего устройства — третья. Преобразования этих переменных за такт работы описываются про- простыми арифметическими действиями (сложение, умножение, возведе- возведение в степень, деление с остатком и нахождение этого остатка, сравне- сравнение чисел). Вес- эти действия легко реализовать без рекурсии, используя их стандартные определения и привлекая небольшое количество допол- дополнительных переменных. Поскольку состояний управляющего устройства и символов алфави- алфавита фиксированное число, набором вложенных проверок if-then-else конечной глубины можно задать выбор текущих значений этих пере- переменных, и, тем самым, функцию переходов. Замечание. Когда значения переменных не ограничены, в одной пе- переменной можно хранить целый массив таких переменных: (x1,...,xn)^2x>3x*...pxn\ Pj — простые числа. Поэтому ограничение на число переменных несу- несущественно. 1.10. Будем искать все функции от двух переменных, которые выра- выражаются формулами в базисе Т. Вначале есть две такие функции (про- (проекции): pi (х, у) = х и Р2(х,у) = у. Далее к множеству уже построенных функций Т' применяется следующая процедура. Добавляем к множе- множеству Т' все функции вида f(gi(xi,x2),g2(x3,x4), ¦ ¦ ¦ ,gk(x2k-i,x2k)), где Xj € {х,у}, gj ? Т1, / € Т. Если множество Т' увеличилось, повторяем процедуру ещё раз. В противном случае возможны два варианта: либо уже получены все функции от двух переменных (тогда базис полон), либо — нет (тогда базис не является полным). Оценим время работы этого алгоритма. Расширять множество Т' можно лишь 14 раз (всего есть 16 булевых функций от двух перемен- переменных). Каждый раз нужно проверить не более \Т'\т ¦ 2m = BтI+{о&\^'\ вариантов, где m — максимальное количество аргументов у базисных
148 Решения задач функций. Длина входа (длина записи базиса) не превосходит |jF|2m, a \Т'\ = 0A). Так что алгоритм работает за время, ограниченное поли- полиномом от длины входа. 1.11. Верхняя оценка п2п < 2,01™ (при п ^ 2000) для с„ сразу сле- следует из представления функции в дизъюнктивной нормальной форме (см. A.1) на с. 22). Для получения нижней оценки подсчитаем число различных схем размера s и сравним его с количеством функций от п переменных. Для определённости считаем, что используется стандартный полный базис. Тогда для fc-ro присваивания схемы есть не более 2 ¦ (п + к){п + к~ 1)/2 + (п + к - 1) < (п + кJ возможностей (конъюнкция я дизъюнкция — симметрические функ- функции, а выбирать мы можем из п+к— 1 переменной), поэтому количество Ns различных схем размера s не больше, чем П к=\ k=l А число булевых функций от п переменных равно 22". При 2n > s(l + 2logn) + 2slogs (*) функций больше, чем схем, поэтому сп > s. Если s = 1,99™, то неравен- неравенство (*) выполняется при п ^ 3000. 1.12. Снова используем дизъюнктивную нормальную форму. Если строить по формуле A.1) схему из элементов AND и OR, имеющих произвольное число входов, то понадобится не более 3 слоев элементов: один слой на отрицания, один — на конъюнкции, и один — на итоговую дизъюнкцию. 1.13. Как говорилось на с. 21, схему можно представлять в виде графа. Из каждой невыходной вершины графа схемы есть хотя бы один ориентированный путь в одну из выходных вершин. Поэтому размер схемы ограничен сверху суммой числа выходных вершин и числа таких путей. Длина ориентированного пути в графе схемы не превосходит глуби- глубины схемы d. Для схемы в стандартном базисе входная степень каждой вершины не больше 2. Поэтому ориентированных путей, ведущих в вы- выходные вершины, не больше чем 2d = О(п°^) (двигаемся от выходной вершины против направления стрелок и применяем индукцию). 1.14. Результатов сравнения двух чисел х и у три — х > у, или х = у, или х < у. Будем строить схему, которая выдаёт два бита ре- результата, кодирующие эти три возможности.
Xn Уп e' = 9' = Схема 1, если 1, если Хп/'. 2/n/2 Стрп/2 ИЗ РАЗДЕЛА числа равны х > у е = 9Z е := 9-= = 1, = 1, = е' Л е" = д' V (е' Л эсли числа если х > у 1 Жп/2-l • • • • 2/п/2-1 Схема е" = 1, если д" = 1, если 9") равны хо 2/о СтРп/2 числа равны х > у 149 Рис. 9. Схема Стрп для сравнения п-разрядных чисел (размер схемы О(п), глубина — O(logn) Для простоты полагаем, что п является степенью двойки. Это не портит оценку в общем случае, потому что можно дополнить числа нулями слева, чтобы их длина стала степенью двойки. Размер входа увеличивается при этом не более чем вдвое. Схему сравнения п-разрядных чисел будем собирать из двух схем, сравнивающих числа, образованные первыми п/2 разрядами и послед- последними п/2 разрядами. Зная результаты сравнения этих двух пар чисел, можно восстановить и результат сравнения исходных чисел. Конструкция схемы изображена на рис. 9. Оценим её размер и глу- глубину. Выполняются следующие рекуррентные соотношения sn = 2sn/2 +3, hn = hn/2 + 2. Из них получаем sn = О(п) и hn = O(logn). Замечание. Сравнение n-значных двоичных чисел х и у равносиль- равносильно определению старшего разряда числа х+Bп — 1—у), а число 2" — 1—у находится по у схемой глубины 0A) линейного размера (нужно приме- применить отрицание ко всем переменным). Поэтому достаточно было бы решить следующую задачу 1.15. Мы, наоборот, будем использовать сравнение чисел для сложения. 1.15. Введём обозначения: пусть хп-\,... ,хо — двоичные разряды первого слагаемого; j/n-i, • • • > Уо — второго; sn, sn_i,..., so — разряды результата; rn_i,... ,г0 — биты переноса в следующий разряд. Введём дополнительные переменные U = Xi © yi, to = 0. Тогда so = to, s, = = rj_i © U при i > 0; r_i = 0, n = (ri-i Л U) V x\ при г ^ 0 (если биты в слагаемых различны, то бит переноса такой же, как в предыдущем
150 Решения задач разряде; если одинаковы — бит переноса совпадает с их (общим) зна- значением). Пока мы вводили обозначения, мимоходом решилась задача пунк- пункта а). Действительно, присваиваний по приведённым выше формулам нужно сделать О(п) штук. Для пункта б) используем предыдущую задачу. Заметим, что если есть схема размера 5 и глубины Н, вычисляющая биты переноса, то из неё легко строится схема размера 5 + О(п) и глубины Н + 0A), вычисляющая сумму (все ti могут быть найдены параллельно, и, при известных битах переноса г*, все S; также могут быть найдены параллельно). Вычисление битов переноса равносильно сравнению, так что доста- достаточно научиться сравнивать параллельно все «суффиксы» чисел, т. е. для каждого i сравнить числа XjXi_i ... Хо и -"j/t^W-i • • • ~<Уо- Вначале сравним числа xn_ixn_2 ¦ ¦ -Xq и ~1уп-1~1Уп-2 ¦ ¦ ¦ —'j/o по схе- схеме, описанной в предыдущей задаче. Заметим, что при работе этой схемы на нижнем уровне мы сравниваем биты, на следующем — дву- двузначные числа, затем — четырёхзначные и т. д. Получаем «сужающееся дерево». Оно даёт результаты сравнения блоков по 2к битов, в частно- частности, для суффиксов длин 1,2, ..., 2т = п. Это числа, двоичная запись которых содержит ровно одну единицу. Комбинируя результаты срав- сравнения суффиксов длины 2к и соседних с ними блоков, получим результа- результаты сравнения суффиксов, двоичная запись длин которых содержит две единицы. Продолжая этот процесс, мы получим результаты сравнения всех суффиксов. Поскольку количество единиц в двоичной записи дли- длины суффикса не превосходит logn, глубина полученной схемы O(logn). Размер схемы линеен — помимо схемы сравнения х и 2П — 1—у (линейно- (линейного размера) мы используем дополнительно для каждого суффикса один блок, изображённый в центре рис. 9, который комбинирует результаты предыдущих сравнений. 1.16. Для вычисления функции MA J достаточно научиться подсчи- подсчитывать число единиц среди значений переменных: дальше можно ис- использовать схему из задачи 1.14. Общее число единиц равно сумме чи- числа единиц среди значений переменных от х\ до хуп/2\ и числа единиц среди значений переменных от X[n/2j+i до хп. Представляя это в ви- виде схемы, получим схему глубины logn, элементами которой должны быть функции, вычисляющие сумму двух чисел. Поскольку эти числа не превосходят п, их двоичная длина не превосходит logn. Из решения задачи 1.15 вытекает, что глубина таких схем O(loglog n). Глубина всей схемы поэтому O(lognloglogn) (а размер 0{п)).
ИЗ РАЗДЕЛА 1 151 1.17. Для графов можно определить операцию возведения в степень. В графе Gk столько же вершин, сколько и в G, а две вершины связаны ребром, если в G их можно соединить путём не длиннее к (в частности, G1 = G). Графы будем задавать матрицами смежности. Строки и столбцы матрицы смежности A(G) графа G индексированы вершинами графа. Если (jk) — ребро G, то а,& = 1, в противном случае a,jk = 0. Нам будет удобно полагать ац = 1 и считать элементы матрицы булевыми переменными. Легко понять, что если между вершинами в графе G есть путь, то есть и путь не длиннее п, где п — число вершин в графе G. Так что для решения задачи достаточно построить схему, вычисляющую матрицу A(Gk) для какого-нибудь к ^ п, и схему, выбирающую матричный эле- элемент по заданным номерам строки и столбца. Для любых положительных к, j,m, таких что к = j+m, справедливо тождество A(Gk)uv= \/ A(&)uwAA(Gm)wv. (*) w?V(G) Если сказать словами, то это тождество означает, что на любом пути длины к в графе G, связывающем вершины uhv, есть вершина w такая, что длина пути от и до ш равна j, а длина пути от к; до г; равна т. В обратную сторону, если есть пути между и и w, w и v длины j и т соответственно, то их объединение даёт путь длины j + т = к из и ъ v. Вычисление матричного элемента по формуле (*) легко записать в виде схемы глубины O(logn). Вычисляя последовательность матриц A(GX), A(G2), yl(G4),... последовательным возведением в квадрат, че- через [logn] шагов мы получим матрицу A(G2 ), где 2к ^ п. Глубина построенной схемы log2 n, а размер полиномиален по п. Теперь покажем, как извлекать из набора матричных элементов элемент ajk, если j и к заданы двоичными представлениями ji-.-jo, ki... ко, I = [logn]. Заметим, что равенство двух битов х и у прове- проверяется в стандартном базисе формулой х = у = (->x Л -iy) V (x Л у). Поэтому значение, вычисленное по формуле / V ащ^щ,ТГЛЕ Л (Sm = •?m) Л {tm = km) ' (**) 8l...8Q,tl...to 771=0 всегда равно a,jt—-^ jr,—h~^- ^>азмеР формулы (**) полиномиален по п. Лег- Легко представить эту формулу схемой глубины O(logn). Можно также сослаться на результат задачи 1.19.
152 Решения задач 1.18. Используя тождества де Моргана ¦• VXi = Л ~iXi' "• ЛXi ~ V ~1ж*' можно добиться, чтобы отрицания применялись первыми. А поскольку ->/ = / © 1, применяя при необходимости тождества де Моргана ещё раз, можно добиться, чтобы последней применялась дизъюнкция. После таких преобразований мы получим схему, которая есть ДНФ. И задача свелась к тому, чтобы убедиться, что количество конъюнктов (аргументов дизъюнкции) в любой ДНФ, задающей функцию PARITY, экспоненциально велико. Легко понять, что любой конъюнкт в такой ДНФ должен содер- содержать п сомножителей (в противлом случае функция, которую задаёт эта ДНФ, иногда не будет меняться при изменении ровно одного из её аргументов). Конъюнкт, содержащий п сомножителей, равен 1 ровно на одном наборе значений переменных. Поэтому число конъюнктов не меньше числа единиц функции PARITY, которое равно 2"~1. Замечание. Можно доказать, что схемы любой фиксирбванной глу- глубины из элементов NOT и OR, AND с произвольным числом входов, вычисляющие функцию PARITY, имеют экспоненциальный размер. До- Доказательство строится по индукции, основание которой дают схемы глубины 2 и 3 (изложенный выше случай). Доказательство этого утверждения можно найти в [24]. Приведём краткое изложение основной идеи. Заметим, что применение дизъюнк- дизъюнкции и конъюнкции в схеме минимального размера должно чередоваться. Заменяя дизъюнкцию конъюнкций на конъюнкцию дизъюнкций, мож- можно уменьшить глубину схемы на 2. Однако размер схемы может при этом увеличиться квадратично, поэтому никакой разумной оценки так не получается. Для получения оценки случайным образом присвоим зна- значения части переменных. Полученная функция от меньшего числа пе- переменных — либо PARITY, либо её отрицание. Схемная сложность для отрицания PARITY такая же, как и для самой PARITY. А с некоторой вероятностью наша схема упростится и перестановка конъюнкций и дизъюнкций не приведёт к большому увеличению размера схемы. 1.19. а) => б). Граф, представляющий формулу, можно сделать деревом, если размножить входные переменные. Размер при этом уве- увеличится не более, чем вдвое. Для построения схемы глубины O(logn), вычисляющей формулу X размера п, используем идею, применённую в решении задач 1.14 и 1.15. Двигаясь от корня дерева, представляющего формулу, и выбирая каждый раз вершину, соответствующую подформуле большего разме-
ИЗ РАЗДЕЛА 1 153 pa, мы найдём рано или поздно подформулу Z, размер которой лежит между п/3 и 2п/3. Заменяя в формуле X подформулу Z независимой переменной z, получаем формулу Y с такими же оценками на размер. Пусть для Z и Y есть вычисляющие их схемы глубины не больше h. Построим для всей формулы X схему глубины не больше h + 3. Вы- Вычислим 3 переменные подсхемами глубины не больше h: у о — значение формулы Y при z = 0, t/i — значение формулы Y при z = 1, в — значение формулы Z. Значение / всей формулы равно / = (у0 Л -.в) V (i/i Л в). Это формула глубины 3. Итак, для h(L) — минимальной глубины схемы, вычисляющей фор- формулу размера L, выполнено рекуррентное соотношение: Л(Ь)^М—) + з. Из него следует h(L) = O(logL). б) => а). Это совсем просто. Превратим граф схемы в дерево, размножая при необходимости вершины. Размер этого дерева не будет превышать количества ориентированных путей от выхода ко входам. А таких путей не более 2h. 1.20. Вспомним конструкцию неразрешимого предиката f^(x), при- принадлежащего Р/poly, которая приведена в замечании 1.1 на с. 24. Сейчас мы будем строить такой предикат fv(x), чтобы он был раз- разрешим, но не принадлежал Р. Мы построим такую вычислимую фун- функцию уз(п), что любой алгоритм её вычисления работает дольше, чем 2П. Другими словами, есть алгоритм распознавания принадлежности языку Н, состоящему из двоичных записей тех чисел п, для которых (р(п) = 1; но время работы в наихудшем случае любого такого алгорит- алгоритма на словах длины т растёт быстрее, чем 22 . Докажем более общее утверждение. Пусть f(n) — вычислимая фун- функция. Обозначим через Mf язык, состоящий из таких пар ([М],ж), что машина М на входе х останавливается за время /(|а;|). Принадлежность этому языку разрешима (запустим универсальную машину Тьюринга со входом ([М],ж), отсчитаем /(|а;|) тактов работы М и посмотрим — остановилась ли М). Но быстро проверить эту разрешимость нельзя, как показывает следующее рассуждение, почти дословно повторяющее решение задачи 1.3. Пусть машина А распознаёт принадлежность языку Mf слов дли- длины п за время Т(п). Тогда есть и такая машина А', которая на вхо- входе X запускает А на входе (Х,Х), после чего в случае ответа «да»
154 Решения задач переходит в состояние, в котором головка двигается вправо (и машина не останавливается), а в случае ответа «нет» останавливается. Смодели- Смоделировать работу А за время Т(п) можно за время Т'(п) = О(Т2(п)). Если Г'(п) < /(п), то что скажет А о слове ([Л'], [Л'])? Если «да», то при- приходим к противоречию с определением машины А', если «нет» — тоже приходим к противоречию. Поэтому Т'(п) ^ /(п), а Т(п) = П(/1//2(п)). Итак, мы доказали, что время работы любого алгоритма, распозна- распознающего принадлежность слова языку М/ не меньше, чем П(/1//2). Взяв в качестве / функцию 22 , получим решение задачи. Из раздела 2 2.1. Напомним, что литералом называется переменная или её отри- отрицание. Литералы будем обозначать 1\, fa, Алгоритм решения задачи 2-КНФ будет работать в три этапа. Этап 1. Перебираем все пары дизъюнкций. Если встречаем пару 1х У х, fa У -ix, то добавляем к КНФ дизъюнкцию l\ V fa- Если все па- пары (включая добавленные дизъюнкции) просмотрены, то переходим к этапу 2. Этап 2. Проверяем для каждой пары переменных, сколько дизъ- дизъюнкций использует эту пару. Если каждая пара используется не более одного раза, то выдаём ответ «да» (КНФ выполнима). Если нашлась пара переменных, используемая по крайней мере в двух дизъюнкциях, выполняем сокращение: делаем подстановку равенств, указанных в тре- третьей строчке следующей таблицы, во все дизъюнкции и если получаем противоречие ((х = 0) Л (х = 1) или (х — -<у) Л (х = у)), то выдаём ответ «нет», в противном случае переходим к этапу 3. х V у хУ у х У у -*х V у -<х V ->j/ -*x V ->у Л Л Л Л Л Л х V ->у —\х V у ~ч V —>у х V ~ij/ -*x У у хУ -*у х = 1 2/ = 1 х = -<у х = у х = 0 у = 0 Этап 3. Решаем полученную на этапе 2 задачу с меньшим числом переменных и повторяем её ответ. Корректность такого алгоритма вытекает из следующих наблюде- наблюдений. Во-первых, в силу логического тождества ((li V я) Л A2V-.*))=>(!! VZa), на первом этапе мы добавляем следствия уже имеющихся конъюнкций. Во-вторых, для каждого столбца приведенной выше таблицы легко про- проверить, что конъюнкция первых двух строчек эквивалентна равенству
ИЗ РАЗДЕЛА 2 155 в третьей строчке. Поэтому выполнимость исходной КНФ эквивалент- эквивалентна выполнимости сокращенной КНФ. Наконец, докажем, что если на каждой паре переменных есть не бо- более одной дизъюнкции, то КНФ, полученная ко второму этапу, выпол- выполнима. Присвоим значение переменной х\ произвольным образом, затем учтём все следствия этого присвоения. Первой из переменных, кото- которой не присвоено значение, также присвоим значение произвольным образом и т. д. Когда мы не получим выполняющего набора значений переменных? Только в том случае, если для некоторой переменной из значений ранее определённых переменных будут следовать и 0, и 1. Рас- Рассмотрим самое раннее такое противоречие. Оно означает, что имеются дизъюнкции 1\ Ух и 1% V-ix, а также, что liVh = 0. Но это невозможно, так как в этом случае дизъюнкция 1\ V 1% также входит в КНФ после этапа 1. Теперь оценим время работы алгоритма в худшем случае. Обозна- Обозначим его через Т(п), где п — число переменных (число переменных за- заведомо не превосходит длины входа). По построению имеем следующее рекуррентное соотношение Г(пКО(п4) + Г(п-1), откуда следует Т(п) = О(п5). 2.2. Степенью вершины в графе называется количество рёбер, вы- выходящих из этой вершины. Необходимым условием существования эй- эйлерова пути является связность графа: должен существовать путь из любой вершины в любую. Чтобы выяснить, существует ли эйлеров путь в связном графе, достаточно подсчитать количество вершин нечётной степени в этом графе. Если оно не превосходит 2, то эйлеров путь есть, в противном случае — нет. Вторая часть этого утверждения очевидна: если есть эйлеров путь, то все вершины графа имеют чётную степень, кроме начальной и ко- конечной вершин эйлерова пути (если начальная и конечная вершины со- совпадают, то степени всех вершин четны). Доказательство существования эйлерова пути основано на таком простом наблюдении: если есть два замкнутых пути без общих ребер, но с общей вершиной, то их можно объединить в один путь (идём по первому пути до общей вершины, потом обходим второй путь и про- продолжаем движение по первому). Далее нужно применить индукцию по числу вершин и рёбер в графе. Кратко изложим это индуктивное рас- рассуждение (читателю рекомендуется восстановить опущенные детали самостоятельно).
156 Решения задач Если все вершины графа G чётной степени, то выберем в нём какой- нибудь замкнутый путь С. Выбросив рёбра С из графа G, получим не- некоторое количество связных графов G\, ... , Gr, у которых все степени вершин чётные. Так что в каждом из этих графов есть эйлеров путь (по индукции). Каждый из таких графов имеет хотя бы одну вершину на С (иначе G был бы несвязным). Поэтому можно применить изло- изложенную выше конструкцию, чтобы построить из С и эйлеровых путей в графах Gj эйлеров путь в G. Если в графе G есть две16' вершины нечётной степени, то выберем связывающий их путь С. Дальнейшее рассуждение остается прежним. Осталось заметить, что и подсчёт степени вершины, и проверка связности графа могут быть выполнены за полиномиальное время. 2.3. Рассмотрим предикат Q ? NP. По определению Q(x)=3y((\y\<q(\x\))AR(x,y)), где q(-) — полином, a R(-, •) € Р. В другой интерпретации слово у — это сообщение Мерлина, доказывающее истинность Q(x). Предположим, что Артур полностью доверяет Мерлину, а тот имеет право отвечать только одним битом (и всегда даёт правильный ответ на поставленный вопрос). Тогда Артур может восстановить слово у, выясняя его биты от первого до последнего, следующим образом. Ес- Если уже известны первые к битов, образующие слово и, то Артур мо- может поинтересоваться у Мерлина, существует ли слово uOz, такое что R(x, uOz). При положительном ответе (Аг+1)-й бит полагается равным О, при отрицательном — 1. Если Р = NP, то Артур может имитировать Мерлина. 2.4. Принадлежность задачи о паросочстаниях классу NP очевид- очевидна: Мерлину достаточно разбить мальчиков и девочек на пары, после чего Артур сможет убедиться, что пар ровно п и все выбранные пары согласны танцевать. Доказательство принадлежности Р будем проводить, переформули- переформулировав задачу в терминах теории графов. Есть двудольный граф (рёбра соединяют только вершины из разных долей), нужно проверить, су- существует ли совершенное паросочетание, т. е. такой набор рёбер, что каждая вершина инцидентна ровно одному ребру из набора (если ка- каждая вершина графа инцидентна не более чем одному ребру из набора, то такой набор называется паросочетанием, размер паросочетания — количество входящих в него рёбер). 1в)Если у вас получился граф, у которого ровно одна вершина нечётной степени, то проверьте вычисления и найдите ошибку.
ИЗ РАЗДЕЛА 2 157 i 1 1 1 1 i \ / \ / \/ л / \ / \ / \ 1 \ \ \ \ \ \ \ л / \ Рис. 10. 4 V \/ л / \ U Мы рассмотрим алгоритм, последовательно увеличивающий теку- текущее паросочетание, начиная с пустого. Построение завершается либо совершенным паросочетанием, либо доказательством максимальности размера текущего паросочетания (и тогда совершенного паросочета- паросочетания в графе нет). Алгоритм будет использовать для увеличения размера текущего па- паросочетания построение чередующего пути (это такой путь в гра- графе, который начинается и заканчивается в вершинах, не инцидентных рёбрам паросочетания, и проходит попеременно по рёбрам, принадле- принадлежащим и не принадлежащим паросочетанию). Заменив в паросочета- нии рёбра чередующего пути, стоящие на чётных местах, на рёбра, стоящие на нечётных местах, мы увеличим размер паросочетания. Обозначим текущее паросочетание через С, а множество вершин, инцидентных рёбрам из С, — через W(C). Предположим, что в графе есть паросочетание С" большего размера. Рассмотрим граф А, образо- образованный объединением рёбер С и С". Степени вершин в таком графе не превосходят 2, поэтому его компоненты связности — это пути (возмож- (возможно, длины 1, т.е. рёбра) и циклы (см. рис. 10, где сплошными линиями изображены рёбра из С, а штриховыми — из С", на стрелки пока не нужно обращать внимание). Так как С" имеет больше рёбер, чем С, то в А найдётся компонента связности, содержащая больше рёбер из С", чем из С'. Такая компонента является, как нетрудно видеть, чередующим путём. Итак, проверка максимальности заданного паросочетания С равно- равносильна проверке существования чередующего пути. Последнюю можно сделать, например, так. Обозначим доли графа через V и U. Ориен- Ориентируем рёбра графа согласно следующему правилу: рёбра, входящие в С, направлены из V в U, а все остальные рёбра направлены проти- противоположно (эта ориентация также изображена на рис. 10). Тогда суще- существование чередующего пути равносильно существованию такой пары вершин и € U \ W(C) и v 6 V \ W(C), что из и в v есть ориентиро- ориентированный путь. Существование ориентированного пути с началом и кон- концом в заданных вершинах проверяется способом, описанным в решении
158 Решения задач задачи 1.17, который работает и в случае ориентированного графа (ма- (матрица смежности становится несимметричной, что никак не влияет на вычисления). Итак, мы доказали, что задача о паросочетаниях принадлежит Р. Описанный выше алгоритм не оптимален, читателю предлагается по- подумать, как можно его ускорить. 2.5. б) Удобнее описывать сведение 3-КНФ к задаче независимое МНОЖЕСТВО. В этой задаче по графу G и числу q требуется определить, существует ли в графе G множество вершин мощности q, никакая пара вершин которого не связана ребром (независимое множество). Очевидно, что задача КЛИКА для графа G эквивалентна задаче НЕ- НЕЗАВИСИМОЕ МНОЖЕСТВО для дополнительного графа G (в дополни- дополнительном графе рёбра и нерёбра меняются местами). Возьмём 3-КНФ из т дизъюнкций, в которые входят м переменных. Граф, который сопоставляется этой КНФ, имеет 2м -I- 4 т вершин. Ка- Каждой переменной Xi соответствуют две вершины, связанные ребром. Пометим их Xi и -хг* (см. рис. 11а). Каждой дизъюнкции соответствуют четыре вершины, попарно связанные рёбрами между собой. Вершины, со- соответствующие переменным и дизъ- дизъюнкциям, связаны между собой так, как показано на рис. 116), (нарисован пример для дизъюнкции 1\ V /о V /з). Очевидно, что такой граф строит- строится по 3-КНФ полиномиальным алго- алгоритмом. По построению графа ясно, что любое независимое множество его вершин содержит не более п + гп элементов. Докажем, что независи- независимые множества размера п + тм находятся во взаимно однозначном со- соответствии с выполняющими наборами значений для 3-КНФ, которое ндаётся правилом: если из пары вершин, помеченных .г, и ~^хг, в не- ;-;шигимое множество входит вершина з:г, то в соответствующем .что.му независимому множеству наборе значений х* = 1. в противном случае х, = 0. Кз рис. 116^ легко усматривается корректность такого соответ- • •т.вия. В независимое множество размера п + т обязана, входить хотя Оы одна вершина из четвёрки, соответствующей дизъюнкции. Но это означает, что хотя бы одна из вершин, помеченных —¦/1, -1/2, —'/3, в это множество не входит. И наоборот, если взять множество S вершин, со- Xi X, переменная а) Рис. —1 h —1 / \ h 1 \ / 1-2 -• 2 h ДИЗЪЮНКЦИЯ б) 11.
ИЗ РАЗДЕЛА 2 159 ответствующих выполняющему набору для 3-КНФ, то оно однозначно дополняется до независимого множества размера п + т (проверьте по рис. 116), что для каждого набора значений li,h,h (кроме нулевого набора!) из четвёрки, соответствующей дизъюнкции, однозначно вы- выбирается вершина, которую можно добавить к S). 2.6. б). Заметим, что число раскрасок в 3 цвета по очевидным при- причинам кратно 6: перестановка цветов сохраняет правильную раскраску. Пусть есть 3-КНФ из т дизъюнкций, в которые входят п перемен- переменных. Граф, который сопоставляется этой КНФ, имеет 7т f 2п + 3 вер- вершин. Для описания структуры графа удобно пометить часть вершин. Во-первых, пометим три вершины числами 0, 1. 2. Во-вторых, пометим каждым литералом (переменной или её отрицанием) по одной вершине. Остальные 1т вершин разобьём на группы по 7. каждая группа соот- соответствует одной из дизъюнкций. Теперь опишем рёбра этого графа. Как показано на рис. 12а), вер- вершины 0, 1 и 2 соединены между собой рёбрами. На рис. 126) показаны ещё п треугольников в этом графе. И, наконец, рис. 12в) показывает, как соединены рёбрами вершины, соответствующие каждой дизг>юнк- ции. На этом рисунке /ь 1-2, h обозначают литералы, входящие в дизъ- дизъюнкцию. Заметим, что некоторые рёбра мы перечислили по нескольку раз. Очевидно, что описанное выше построение можно выполнить за по- полиномиальное от п и m время. Докажем его корректность. Рассмотрим, какие правильные раскраски в 3 цвета возможны для такого графа. Без ограничения общности можно считать, что вершины О, 1 и 2 покрашены в цвета 0, 1 и 2 (из шести раскрасок, различающихся перестановками цветов мы выбрали одну). Тогда вершины, помеченные Xi и -IXj, покрашены в цвета 0 и 1, причём их цвета должны быть противоположны (см. рис. 126). константы а) переменная б) Рис. 12. О 1 дизъюнкция в)
160 Решения задач Прямым перебором вариантов можно проверить, что граф, изо- изображённый на рис. 12в) удовлетворяет следующему свойству: если кра- красить вершины, отмеченные литералами, в цвета 0 или 1, а вершины, от- отмеченные отрицаниями литералов, — в противоположные цвета 1 или 0, то правильная раскраска остальных вершин этого графа в 3 цвета существует (и единственна!) тогда и только тогда, когда хотя бы одно из значений литералов отлично от 0. Поэтому правильные 3-раскраски построенного графа, для которых вершины 0, 1, 2 покрашены в цвета 0, 1, 2 соответственно, находятся во взаимно однозначном соответствии с выполняющими наборами зна- значений переменных исходной 3-КНФ. 2.7. Данная задача содержит ограничения разного вида, бороться с которыми удобнее по отдельности. Поэтому мы сформулируем про- промежуточную задачу и построим цепочку полиномиальных сводимостеи задач. Итак, назовём данную задачу RP ("restricted puzzle"). Задача UP ("unrestricted puzzle") получается, если отказаться от ограничения на число типов квадратиков и требовать сложить прямоугольник задан- заданных размеров, причём не из всего набора квадратиков, а из некоторого его подмножества. Опишем неформально цепочку сводимостеи 3-КНФ ос UP ос RP, которая доказывает NP-полноту исходной задачи. 3-КНФ ос UP. Для описания этой сводимости будем считать ква- квадратики роботами, которые могут получать и передавать сообщения через стороны. Пара букв допустима, если одна из них означает пере- передачу сообщения, а вторая — приём того же сообщения. Итак, пусть есть 3-КНФ, множество переменных которой обозна- обозначим через X, а множество дизъюнкций — через V. Через V обозначим множество выполнимых дизъюнкций, получаемых из Т> подстановкой значений некоторых переменных. Будем теперь описывать множество квадратиков и их типы, из ко- которых нужно будет складывать прямоугольник размера \Х\ х \Т>\. Одна сторона этого прямоугольника (для определённости — левая) соответ- соответствует переменным КНФ, а другая (нижняя) — дизъюнкциям. Роботы- квадратики получают слева сообщения «Xj = 1» или «Xj = 0», Xj ? X; передают вправо то же самое сообщение; получают снизу дизъюнкцию из 2?'; подставляют в неё, если возможно, переменную Xj и передают по- полученную дизъюнкцию вверх, если не получено нулевое значение (дру- (другими словами, отсутствуют типы, получающие слева сообщения вида
ИЗ РАЗДЕЛА 2 161 ч-Xj = а», а снизу — «а © Xj*>). Все эти типы не содержат граничных букв. А есть ещё 4 угловых типа, двум сторонам которых разрешено вы- выходить на границу, и 2\Х\ + 2\Т>\ граничных типов (одна сторона может выходить на границу), которые нумеруются переменными и дизъюнк- дизъюнкциями соответственно. Буквы, написанные на сторонах квадратиков граничных типов, обеспечивают однозначную сборку контура прямо- прямоугольника. Квадратик каждого типа один. А всего типов О(\Х\ ¦ \Т>\). Таким образом, выполнимость КНФ эквивалентна возможности сло- сложить прямоугольник размера (|J4T| 4- 2) х (\Т>\ + 2) из описанного выше набора типов квадратиков. UP ос RP. Пусть есть множество квадратиков, принадлежащих множеству типов Т, каждого типа t no n(t) штук E2t€Tn(t) = -W)> из которых нужно сложить прямоугольник тп х к. Без ограничения общ- общности можно считать, что N > 5. Добавим квадратиков: по 2 штуки из тп + к дополнительных типов с,- и г/, чтобы выложить внешний кон- контур прямоугольника тп х к, 4(N — тпк) квадратиков ещё одного типа и, чтобы можно было использовать квадратики, не вошедшие в прямо- прямоугольник, и EN + ЗJ — 5N — 2(тп + к) + 4тпк квадратиков типа v для получения квадрата. Поскольку 5N + 3 > |Т| + 2(т + А;) + 2, ограничение числа типов длиной стороны квадрата будет выполнено. Сформулированные условия прямо переводятся на язык букв и их сочетаний. На сторонах квадратиков типа v написана одна и та же буква v, которая может соседствовать только сама с собой; на одной стороне квадратика типа и написана буква и, которая может соседство- соседствовать со всеми буквами, а на остальных — v; наконец, на одной стороне квадратиков типов Cj и г,- написана буква », ана остальных сторо- сторонах написаны буквы, обеспечивающие сборку контура прямоугольника m х к. Таким образом, чтобы собрать квадрат EN + 3) х EiV + 3) из нового набора квадратиков 1x1, необходимо и достаточно уметь собирать прямоугольник тп х к из некоторого подмножества исходного набора. 2.8. Поскольку умножение чисел можно произвести за полиномиаль- полиномиальное время, Мерлин может сообщить Артуру любое разложение числа п на два множителя. 2.9. Докажем принадлежность задачи ПРОСТОТА числа классу NP, построив для решения этой задачи недетерминированную машину Тью- Тьюринга N, которая рекурсивно вызывает саму себя. На вход машине N подаётся двоичная запись числа р, простоту которого нужно проверить. Машина недетерминированно дописыва- дописывает первообразный корень д по модулю р и разложение на простые
162 Решения задач множители числа р — 1, т.е. такие числа р%, ..., ра, cti, ... , аа, что После этого машина проверяет равенство (*) (на это хватит времени О(п3), где п = logp, даже если умножать большие числа «в столбик»), проверяет равенство др~1 = 1 (mod p) и все неравенства g(p-i)/Pi ф i (mod р). Для этих проверок потребуется время О(п4), так как s = О(п), а возве- возведение в степень q требует O(logq) умножений. Далее машина проверяет простоту всех pj, рекурсивно вызывая саму себя. Описанные выше проверки гарантируют, что порядок числа д в группе (Z/pZ)* равен р - 1, что эквивалентно простоте р. Оценим теперь время работы такой НМТ на входе длины п. Оно складывается из времени, затрачиваемого на детерминированные дей- действия, и времени, затрачиваемого на недетерминированные действия. Как следует из приведенных выше оценок, количество детерминирован- детерминированных действий ограничено полиномом от длины записей всех чисел, про- проверяемых на простоту за время работы. Длина записей первообразных корней и кратностей также ограничена полиномом (и даже линейно) от длины записей всех чисел, проверяемых на простоту. Таким образом, осталось оценить длину записей чисел, проверяе- проверяемых на простоту. Если взять произведение всех чисел, проверяемых на простоту на А;-м уровне рекурсии, то оно заведомо меньше исходного числа р. Поэтому суммарная длина записей этих чисел не более чем вдвое превышает длину записи р (длина записи произведения двух чи- чисел разве что на 1 меньше суммы длин сомножителей). Максимальное из чисел, проверяемых на простоту на А;-м уровне рекурсии, по край- крайней мере вдвое меньше, чем максимальное из чисел, проверяемых на (к — 1)-м уровне. Поэтому максимальный уровень рекурсии не превосхо- превосходит logp. Следовательно, общая длина записей всех чисел, проверяемых на простоту при входе р. равна O(log2p). Из раздела 4 4.1. Заметим прежде всего, что S заведомо не меньше длины входа в силу используемых определений.17^ 17^Бывают и другие определения. Так, например, класс log-SPACE определяется с помощью двухленточных машин, у которых на одной ленте записан вход и с неё можно только читать, а на второй ленте используется память O(logn).
ИЗ РАЗДЕЛА 4 163 Предположим, что доказана верхняя оценка вида 2poly(s) на время работы недетерминированной машины. Тогда можно дословно повто- повторить доказательство теоремы 4.2, построить игру длины polyE), и вы- вычислить её результат детерминированной машиной на памяти poly(S). Пусть есть НМТ, работающая на памяти 5. В процессе работы она может находиться не более чем в N = \A\S ¦ \Q\ • S состояниях, где Q, Л — множество состояний управляющего устройства и внешний ал- алфавит, соответственно. Хотя у НМТ может быть несколько вариантов перехода из данного состояния, из последовательности переходов все- всегда можно выбросить циклы (ни к чему делать вначале неправильный переход, а затем, вернувшись в то же состояние, — правильный). Так что время работы НМТ ограничено 2°(s\ как и для детерминирован- детерминированной МТ. 4.2. Легко сообразить, как имитировать оракул F из ?*, имея воз- возможность заказывать оракул из Щ. Нужно заказать оракул -iF, а даль- дальше брать отрицание от каждого результата его работы. Класс PSfc, как и Р, замкнут относительно взятия дополнений. Так что осталось доказать включение Р^к С Sjt+i. Это удобно делать, ис- используя игровое определение классов ?*. Пусть есть предикат F € PEfc, а вычисляющий его полиномиаль- полиномиальный алгоритм использует оракул G € ?*. Игру, которая задаёт G(x), обозначим G(x). Опишем теперь игру Т{х), выигрыш белых в которой (точнее, наличие выигрышной стратегии) эквивалентен F(x). Первый ход белых в этой игре состоит в объявлении последователь- последовательности пар (fj,Xj)'j=1. Белые утверждают, что эта последовательность есть протокол обращений к оракулу в процессе работы алгоритма с оракулом G, вычисляющего F(x). Более точно это означает, что алго- алгоритм обращается к оракулу q раз, j-й запрос делается о слове Xj, ора- оракул отвечает на это запрос fj, и окончательный результат F(x) = 1. Следующим ходом чёрные объявляют индекс j и, если fj = 0, то до- дополнительно первый ход белых в игре G(xj). Далее, если fj = 1, то разыгрывается игра G(xj), а если fj = 0, то разыгрывается игра G(xj) со сдвигом «на темп»: (г + 1)-й ход белых в Т{х) в этом случае соот- соответствует г-у ходу чёрных в G(xj), а (г + 1)-й ход чёрных — (г + 1)-у ходу белых в G(xj), (к + 1)-й ход чёрных на результат влияния не ока- оказывает. Белые выигрывают в этой игре, если (xjLj=1 — правильная после- последовательность аргументов при обращениях к оракулу, результат игры G(xj) совпадает с fj, а. результат работы алгоритма для вычисления F на входе х с ответами оракула (/j)'=i равен 1.
164 Решения задач Достаточно ясно, что если F(x) = 1, то у белых есть выигрышная стратегия в Т(х): первым ходом сказать правду, а дальше играть в G{xj) по стратегиям, существование которых вытекает из равенства fj = G(xj). Если же F(x) = 0, то в каком-то члене (fm,xm) последо- последовательности (/j>a;j)j—1 белые должны отклониться от истины. Чёрные своим ходом должны объявить т (и, дополнительно, первый ход за бе- белых в игре G{xm) при необходимости), дальнейшая их стратегия состо- состоит в том, чтобы доказывать fj ф G(xj), пользуясь соответствующими стратегиями для G{%j)- Из раздела 6 6.1. Поскольку конъюнкция и отрицание образуют полный базис для обычных схем, из лемм 6.1, 6.2 следует, что достаточно реализо- реализовать функции ->$: (х, у) н-> (х, х ф у ф 1) и ©. Заметим, что ->ф[1,2] = = ->[2] @ [1,2], поэтому достаточно реализовать @. Для этого заведём вспомогательный бит и, содержащий константу 1 (для этого в самом начале и в самом конце применяем -'[и])- Тогда @ [1,2] = Л®[и, 1,2]. Из раздела 7 7.1. Из доказательства теоремы 7.1 следует, что достаточно на- научиться реализовывать все операторы вида А.(Х), X € UB) (управля- (управляемый двумя q-битами фазовый сдвиг на —i является частным случаем: Л2(—г) = Л(/Г~1)). Для алгоритма построения схемы требуется также конструктивное доказательство леммы 7.1. Сперва реализуем управляемый фазовый сдвиг: Поскольку A(XY) = A(X)A(Y), то остаётся реализовать операторы Y из UB)/U(l), где U(l) — подгруппа фазовых сдвигов. Можно считать, что Y G SUB). Эта реализация изображена на рис. 13. Используемые в ней операторы А и В должны удовлетворять уравнению Ао* А-1 Во* В-1 = Y. (*) Геометрически уравнение (*) эквивалентно такому утверждению: лю- любое вращение трёхмерного пространства есть композиция двух поворо- поворотов на угол 180°. Доказательство этого утверждения можно усмотреть из рис. 14. Осталось доказать лемму 7.1 конструктивно. Для начала заметим, что для любых чисел с\, сг существует унитарная матрица V размера
ИЗ РАЗДЕЛА 7 165 180° Рис. 13. 180° Рис. 14. 2x2 (эффективно вычислимая с любой заданной точностью 6), такая что о Следовательно, для любого единичного вектора |?) € См существу- существует последовательность унитарных матриц V^\ ..., У^м"г\ такая что V^1) • ... • у(м~1Ц?) = |1), где V^ действует на подпространстве C(|s), \s + 1)) (как матрицы в условии леммы 7.1) и оставляет неиз- неизменными остальные базисные векторы. _ Пусть теперь задана унитарная матрица U размера МхМ. Умножая С/" слева на подходящие матрицы С/'1'1),..., иA>м~1\ можно переве- перевести первый столбец в вектор |1). При этом столбцы остаются орто- ортогональными, поэтому первая строка переходит в A|. Действуя таким же образом с остальными -столбцами, получаем набор матриц U^'s' A ^ j ^ s ^ М — 1) (где С/'-7'8' действует на \s) и \s + 1)), удовле- удовлетворяющий условию Этот набор строится алгоритмом сложности О(М3) ¦ poly(log(l/J)). 7.2. Неравенство G.6) следует из цепочки неравенств, справедливых для любого |?): \\xy\0H н*и • \\Y\oH ш ¦ \\y\\ ¦ || ю ||. Для доказательства равенства G.7) заметим, что собственные числа операторов ХХ^ и Х^Х совпадают.
166 Решения задач И, наконец, равенство G.8) следует из того, что собственные числа оператора (X <8> Y)^(X ® У) = Х^Х ® Y^Y имеют вид Aj/j*, где Xj и ць — собственные числа Х^Х и Y^Y, соответственно. 7.3. Достаточно проверить для двух сомножителей. Имеем № A0 ® 10^-")) = U2 (Ui\o о |о"-> + \т)) = ^ C = 1,2). Поэтому ||&&(Ю ® 10^-"» - ВДО ® |0^-")|| < *! + J2. 7.4. Обозначим Л'! = #®n ® 10^""). Будем искать оператор в виде W = (U ® I[n+i,...,N})N-M + W(I — Пх), где унитарный оператор W сохраняет Л4Х. Для такого W, очевидно, выполняется равенство w (ю ® 10^-»» = A/|0) ® |oN-n>, a ||W—U\\ ^ 0E) эквивалентно тому, что для всех |т/) € Мх выполняет- выполняется |j(^-f/)h)|| = O(S). Представляя W = XU, получаем эквивалентные условия на унитарный оператор X: \\Х-1\\ = ОF), ХСХ = МХ, где С = UM. Теперь нам потребуется следующая лемма. Лемма. Пусть С и М. — подпространства конечномерного про- пространства N', такие что \\Ис-Им\\ ^ 8,8 < 1/2. Тогда найдётся уни- унитарный оператор X, такой что \\Х - 1\\ = 0F) и ХС = М. (Значит, иХС±=М±.) Доказательство. Возьмём оператор Y = Пх П ? + (/ - П^) (/ — П^). Сразу видно, что он переводит С в М и С1- в Мх. Для нормы \\Y - 1\\ имеем оценку \\Y - 1\\ = \\ПмПс - Пм - П? + ПмПс\\ ^ < \\(ДМ - П?)П?|| + ||Пх(Пм - П?)|| < 26 < 1. Оператор У не унитарный. Но из приведенной оценки следует, что он невырожденный. Рассмотрим унитарный оператор X = Y(Y^Y)~1^2. Оператор Y^Y сохраняет подпространство С, поэтому X переводит ? в Л4. Для оценки нормы X разложим (У*У)~1//2 в ряд Тейлора i/2 = j + 1 z + 3^2 + _ t где Z = / - У+У. Поэтому H(yty)-1/2 - /|| < A - Ц^Ц)-1/2 - 1 = 0(8), отсюда получаем II* - /II = 0(8). О
ИЗ РАЗДЕЛА 7 167 Чтобы применить лемму, необходимо оценить величину ||П? — Имеем \\(U — U® 1)Т\.м\\ ^ 5 (U приближает U в расширенном смысле с точностью S). Обозначая V = U ® /, получаем 28. Итак, условие леммы выполнено (и задача решена) при 6 < 1/4. 7.5. Схему для оператора Л(С/) можно построить, используя эле- элемент Фредкина F = Л(о) — управляемый обмен битами. Элемент Фредкина задается соотношениями если о = 1. Его можно реализовать следующим образом: F[l,2,3] = Л(©)[1,2,3] Л(©)[1,3,2] Л(©)[1,2,3] (заметим, что Л(@) = Л2(сгх) — это элемент Тоффоли). Рис. 15. На рис. 15 показано, как из схемы для оператора U, сохраняющего |0), построить схему для Л(?/). В прямоугольниках происходит упра- управляемый обмен q-битами (параллельно действует нужное количество элементов Фредкина). Если управляющий q-бит равен |1), то на вход схемы, вычисляющей U, будет подан |?), в противном случае — |0). 7.6. Каждый из рассматриваемых поворотов порождает всюду плот- плотное подмножество в подгруппе поворотов относительно фиксированной прямой. Поэтому осталось доказать, что повороты относительно двух различных прямых порождают SOC). Для этого достаточно доказать, что подгруппа, порождённая всеми поворотами относительно двух раз- различных прямых, действует транзитивно на сфере (или на проективной плоскости — множестве одномерных подпространств). Справедливость этого факта очевидна из рис. 16 (если можно перемещаться по двум се- семействам параллелей, то из любой точки на сфере можно попасть в любую другую). Строгое доказательство получается аналогично реше- решению задачи 7.7.
168 Решения задач Рис. 16. Замечание. Это решение неконструктивно: нельзя дать никакой верхней оценки на количество поворотов X,X~1,Y,Y~1, композиция которых приближает заданный элемент U € SOC) с заданной точно- точностью 6. Причина неконструктивности состоит в следующем. Поворот на угол 2тга, где а — иррациональное, порождает всюду плотное под- подмножество в группе поворотов относительно фиксированной прямой (эта группа, очевидно, изоморфна M/Z). Однако число а может очень хорошо приближаться рациональными числами (это имеет место, ко- когда коэффициенты цепной дроби, представляющей а, очень быстро ра- растут). Тогда любое г ? E/Z приближается элементами вида па (п ? Z) с любой точностью 8 > 0, но число п может быть сколь угодно велико: больше, чем любая наперёд заданная функция 6. Конструктивное доказательство и эффективный (при фиксирован- фиксированных X и Y) алгоритм построения аппроксимаций довольно сложны [4]. 7.7. Обозначим |?') = V"^). тогда Я' = V~lHV — стабилиза- стабилизатор С(|?')). Так что утверждение задачи приобретает вид: объедине- объединение стабилизаторов двух несовпадающих одномерных подпространств порождает \5{М). Достаточно показать, что группа G, порождённая HUH', действует транзитивно на множестве единичных векторов. Действительно, пусть для каждого \ф) ? М найдётся оператор 1/ф € G, такой что 11ф\?) = \ф). Тогда ЩМ)= U ЩН. \Ф)€М Доказываем транзитивность действия группы G. Заметим, что Н'\ф) =
ИЗ РАЗДЕЛА 7 169 где $,$' обозначают углы между \ф) и |?), |?)' соответственно: cos$ = = \{ф\0\, cost?' = |(^|f')l> ° < *М' < V2- В последующих формулах используется также угол а между векторами |?) и |?)': cos а = |(? | ?')|, О < а < тг/2. Можно проверить, что при dim М ^ 3 и Поэтому Н'\0 = <?'(«), и т. д. Таким образом, действуя на вектор |?) попеременно элементами из Я' и Я достаточное количество раз, можно получить любой единич- единичный вектор IV*)- 7.8. Поскольку ах = НК2Н, то стандартный базис содержит пол- полный базис для классических обратимых вычислений (см. задачу 6.1). Это, благодаря задаче 7.5, позволяет реализовать операторы Л(С7) для всех элементов базиса, кроме Я. Теперь рассмотрим оператор X = А(НКН) = ЯЛ(А')Я, который, в силу сказанного, реализуется в стандартном базисе (оператор К со- сохраняет |0)). Подействуем им на В®2 двумя возможными способами: Л"! = Х[1,2], Х2 = Х[2,1]. Операторы Yi = XiX^\ Y2 = X^Xi также реализуются в стандартном базисе. Заметим, что операторы Х\, Xi (следовательно, и Y\, Уг) сохраняют векторы |00) и \rj) — |01) + |10) + |11). Кроме того, вычислениями про- проверяется, что Yi, Y2 не коммутируют и имеют, помимо 1, собственные числа Ах,2 = A ± >/=15)/4 = e±iv>/2. В SOC) = UB)/U(l) операто- оператору с такими собственными числами соответствует поворот на угол (р. Поскольку Ai,2 не являются корнями из 1 (и даже целыми алгебраи- алгебраическими числами, так как их след равен 1/2), угол <р несоизмерим с 7г. А поскольку эти операторы не коммутируют, им соответствуют по- повороты вокруг различных прямых. Поэтому Yi, Y2 порождают всюду плотное подмножество в U(?)/U(l), где ? = С(|00), |т?))х (см. зада- задачу 7.6).
170 Решения задач Для завершения доказательства дважды применим результат за- задачи 7.7. Операторы Yi, Yi порождают всюду плотное множество в U(?)/U(l), оператор V = А.(К) сохраняет С(|00)) и не сохраняет С(\т))). Так что Y\, У2, V~1Y\V, V~1YiV порождают всюду плотное множест- множество в U(?©C(|t?))) /U(l). Оператор Я[1] не сохраняет С(|00)); применяя результат задачи 7.7 ещё раз, получаем всюду плотное множество в 7.9. Из предыдущей задачи следует, что можно реализовать опера- оператор Л(с) с точностью до фазового множителя, Л(с) = et4>U. Оператор ах реализуется точно. Возьмём дополнительный q-бит в состоянии |0) и применим oxUcfxXJ~x: |0) н» с|0). Неизвестный фазовый множитель сокращается. 7.10. В базисе \0 = -±=(\0) + |1», |ч> = -^(|0> - |1» оператор а' диагонализуется, так что в этом базисе R имеет вид R = —iexp(iriaax) = —г жШ 0 \ 0 e-*ia) ' А раз а — иррациональное число, степенями R можно приближённо реализовать любой оператор вида is exp(i<pax), который в указанном выше базисе имеет матрицу г* ( „ _1\, где s = 0,1,2,3, \z\ = 1. В геометрической интерпретации эти операторы соответствуют поворо- поворотам вокруг оси х. При s — 3 и 2 = г получаем элемент Тоффоли: (Л2(Д)) « Л2(сг1) (при подходящем А;), так что уже имеем полный классический базис. При s = 1 и z = 1 получаем Л2(г) = Л.(К) (на тре- третий q-бит этот оператор действует тождественным образом). Из А(К) можно сделать К, подавая на управляющий q-бит константу |1) = ах |0). С точностью до фазового множителя К — это поворот на 90° вокруг оси z, а композициями поворотов вокруг х и одного поворота вокруг z представляются все элементы SOC) (аналогично задаче 7.7). Итак, мы получили реализацию всех операторов из UB) с точно- точностью до фазового множителя. Осталось использовать задачу 7.9 для того, чтобы реализовать Н. 7.11. Любое вращение трёхмерного пространства представляется как композиция трёх поворотов: на угол а вокруг оси 2, затем на угол /3 вокруг оси х, затем на угол 7 вокруг оси г. Поэтому любой оператор, действующий на одном q-бите, представляется в виде U = е^егЬ/2)а' ег@/2)<т' еЦс,/2)<т* _ ^
ИЗ РАЗДЕЛА 7 171 Каждый из операторов в правой части (*) выражается через Н и упра- управляемые фазовые сдвиги: eiv = Л(е??>хЛ(е^К, ei<p<T* = А(е~^)ох А(е^)ах, ах = НА(е™)Н, eiv><T' = Heiv<T'H. Таким образом, для решения задачи достаточно построить схему, представляющую управляемый фазовый сдвиг А(егв) с точностью 0(8). Выберем такое q = 2П, что 1/S ^ q < 2/6. Предположим, что у нас в распоряжении есть n-битовый регистр в состоянии ^7 Заметим, что \грп(я, k)} — собственный вектор классического операто- оператора V: |j)>-> Ю' -1) mod q): Применяя к \фп(я,к)) оператор V1, управляемый дополнительным q- битом, получаем искомый фазовый сдвиг на этом q-бите: A(V')(\0 ® \Мя,к))) = A(e2'«"/«))|0 О №„(«,*)>. (Классический) оператор A(V') можно задать схемой линейного раз- размера в стандартном базисе. Если к — нечётно, то выбором подходяще- подходящего I можно представить оператор Л(е*9) с точностью 2тг/<7 = 0F). Вместо того, чтобы строить схему, порождающую \фп(<1, к)), бу- будем брать смесь \фп(д,к)) при разных к, измерять значение к и вы- выбирать Z, соответствующее этому измеренному значению. Опишем тре- требуемые действия. 1. Создаём вектор 9/2-1 Заметим, что az = Л(гJ = К2 реализуется точно в стандартном базисе. 2. Произведём измерение к с вероятностью ошибки е ^ б2; оно может быть представлено оператором 9-1 где Wk\0) = у/\ — е\к) ® |мусор(А;)) + ^\?(к)), а векторы |мусор(А;))
172 Решения задач и 1С(*0) — единичной длины. Заметим, что точность — квадратный корень из вероятности ошибки: = 0F). ||Wt|0) - \к) О |мусор(А:))|| = 3. Найдём такое 1(к), что \kl(k)/q - 0/Bir)\ < 1/q. 4. Применим A(V') к рабочему n-битовому регистру, используя бит, в котором нужно сделать фазовый сдвиг, в качестве управляющего. 5. Обратим вычисления, сделанные на шагах 1-3. Чтобы вероятность ошибки была меньше б2, нужны O(\og(l/S)) эле- элементарных измерений для каждого из операторов V, V2, ..., V2" . Поскольку п = O(log(l/S)), общий размер схемы — O(log3(l/<5)). Из раздела 8 8.1. Пусть Е всех х. Нам нужно оценить величину = 1 ~е„ и ех е < 1/2 для (fuz1,...Jk,zk,F(x),0s\MU®k\(x,0N-n)k,0m+°)\2, где М — оператор, реализующий применение функции MAJ к соответ- соответственным битам к регистров ответа исходной схемы и записывающий значение этой функции в регистр окончательного ответа. (Длина отве- ответа равна m, as дополнительных битов используются при вычислении MAJ). Если более половины регистров ответа исходной схемы содержат F(x), то результатом применения М обязательно будет F(x). Поэтому Е V V SC{1,...,*}. /i /«,. - E ( SC{1 к}. E SC{1 * , где А =
ИЗ РАЗДЕЛА 8 173 8.2. Поскольку Н2 = I, имеем цепочку равенств: Оператор Л(сгг) умножает |1,1) на —1, а остальные базисные векторы не меняет. Если сделать замену базиса только в управляющем q-бите, как пока- показано на рисунке ниже, то получится оператор, который является произ- произведением отрицаний в обоих q-битах и «оператора диффузии» (на с. 68 мы обозначали его V'). Действительно, Н[1Ща')[1,2]Н[1]\а,Ь) = с, 6 © с) = | c,d с> = ;_l)(a+<O(»+b')|djb/)_ с,Ь' На рисунке слева показана схема вычисления такого оператора, а спра- справа — его матрица в стандартном базисе: 1 1 1 -Л 11-11 1-111 ,-1 1 1 1/ 8.3. ВРР С BQP. Классическое вероятностное вычисление можно представить обратимой схемой (Ui,..., Ul,), которая, наряду со входом х, использует случайную последовательность нулей и единиц г € В*. (Кроме полезного ответа, схема может создавать мусор — это неваж- неважно). Заменим перестановки Uj на соответствующие унитарные опера- операторы Uj, а вместо случайного слова г приготовим состояние BQP С PP. Пусть схема (U\, ¦. ¦ ,Ui) вычисляет предикат F(x) с вероятностью ошибки ^ 1/3, общее число битов в схеме равно N, а \х\ = п. Вероятность получения ответа 1 выражается через проектор ') = |1)A|, применённый к первому q-биту: р(х) = (x,0"-n\u№ ¦¦¦¦¦U[ПA)[1]UlUl-i ¦¦¦¦¦ UfaO"-") = , |0JV-n>
174 Решения задач Здесь Vl, ..., V-l, — перенумерованные операторы ?//,..., П*1' [1],... ...,U\ с одним исключением: если ?/* = Я [то] (или U]. = Н[т]), то соответствующий оператор V} равен \/2Н[т\; количество элементов Н в схеме обозначено через h. Матричные элементы операторов Vj € {у/2Н, К,К^,Л(сг1),Л2(сг1), 1) принадлежат множеству М = {О, +1, -1, +г, -г}. Перемножая матрицы, мы получаем сумму чисел из множества М. Поскольку интересующая нас величина р(х) вещественная, мы можем ограничиться суммированием ±1. Кратности слагаемых будут выра- выражаться в виде #„(*) = |{«;:С„(а:>«;) = 1}|> о € {±1}, где предикаты Са(х, w) € Р определены ниже. Получаем представление Дальнейшее приведение условия (*) к виду из определения класса РР уже не будет использовать никакой квантовой специфики. Теперь опишем предикаты Са(а;,го) формально. Матричные элемен- элементы произведения Vi •... ¦ V-l можно выразить по формуле E.1) (VL ¦... • V-L)xy = Y, (Ul)**l-, • - • • • (U-L)x_L+lV. Xl-l,.-,»-L + l По определению, Ca{u-i,...,ul) равно 1, если и только если L Легко видеть, что Са € Р: нужно представлять матричные элементы как степени i и суммировать показатели степеней по модулю 4. Если F(x) = 0, то р(х) < 1/3; если F(x) = 1, то р(х) ^ 2/3. Итак, F(x) = 1 тогда и только тогда, когда Это эквивалентно условию Записанное неравенство почти соответствует определению класса РР: остаётся лишь проверить, что левая часть представима в виде f(x) = \{У '¦ R(xiV) = 1}|i Щшг) € Р (для правой части это уже до- доказано). Функции / такого вида образуют так называемый класс #Р.
ИЗ РАЗДЕЛА 8 175 Покажем, что этот класс замкнут относительно сложения. Пусть д(х) = = \{У : Q(x,y) = 1}|, Q(v) € Р, тогда f(x)+g(x) = \{y:T(x,zy) = l}\, где Т{х,0у) = R(x,y), T(x,ly) = Q(x,y). Доказательство закончено. РР С PSPACE. Это очевидно. Заведём два счётчика: один для До, другой — для R\. Перебираем все возможные значения у и увеличи- увеличиваем значения счётчиков для Я*, если Rk(x,y) = 1. Потом сравниваем значения счётчиков. 8.4. Пункт а) следует из пункта б). Для б) приведём схему, кото- которая даёт приближённое решение. Прежде всего, запишем рекуррентную формулу №„(<?)> = сов0|О) О |Vn-i («')) + sb0|1) ® |Vn-i (<?")>, (*) где д' = 2"-\ q" =q- 2", t? = arccos ч/<г7<7, если g > 2"-1; q' = q, q" = l, d = 0, если g < 2"-1. Организуем рекурсивное вычисление, используя формулу (*). 1. Вычисляем q', q", Ф/к, последнее представляем приближённо I дво- двоичными цифрами. Запоминаем результаты вычисления в дополни- дополнительных q-битах. 2. Применяем к первому q-биту регистра |0п), в котором нужно со- создать \ipn(q)), оператор 3. В остальных п — 1 битах создаём состояние, зависящее от значения первого бита: если он равен 0, то создаём состояние |V>n-i(<7'))i в противном случае создаём \фп-1 (я"))- 4. Проводим вычисление, обратное к шагу 1, чтобы очистить допол- дополнительную память. Оператор i?(t?) реализуется приближённо. Пусть $/тг = Ylk=i ак%~к- Тогда i?(tf) « R(Tt/2l)a' ¦¦¦¦• R(n/2)ai с точностью 0B-'). Итак, при- приближённо оператор R(d) представляется произведением операторов A(R(n/2k)), где к-тл разряд числа #/тг управляет применением опера- оператора R(Tt/2k). Общая точность такой схемы равна 6 = О(п2~1); размер, выражен- выраженный через длину входа и точность, — poly(n + log(l/S)). Пункт в). Приведём реализацию преобразования Фурье, найденную Копперсмитом и, независимо, Дойчем, в изложении П. Шора [39].
176 Решения задач Занумеруем q-биты в убывающем порядке от п — 1 до 0. Обозначим Hj = H[j], S,-,, = Л2 (е"/2'-')[;,/] У<0- Тогда оператор Vjfc = HoSo,lSo,2 ¦ ¦ ¦ ¦ • So,n-2So,n-lHiSit2 • . ¦ ¦ • SiTn_i • • • • Hn-3Sn-3tn-2Sn-3,n-lHn-2Sn-2,n-lHn-l даёт почти то, что нужно: Uk = RVk, где R — (классический) оператор, переписывающий двоичное слово в обратном порядке. Размер такой схемы О(п2). Легко видеть, что модули матричных элементов 14 определяются количеством операторов Hj, так что они равны 1/л/к, как и требуется. Осталось проверить фазовые множители. Пусть Заметим, что каждый матричный элемент 14 есть произведение ма- матричных элементов сомножителей. Применение Hj меняет фазу на п тогда и только тогда, когда Xj = yj = 1; применение Sjj добавляет к фазе тг/2'--7 только в том случае, когда Xj — yi = 1. Изменение фазы на 2тг ни на что не влияет, поэтому вычислим <р по модулю 1. п-1 E Y 3=0 xjVn-l-m _ (здесь равенство по модулю 1) n-l n-l n-1 2 пзт ~ 21хз2 j,m=O j=0 m=0 После того, как мы перепишем слово у в обратном порядке, последнее выражение превращается в ху/2п. Из раздела 9 9.1. Пусть р = ?*Р*1?*)(?*|- Проверим условия 1)-3) для р. Условие 1): очевидно. Условие 2): (т]\р\т)) = ^РаМ&ХЫ7/) = Z^Pfc К??|?*)|2 ^ О- Условие 3): Тгр = J2tPk(€k\?k) — У^иРк — 1-
ИЗ РАЗДЕЛА 10 177 И наоборот, если р удовлетворяет 1)-3), то р = J2k -M?*)(?*li гДе Ajt — собственные числа, а {|?*)} — ортонормированный базис из соб- собственных векторов. 9.2. Вектору \ф) € N ® Т можно естественным образом сопоста- сопоставить оператор Ф: Т* —? N'¦ Пусть pj — ненулевые собственные числа оператора (каждое собственное число учитывается столько раз, какова его крат- кратность). Поскольку р является матрицей плотности, 0 < р3 ^ 1. Положим Aj = y/pj, а в качестве множества {|?/)} возьмём любую ортонормиро- ванную систему собственных векторов, соответствующих собственным числам Pj. Оператор Ф можно представить в виде з где \vj) - A~1*ti^j> € Т*. Соответственно, (i/j| € Т** = Т. Переобо- Переобозначив (vj\ через \r\j), получаем искомое разложение Шмидта. 9.3. Условие Trjr(|i/>1)(i/>1|) = ТЪ^О^Х^Ы). как следует из решения предыдущей задачи, позволяет выбрать разложения Шмидта для |V»i) и |г/'2) с одинаковыми Aj и |?j). Запишем эти разложения 3 Поскольку {|^ )} — ортонормированные семейства, существует уни- унитарный оператор U, такой что и\щ ) = щ ') для всех j. Тогда Из раздела 10 10.1. Утверждение задачи вытекает из следующей леммы, которая будет полезна и в дальнейшем. Лемма. Физически реализуемые преобразования матриц плотно- плотности имеют вид m=l m который будем называть разложением в операторную сумму. А вся- всякое разложение в операторную сумму можно представить в виде р н-> i-> Trjr(VpV^), где V — изометрическое вложение.
178 Решения задач Доказательство. План доказательства следующий: а) докажем, что изометрическое вложение и взятие частичного следа имеют разложение в операторную сумму; б) докажем, что операторные суммы замкнуты относительно компози- композиции; в) найдём представление произвольной операторной суммы в виде р *-+ и- * а) Условие изометричности вложения записывается как VW = I. Это означает, что изометрическое вложение представимо в виде опе- операторной суммы из одного слагаемого. Для частичного следа имеется следующее разложение в операторную сумму: Ъг(р) = ? WmPWL где Wm = 1Я ® И: N ® Т -»• N. (**) т Заметим, что Wm(\j,k)) = 6mk\j), a W?(|j)) = \j,m). б) Пусть 53 АтР-А-т> Л^кРЩ — разложения двух преобразований m к в операторные суммы. Тогда их композиция также разлагается в опе- операторную сумму: к,т к,т в) Пусть преобразование разложено в операторную сумму (*), а Т — s-мерное пространство, базисные векторы в котором обозначим \тп). Отображение m m является изометрическим вложением, поскольку Н )= Осталось заметить, что операторная сумма представляется в виде р »->¦ 1-» Txjr(VpV^). Действительно,
ИЗ РАЗДЕЛА 10 179 10.2. Пусть р е L(JV® .F), U\j) = fa), Y\k) = \щ). Тогда jj'k 10.3. Пусть J2m А-трАт — разложение в операторную сумму пре- преобразования Г (см. задачу 10.1). Тогда TU'i)(k-k) = (J'\T{\j)(k\) \k') = J2U'\Am\j) ¦ (к\А1\к>). m Такое представление позволяет легко проверить сформулированные в условии задачи свойства а)-в). Свойство a): ?r(fc'j)(it'it) = it' k'm k'm Свойство б): Ц.л1к.к) = Е {(j'\Am\j)(k\Al\k')y = СВОЙСТВО в): Е r(j,j)(fc-fc)|j',j)(fc',fc| = i'j И наоборот, всякий неотрицательный оператор можно представить в виде Т = Yim iV'mXV'mli где |^m> — подходящим образом нормирован- нормированные собственные векторы Т, отвечающие положительным собственным числам. Обозначим amj'j\j',j), Am: \j) t m,j',j у тогда T(jlj)(k,k) = E°mj'j°m*'fc- Из Условия HT(k'j)(k'k) = Sjk следует m к'
180 Решения задач ( ( т т,к' Осталось проверить, что T(\j)(k\) - ?m Am\j){k\A\n: _;',*:' m jf'fc' 10.4. Свойства а) и б) эквивалентны свойствам а) и б) из предыду- предыдущей задачи. Пусть есть физически реализуемое преобразование матриц плотно- плотности Т: р н-> Tr^VpV^). Тогда Т ® 1ъ{д): р н-> Ti>((V ® /<;MV ® /ff)f) также является физически реализуемым преобразованием и поэтому обладает разложением в операторную сумму. Следовательно, Т ® 1ъ(д) переводит неотрицательные операторы в неотрицательные. Для доказательства утверждения в другую сторону выведем из свойства в) данной задачи свойство в) предыдущей задачи. Чтобы доказать неотрицательность матрицы T(j'j)(k'k) по парам ин- индексов, взятых в скобки, покажем, что она является матрицей опера- оператора вида (/ ® Т)\ф){ф\, где \ф) ? N ®N имеет вид \ф) = J2j \J) ® I?')- Действительно, j',j.k',k i\i,k',k 10.5. Воспользуемся результатом задачи 10.1. Представим Тр в виде ). Возьмём \ф) 6 N. Поскольку состояние ф)(Уф\) = Тг^(Тг^(У|^)ЗДУ+)) = Ъг{Т\ф)(ф\) = \ф){ф\ чистое, \Уф) = \Ф,€(Ф)) (это следует из замечания, сделанного после формулировки задачи 9.2, см. с. 78). Из линейности У следует, что \?(ф)) = |?) не зависит от \ф). Поэтому ТХ - А'®7, где 7 = Tr-р (Ю<^|)- 10.6. Будем считать, что сразу же после измерения измеряемые q-биты выбрасываются в «мусорную корзину». Это соответствует пре- преобразованию двух квантовых битов в классические: Чтобы реанизовать преобразование Г, нужно сначала подействовать унитарным оператором
ИЗ РАЗДЕЛА 10 181 а затем произвести измерение в базисе {|0),|1)}; после этого q-биты выбрасываются. Без ограничения общности, первый q-бит находится в чистом состо- состоянии \ф) = zo|O) +zi|l). (Если мы построим восстанавливающую проце- процедуру для чистых состояний, то она по линейности будет продолжаться на смешанные). На третий q-бит измерение не действует, поэтому мож- можно записать 'L(B) а,Ь где \фаь) = {(Ы\ ® h)(\il>) ® |?оо»- Здесь (?аЬ\ рассматривается как оператор В®2 —> С, поэтому (?а&| ®/в: $®3 —> В. Заметим, что квадрат нормы вектора \фаь) равен вероятности получения пары (а, Ь). Теперь запишем явное выражение для \фаъ)'- у/2 ~ ' у/2 *-? Из этого выражения сразу следует, что Так что состояние |«/)) в третьем q-бите получится применением опера- операторов ах и az с классическим управлением: управляющими параметра- параметрами являются измеренные значения о и Ь. \Ы) Рис. 17. Схема квантовой телепортации Схема квантовой телепортации изображена на рис. 17. Значком V обозначен первый бит, ^ — второй (q-бит Алисы), @ — третий (q-бит Боба). Когда Алиса хочет передать q-бит <? Бобу, она совершает
182 Решения задач измерения над ним и своим q-битом (дальше эти q-биты не используют- используются, и она выбрасывает их в мусорную корзину). Результаты измерений она сообщает Бобу по классическому каналу связи (телефону). Боб, используя сообщение Алисы, превращает свой q-бит в q-бит С. Из раздела 11 11.1. По определению квантовой вероятности имеем ?(w(\0)@\®p)W\ ОД) i j 11.2. Если W = 53l=1 n?l <g>Vfc, то W-1 = Yfk=i n?fc ®Vk~l. Поэтому искомая квантовая схема имеет вид VF~xy VF, где оператор Y копирует в дополнительный регистр «полезный результат»: Y: \y,z,v) i-> \y,z,v®y). Оценка точности делается так же, как в задаче 7.11. Из раздела 12 12.1. Интересующую нас вероятность обозначим через р(Х, I). Если hi, ¦.., hi не порождают всю группу X, то они содержатся в некоторой максимальной собственной подгруппе Y С X. Для каждого Y веро- вероятность такого события не превосходит 2~', поскольку \Y\ Таким образом, мы имеем оценку где К(Х) — число максимальных собственных подгрупп в группе X. Подгруппы абелевой группы X находятся во взаимнооднозначном соответствии с подгруппами группы характеров X*, при этом макси- максимальным собственным подгруппам отвечают минимальные ненулевые подгруппы. Каждая такая подгруппа порождается одним элементом, поэтому К(Х) ^ |-Х"*| = |Х|.
ИЗ РАЗДЕЛА 14 183 12.2. Построим классический оператор Vj, 6 L(B <8> Б®п) (базисные векторы в В®" занумерованы от 0 до 2" — 1), такой что И|0,0> = |0,1>, Щ1,0> = |1,Ь>. Тогда схема V~1[0,B]U[B,А]У[0,В] реализует оператор A(Ub)[0,A] в расширенном смысле. 12.3. Обозначим образ вектора |х) при преобразовании Фурье через \грп(к, х)). В задаче 8.4 мы научились строить вектор \фп(к, 0)). Как уже отмечалось в решении задачи 7.11, \фп(к,х)) — собственный вектор классического оператора У: \j) i-> \(j — 1) mod к), собственное число которого равно ехрBтггх//г). Используя эти соображения и результат задачи 11.2, построим сле- следующую схему для квантового преобразования Фурье. 1. В дополнительном, изначально нулевом, регистре построим вектор \"фп(к,0)). Общее состояние получается 2. Сделаем фазовый сдвиг на ехр{2ттгху / к). Теперь получаем состояние |x)®|Vn(M)>- 3. Измеряя обратимым образом (см. задачу 11.2) собственное число оператора У, действующего на второй регистр, прибавляем резуль- результат измерения х к первому регистру. (Здесь имеется в виду поби- побитовое сложение по модулю 2). В первом регистре получается |0), а во втором — требуемый результат \фп(к,х)). Из раздела 14 14.1. Оператор А можно представить в виде А = Е А*&>Ы> А> > °. <№> = Шлк) = sjk. 3 Здесь X2j — ненулевые собственные числа оператора АА^, |?j) — его собственные векторы, a \rjj) = \J1A*\?j). Тогда ||A||tr = Y!>j ^з- Для любого оператора X 3 3 С другой стороны, если взять X = 53 • |r?j)(^j|, то ||Х|| ^ 1, а Тг АХ — Pll Из доказанного представления для || • ||tr легко следует неравенство треугольника, а положительность и однородность || ¦ ||tr очевидны.
184 Решения задач 14.2. Свойство а): НЛ11 Аналогично доказывается и свойство б) (воспользуйтесь равенством Тг ABC = Tr CAB). Свойство в): Свойство г): для любого А € L(Af ® M) IM))\ л |((M))| A||tr = sup ii = sup IIAII Свойство д): \\A ® B||tr = TV y/(A®B)t(A®B) = Ъ- (у/Жа® VbTb} = p||tp||B||t,. 14.3. Пусть Т — пространство состояний q-битов из А, а N — пространство состояний остальных q-битов. Обозначим Если X,Y еТ>, то Y^X € 1м 0 L(J") = ?{А). Следовательно, код М исправляет ошибки из V. Преобразование Г: р н-> Ti> p может быть разложено в оператор- операторную сумму (**), см. решение задачи 10.1. Операторы Wm из этого раз- разложения принадлежат пространству Т>, поэтому Т 6 Т> ¦ ТУ1. Осталось воспользоваться теоремой 14.2. 14.4. Пространство F, соответствующее искомому коду, порожда- порождается строками таблицы 1 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 Можно проверить, что u(fj,fk) — 0 для любых двух строк fj, Д. Заме- Заметим, что столбцы в таблице разбиты на пары. Если взять любые две па- пары, то соответствующие 4 столбца линейно независимы. Следователь- Следовательно, из строк всегда можно составить линейную комбинацию, которая в двух заданных парах позиций содержит заданные числа. Поэтому усло- условия w(fj,g) — 0 (J --¦ 1,2,3,4) при \д\ ^ 2 могут выполняться только для д = 0. 14.5. (См. [22, 33].) Допустим, что М — код типа D,1), исправляю- исправляющий одну ошибку. Тогда он должен обнаруживать по крайней мере две
ИЗ РАЗДЕЛА 14 185 ошибки, в частности, ошибки в q-битах [1,2], а также в q-битах [3,4]. Это означает, что произвольное состояние р 6 1>(М) можно восстано- восстановить как по первым, так и по последним двум g-битам (см. задачу 14.3). Покажем, что это невозможно. Пусть М\ — пространство состояний q-битов [1,2], а Л/г — прост- пространство состояний q-битов [3,4], тогда М — это подпространство в N\ ® Л/г • Вложение М -* Л/i ® Л/г обозначим через V (это изометри- изометрический оператор). Пусть также Т\: р >-> Trv2 р и Т2: р ь-> Тг^ Р — преобразования ошибок, a Pi: Л/j. —> М. и Рг: Л/г —> Л4 — соответ- соответствующие исправляющие преобразования. Тогда преобразование Р = (Pi ® Рг)(У ¦ V^): Л4 —>• Л4 ® Л1 обладает следующим свойством: для любого р G М Рр = Trv2 ((Px ® P2)(VpVt)) = PlTl{VpV*) = р, Рр = Тгм ((Рх ® Р2)(УрУ+)) = P2T2(VpVi) = р. Согласно задаче 10.5 первое тождество означает, что Рр = р ® 72; где 7г не зависит от р. Из второго тождества следует, что Рр = 71 ® ?>• Получили противоречие: 7i ® ^ = ^ ® 721 гДе ^ —любое. 14.6. Опишем кратко идею решения этой задачи. Достаточно рассмотреть одно из двух прямых слагаемых ториче- ского кода. Компонента синдрома равна 1 для такого узла решётки, в звезду которого входит нечётное число рёбер с ненулевыми весами в 1-цепи, соответствующей вектору ошибки g^z\ Поэтому получаем такую задачу. Задано некоторое множество D узлов решётки. Из всех 1-цепей С, граница которых совпадает с D, нужно выбрать ту, в которой наименьшее число рёбер ненулевого веса. Нетрудно сообразить, что такая 1-цепь распадается в объединение пу- путей, соединяющих узлы из множества D (любые два различных пути не имеют общих рёбер), причём эти пути можно считать кратчайшими. Так что задача определения ошибки по синдрому сводится к задаче о взвешенном паросочетании: дан граф G (в нашем случае полный), ка- каждому его ребру приписан вес (в нашем случае — расстояние между узлами по решётке), нужно найти паросочетание, на котором достига- достигается минимум суммы весов по рёбрам, входящим в паросочетание. Для задачи о взвешенном паросочетании известны полиномиальные алгоритмы (см., например, [11, гл.11], где описан алгоритм, основан- основанный на идеях линейного программирования).
Литература [1] АхоА., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислитель- вычислительных алгоритмов. М.: Мир, 1979. [2] Виноградов И. М. Основы теории чисел. Изд. 8-е, испр. М.: Наука, 1972. [3] ГэриМ., Джонсон Д. Вычислительные машины и труднорешаемые за- задачи. М.: Мир, 1982. [4] КитаевА.Ю., Квантовые вычисления: алгоритмы и исправление оши- ошибок // УМН, Х«6, 1997. [5] КлиниС. Математическая логика. М.: Мир, 1973. [6] КлиниС. Введение в метаматематику. М.: ИЛ, 1957. [7] Кнут Д. Искусство программирования на ЭВМ. В 3 т. М.: Мир, 1977. [8] КострикинА.И., МанинЮ.И. Линейная алгебра и геометрия. М.: На- Наука, 1986. [9] Мак-ВильямсФ. Дж., СлоэнН. Дж. А. Теория кодов, исправляющих ошибки. М.: Связь, 1979- [10] Мальцев А. И. Алгоритмы и рекурсивные функции. М.: Наука, 1965. [11] ПападимитриуХ., СтаглицК. Комбинаторная оптимизация. Алгорит- Алгоритмы и сложность. М.: Мир, 1985. [12] Прасолов В. В. Задачи и теоремы линейной алгебры. М.: Наука. Физма- тлит, 1996. [13] Роджерс X. Теория рекурсивных функций и эффективная вычисли- вычислимость. М.: Мир, 1972. [14] Схрейвер А. Теория линейного и целочисленного программирования. В 2 т. М.: Мир, 1991. [15] ШафаревичИ. Р. Основные понятия алгебры // Алгебра-1. Итоги на- науки и техники. Сер. Совр. проблемы математики. Фундаментальные направления. Т. 11. М.: ВИНИТИ, 1986. [16] ШенфилдДж. Р. Математическая логика. М.: Наука, 1975. [17] ШенфилдДж. Р. Степени неразрешимости. М.: Наука, 1977. [18] ЭрдёшП., Спенсер Дж. Вероятностные методы в комбинаторике. М.: Мир, 1976. [19] AharonovD., Ben-OrM. Fault Tolerant Quantum Computation with Con- Constant Error. LANL e-print quant-ph/9611025 (extended version: Fault- Tolerant Quantum Computation With Constant Error Rate. LANL e-print qnant-ph/9906129), http://xxx.lanl.gov
ЛИТЕРАТУРА 187 [20] AharonovD., KitaevA., NisanN. Quantum Circuits with Mixed States // STOC'29, 1997. (electronic version: LANL e-print quant-ph/9806029, http://xxx.lanl.gov) [21] Bennett C, Brassard G., CrepeauC, JozsaR., Peres A., WoottersW. Tele- porting an unknown quantum state via dual classical and Einstein- Podolsky-Rosen channel // Phys. Rev. Lett. Vol. 70, 1993. P. 1895-1899. [22] BennettC, DiVincenzoD., SmolinJ., WoottersW. Mixed state en- entanglement and quantum error correction // Phys. Rev. Vol. A 54, 1996. P. 3824-3851. (electronic version: LANL e-print quant-ph/9604024, http://xxx.lanl.gov) [23] Boneh D., Lipton R. Quantum Cryptoanalysis of Hidden Linear Functions // Proceedings of Advances in Cryptology — CRYPTO-95, Lecture Notes in Computer Science. Vol. 963. Springer-Verlag, 1995. P. 424-437. [24] BoppanaR., SipserM. The Complexity of Finite Functions // Handbook of Theoretical Computer Science. Volume A, Algorithms and Complexity, Ch. 14. J. van Leeuwen, ed., Amsterdam et al.: Elsevier / Cambridge, MA: MIT Press, 1990. P. 757-804. [25] CalderbankA.R., ShorP. W. Good quantum error-correcting codes exist // Phys. Rev. Vol. A 54, 1996. P. 1098-1106. (electronic version: LANL e-print quant-ph/9512032, http: //xxx. lanl. gov) [26] CalderbankA.R., Rains E. M, ShorP.W., SloaneN. J.A. Quantum Error Correction and Orthogonal Geometry // Phys. Rev. Lett. Vol. 78, 1997. P. 405-408 (electronic version: LANL e-print quant-ph/9605005, http://xxx.lanl.gov) [27] DeutschD. Quantum theory, the Church-Turing principle and the universal quantum computer // Proc. R. Soc. Lond. Vol. A 400, 1985. P. 97. [28] DeutschD. Quantum computational networks // Proc. Roy. Soc. Lond. Vol. A 425,1989. P. 73. [29] Feynman R. P. Quantum mechanical computers // Optics News, February 1985. Vol. 11. P. 11. [30] Fortnow L., Sipser M. Are there interactive protocols for Co-NP-languages // Inf. Proc. Letters. Vol. 28, 1988. P. 249-251. [31] GroverL. A fast quantum mechanical algorithm for database search // STOC'28, 1996. P. 212-219. [32] Kitaev A. Yu. Fault-tolerant quantum computation by anyons. LANL e-print quant-ph/9707021, http: //xxx. lanl. gov [33] KnillE., LaflammeR. A theory of quantum error-correcting codes. LANL e-print quant-ph/9604034, http: //xxx. lanl. gov [34] KnillE., LaflammeR., ZurekW. Threshold Accuracy for Quantum Compu- Computation. LANL e-print quant-ph/9610011, http://xxx.lanl.gov [35] LautemannC. BPP and the polynomial hierarchy // Inf. Proc. Lett. Vol. 17, no. 4, 1983. P. 215-217.
188 Литература [36] Shamir A. IP=PSPACE // Journal of the ACM, Vol. 39, no 4, 1992. P. 869- 877. [37] Shen A. IP=PSPACE: simplified proof // Journal of the ACM, Vol. 39, no 4, 1992. P. 878-880. [38] ShorP. W. Algorithms for Quantum Computation: Discrete log and Factor- Factoring // FOCS'35, 1994. P. 124. [39] Shor P. W. Polynomial-Time Algorithms for Prime Factorization and Dis- Discrete Logarithms on a Quantum Computer // SIAM Journal of Computing. Vol. 26, 1997. P. 1484. (electronic version: LANL e-print quant-ph/9508027, http://xxx.lanl.gov) [40] ShorP.W. Scheme for reducing decoherence in quantum memory // Phys. Rev. Vol. A 52, 1995. P. 2493-2496. [41] Shor P. W. Fault-tolerant quantum computation // FOCS'37, 1996. P. 56-65. (electronic version: LANL e-print quant-ph/9605011, http://xxx.lanl.gov) [42] Simon D. On the Power of Quantum Computation // FOCS'35,1994. P. 116- 123. 0 [43] SipserM. Introduction to the Theory of Computation. Boston: PWS Pub- Publishing Company, 1997. [44] Steane A. M. Multiple particle interference and quantum error correction // Proc. Roy. Soc. Lond. Vol. A 452, 1996. P. 2551. (electronic version: LANL e-print quant-ph/9601029, http://xxx.lanl.gov) [45] Watrous J. PSPACE has 2-round quantum interactive proof system. LANL e-print cs.CC/9901015, http://xxx.lanl.gov [46] YamakamiT., YaoA.C. NQPC = co-C=F. LANL е-print quant-ph/ 9812032, http://xxx.lanl.gov [47] Yao A. C.-C. Quantum circuit complexity // FOCS'34, 1993. P. 352. [48] ZalkaC. Grover's quantum searching algorithm is optimal. LANL e-print quant-ph/9711070, http: //xxx. lanl. gov STOC = Proceedings of the Annual. ACM Symposium on Theory of Computing. New York: ACM Press. FOCS = Proceedings of the Annual Symposium on the Foundations of Computer Science. Los Alamitos, CA: IEEE Computer Society Press.
Предметный указатель Алгоритм 16 - Гровера 67-71 - Евклида 38 - вероятностный 35 - квантовый 72 - нахождения периода 93-100 - нахождения скрытой подгруп- подгруппы в Z* 101-103 - - в Ъ\ 90-91 - недетерминированный 28 - проверки простоты 38-40 Амплитуда 9, 50, 73 Анионы 14, 137 Бит 8 - квантовый (q-бит) 48 Бра-вектор 51 Вычисление - вероятностное 35 - квантовое 11, 66 - недетерминированное 27 - обратимое 56 Гамильтониан 138 - fc-локальный 108 Гамильтонов граф 27 Гамильтонов цикл 27 Группа 88 - (Z/qZy 92, 93 - ESp2(n) 130, 132 - SOC) 59, 65 - SUB) 65 - Sp2(n) 131 - U(l) 65 - UB) 59 - Z* 100-103 - характеров 90 ДНФ22 Задача - 3-КНФ32 - 3-РАСКРАСКА 34 - TQBF 47, 57 - ЦЛПЗЗ - выполнимость 31 - клика 34 - локальный гамильтониан 108 - НАХОЖДЕНИЕ ПЕРИОДА 91 - нахождения дискретного лога- логарифма 101 - НЕЗАВИСИМОЕ МНОЖЕСТВО 158 - о паросочетаниях 34 - о скрытой подгруппе 88, 101 - об эйлеровом пути 34 - проверка простоты 37 - с оракулом 88 - универсальная переборная 67 - - в квантовой постановке 67 - ФАКТОРИЗАЦИЯ ЧИСЛА 91 Измерение 73, 82 - обратимое 87 - условные вероятности 85, 86 Исправляющее преобразование 119, 125-127 - для симплектического кода 136 КНФ 22, 32 Квантовая вероятность - для чистого состояния 74 - общее определение 76 - простейшее определение 11, 50, 66 Квантовая телепортация 84, 180— 182
190 Предметный указатель Квантовое преобразование Фурье 73, 100, 175-176 Квантовый компьютер 10, 48 Квантовый регистр 52 Кет-вектор 50 Коды, исправляющие ошибки 117 - квантовые 12, 117 - - Шора 127 - - симплектический 129, 132- 134 - - торический 134-136 - классические 118 - - Хэмминга 120 - - линейный 120 - - с повторением 119 Литерал 22 Матрица плотности 76 Матрицы Паули 59, 127-128 Машина Тьюринга 16 - алфавит 16 - вероятностная 35 - внешний алфавит 16 - вход 17 - головка 16 - лента 16 - - используемая часть 17 - многоленточная 25 - начальное состояние 16 - недетерминированная 27 - - путь вычисления 28 - пустой символ 16 - результат работы 17 - с единственной лентой 26 - с оракулом 46 - состояние 16 - таблица вычисления 23, 32 - такт работы 17 - универсальная 20 - управляющее устройство 17 -- - состояние 16 - функция переходов 16 - ячейка 16 Норма - операторная 62 - преобразования матриц плот- плотности 122-124 - следовая 121 Оператор - Дойча 65 - Тоффоли 55 - Фредкина 167 - измеряющий 84, 85 - - собственные числа 86 - перестановочный 54 - приближенное представление 62 - - в расширенном смысле 63 - проектор 74 - реализуемый квантовой схемой 53 - - в расширенном смысле 53 - с квантовым управлением 58 - унитарный 51 - эрмитово сопряжённый 51 Оракул 88 - квантовый 90 - случайный 89 Ошибка - классическая 128 - фазовая 128 Полиномиальный рост 20 Предикат 18 - разрешимый 18 Псевдослучайный генератор 44 Разложение Шмидта 78 Ресурс вычисления 18 - время 18 - память 18 Свидетель 37 Синдром 136 Скалярное произведение 51 Сложностные классы 20 - ВРР 35, 36, 116 - BQNP 103-116 - BQP 72
Предметный указатель 191 - MA 104, 116 - NP 28, 29, 116 - - NP-полнота 31 - - сводимость (по Карпу) 31 - РР 72 - PSPACE 20, 116 - Р 20 - Р/ро1у23 - Щ42 - 2*42 - Артура и Мерлина 30, 104, 105 - класс дополнений (со-А) 41 - определения с помощью игр 41, 104, 116 Состояние квантовой системы - базисное 9, 48 - «запутанное» (entangled) 54 - разложимое 54 - смешанное 76 - чистое 76 Суперпозиция состояний 9, 49 Схема - булева 21 - - базис 21 - - глубина 26 граф 21 - - полный базис 22 - - размер 22 - - стандартный полный базис 22 - - формула 21 - квантовая 10, 53 - - базис 53 - - полный базис 64 - - стандартный полный базис 64 - - универсальная 71 - обратимая 54 - - очистка мусора 56 - - полный базис 55 Схемная сложность 22 Тезис Чёрча 19 Тензорное произведение 50 - операторов 52 Угол между подпространствами 112 Усиление вероятности (amplifica- 36, 67, 105, 107 Физически реализуемые преобразо- преобразования матриц плотности 79 - измерение 83 - потеря когерентности (deco- herence) 81 - разложение в операторную сумму 177 - характеризация 79, 80, 179-180 Функциональный элемент 21 Функция - булева 21 - - дизъюнкция 22 - - конъюнкция 22 - - отрицание 22 - - таблица значений 22 - вычислимая 18 - голосования (majority) 27, 67 - обратимое копирование бита (Controlled NOT) 55 - характеристическая 18 - частичная 16, 103 Частичный след 77 Элемент — см. Оператор Элементарное преобразование 52 Язык 18