Московский государственный университет имени М.В.Ломоносова
Опубликован: 15.03.2007 | Доступ: свободный | Студентов: 611 / 26 | Оценка: 5.00 / 4.50 | Длительность: 19:30:00
Специальности: Программист
Лекция 6:

Соотношение между классическим и квантовым вычислением

< Лекция 5 || Лекция 6: 12 || Лекция 7 >

Лемма 6.2. (очистка мусора). В условиях леммы 1 можно произвести вычисление функции F_\oplus обратимой схемой размера O(L+n+m) (с использованием дополнительных битов).

Доказательство. Для очистки мусора будет использована обратимость. Изобразим процесс вычисления F_\oplus схемой, аналогичной той, что приведена в доказательстве леммы 6.1.


Замечание 6.4. Обратимыми вычислениями заинтересовались при попытке ответить на вопрос, какая энергия необходима для вычислений (классических). Анализ показал, что потери энергии можно устремить к нулю для всех вычислительных операций, кроме необратимых. Когда производится необратимая операция (например, стирание бита), два различных логических значения ( 0 и 1 ) становятся одинаковыми ( 0 ). Однако физические законы на микроуровне являются обратимыми, поэтому отличие между старыми состояниями ( 0 и 1 ) должно сохраниться в каких-то неконтролируемых физических степенях свободы. Это можно интерпретировать как возрастание беспорядка (энтропии), которое в конечном счете проявится в окружающей среде в виде тепла. Величина энергии, требуемой для стирания одного бита, очень мала ( \approx kT ), но конечна. Потеря энергии из-за необратимого стирания информации при форматировании жесткого диска емкостью 1 Гб равна 3\cdot 10^{-11} Дж, что примерно соответствует затратам энергии на сдвиг головки диска на половину диаметра атома водорода. Это на много порядков меньше реального перемещения головки при форматировании.

С другой стороны, если емкость дисков будет расти столь же быстро, как в настоящее время, то к концу XXIII века для форматирования жесткого диска потребуется энергия, соответствующая годовому излучению Солнца.

Лемма об очистке мусора показывает, что можно избежать таких потерь энергии, связанных с необратимостью вычислений.

Можно также показать, что любое вычисление, требующее памяти L, можно реализовать обратимым образом с использованием памяти, не превышающей L^{O(1)}. Приведем набросок доказательства.

Поскольку задача TQBF PSPACE-полна, то достаточно вычислять на небольшой памяти значение формулы

\exists\, x_1\:\forall\, y_1\:\dots\:\exists\, x_M\:\forall\, y_M\: f(x_1,y_1,\dots,x_M,y_M,z) ( 6.1)
при условии, что f(\cdot) вычислима булевой схемой небольшого размера L. Покажем, что в этом случае значение формулы 6.1 можно вычислить на памяти O(L+M). Вычисление будет организовано рекурсивно, начиная с внутренних кванторов.

Чтобы вычислить \forall\, x\: F(x,z), вычислим F(0,z), занесем результат в одну дополнительную ячейку, затем вычислим F(1,z) и занесем результат в другую ячейку. После вычислим \forall\, x\: F(x,z)\double=F(0,z)\wedge F(1,z) и результат занесем в третью ячейку. Чтобы убрать мусор, прокрутим все вычисления, кроме последнего шага, в обратном направлении.

Разобравшись аналогичным образом с формулой \exists\, x\: F(x,z), приходим к такому выводу: добавление квантора по булевой переменной увеличивает требуемую память не более чем на константу битов.

В заключение сформулируем теорему о вычислении обратимых функций, которая является прямым обобщением леммы 6.2.

Теорема 6.1. Пусть F и F^{-1} вычислимы булевыми схемами размеров \leq L. Тогда F реализуется обратимой схемой размера O(L+n).

Доказательство. Дается следующей схемой вычислений (для простоты не указаны биты, которые "берутся напрокат" при вычислении из леммы 6.2.


< Лекция 5 || Лекция 6: 12 || Лекция 7 >