Соотношение между классическим и квантовым вычислением
Классический объект, соответствующий унитарному оператору, — перестановка. Любой перестановке естественно сопоставляется унитарный оператор в пространстве , действующий по правилу .
Аналогично определению 5.1, можно определить обратимые классические схемы, реализующие перестановки.
Определение 6.1. Обратимая классическая схема. Пусть — некоторое множество перестановок вида (базис). Обратимая классическая схема в базисе — это последовательность перестановок , где — множества битов, .
Перестановка, реализуемая обратимой схемой. Это произведение перестановок .
Перестановка , реализуемая схемой в расширенном смысле. Это такая перестановка, что произведение перестановок
(действующее на битов, ) для любого удовлетворяет условию .В каких случаях функцию, заданную булевой схемой, можно реализовать обратимой схемой? Обратимые схемы реализуют только перестановки. Преодолеть эту трудность можно так. Вместо вычисления функции будем вычислять функцию , заданную соотношением (здесь означает побитовое сложение по модулю 2). Тогда значение можно получить так: .
Чтобы можно было вычислять функции, заданные булевыми схемами в полном базисе, недостаточно взять базис для обратимых схем из перестановок на двух битах. Оказывается, что любая перестановка на двух битах является линейной функцией (при естественном отождествлении множества и поля из двух элементов ): , где , , , , , . Поэтому все функции, вычисляемые обратимыми схемами в базисе из перестановок на двух битах, являются линейными.
А вот перестановок на трех битах уже достаточно, чтобы реализовать любую функцию. При этом не обязательно использовать все перестановки, достаточно включить в базис лишь две функции — отрицание и элемент Тоффоли . При этом имеется в виду реализуемость в расширенном смысле, т.е. можно брать напрокат биты в состоянии 0 и возвращать их после окончания вычислений в том же состоянии.
Задача 6.1. Докажите для обратимых схем полноту базиса, состоящего из отрицания и элемента Тоффоли.
Лемма 6.1. Пусть функция реализуется булевой схемой размера в некотором базисе . Тогда можно реализовать функцию обратимой схемой размера в базисе { , состоящем из функций ( ), а также функции .
Замечание 6.1. Помимо "полезного" ответа схема, указанная в формулировке леммы, производит "мусор" .
Замечание 6.2. Содержательный смысл операции — обратимое копирование бита (если начальное значение равно ). В литературе эта операция обычно называется Controlled NOT по причинам, которые станут ясными из дальнейшего.
Замечание 6.3. Применяя функцию можно менять биты местами в записи. Обратите внимание, что для перестановок битов достаточно также иметь в базисе , так как
Доказательство. Возьмем схему, вычисляющую . Пусть входные переменные — это . Вспомогательные переменные схемы и биты результата — это ; в обратимой схеме сопоставим им дополнительные биты, имеющие в начальном состоянии значение 0.
Каждое присваивание в схеме имеет вид , , . В обратимой схеме аналогом присваивания будет действие перестановки , , т.е. .
Поскольку начальные значения дополнительных переменных были равны 0, их конечные значения будут такими же, как и в булевой схеме.
Осталось поменять местами биты, чтобы получить указанный в условии формат ответа.
Весь процесс вычисления удобно представить следующей схемой (над прямоугольниками подписано количество битов, внутри — их содержимое):