УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
Том 151, кн. 2
Физико-математические пауки
2009
УДК 519.71
КВАНТОВОЕ И КЛАССИЧЕСКОЕ МОДЕЛИРОВАНИЕ ВЕТВЯЩИХСЯ ПРОГРАММ
А.Ф. Гайпутдипова
Аннотация
В статье рассматривается модель для вычисления булевых функций ветвящиеся программы (BP branching programs). Изучаются классические вероятностные BP и две модели квантовых BP один раз измеряющие и много раз измеряющие BP. соответственно использующие единственное измерение в конце вычислений и использующие измерения после каждого вычислительного шага.
В статье представлены три различных метода моделирования BP: метод вероятностного моделирования квантовых BP. и два различных метода квантового моделирования вероятностных BP. Доказывается сложность методов, приводится их сравнительный анализ. Как следствие доказанных теорем приводятся соотношения классов сложности, определяемых для модели ветвящихся программ.
Ключевые слова: ветвящиеся программы, сложность вычислений, квантовое и классическое моделирование.
Введение
Идея о возможном использовании эффектов квантовой механики в вычислениях была высказана в 80-х годах двадцатого столетия (Ю.И. Манин [1]. Р. Фей-нман [2]). С тех пор область квантовых вычислений активно развивается. Были определены и активно исследуются квантовые аналоги классических вычислительных моделей, таких, как автоматы, схемы, ветвящиеся программы и т. д. По аналогии с классическими классами сложности, на основе квантовых вычислительных моделей были определены сложностные классы и показаны основные соотношения между ними. Наиболее актуальной исследовательской задачей является поиск проблем, сложных для классических вычислений (или для которых неизвестны эффективные классические алгоритмы), но которые эффективно решаются в квантовых моделях. К сожалению, на данный момент таких примеров найдено немного, одними из самых известных являются полиномиальный алгоритм Шора факторизации чисел и алгоритм Гровера поиска в неупорядоченной базе данных. Не менее важной задачей является исследование сложностных соотношений между классическими вычислительными моделями и их квантовыми аналогами. В данной работе рассматривается известная модель для вычисления булевых функций ветвящиеся программы. Известно, что логарифм сложности ветвящейся программы соответствует объему памяти машины Тыоринга. а максимальная длина вычислительного пути времени вычисления. Квантовый аналог классической ВР был впервые определен в работе [3]. Данная модель определялась как последовательность унитарных эволюций квантовой системы с заключительным измерением как процедурой извлечения результата вычислений. В настоящей работе мы будем называть эту модель один раз измеряющей квантовой ВР Известная модель перестановочных бинарных программ, рассматриваемая в работе [4].
является частным случаем такой модели. Напомним, что класс функций, вычислимых перестановочными BP полиномиальной сложности, в точности совпадает с классом NCi функций, представимых схемами из функциональных элементов логарифмической глубины полиномиальной сложности [4]. Несколько иные модели квантовой BP были определены в работах [5, 6].
В работе [7] был приведен пример функции, для которой квантовые ветвящиеся программы могут быть экспоненциально экономнее как детерминированных, так и вероятностных «стабильных» ветвящихся программ. Под «стабильными» понимаются BP, у которых преобразования, соответствующие одному и тому же значению входной переменной, не зависят от номера уровня, на котором они применяются.
В работе [8] была определа модель много раз измеряющей квантовой BP. В этой модели каждый шаг вычислений состоит из унитарного преобразования и последующего промежуточного измерения. По окончании вычислений производится финальное измерение как процедура извлечения результата вычислений. В работе [8] были представлены два различных метода моделирования: метод классического моделирования квантовых один раз измеряющих ветвящихся программ и метод квантового моделирования классических вероятностных ветвящихся программ с использованием многократного измерения. В настоящей работе мы предлагаем новый метод квантового моделирования классических вероятностных ветвящихся программ с использованием однократного измерения. В работе проводится сравнительный анализ данных методов моделирования.
1. Определения
Детерминированная ветвящаяся программа (BP Branching Program) над множеством переменных X = {xi,... ,xn} — это ориентированный ациклический граф с конечными вершинами, помеченными нулем и единицей (будем называть их отвергающими и принимающими вершинами, соответственно). Каждая внутренняя вершина помечена булевой переменной x £ X, и имеет два исходящих ребра, помеченных нулем и единицей соответственно. BP представляет булеву функцию f : {0,1}n ^ {0,1} следующим образом. Вычисление значения f (а) для входного набора а £ {0,1}n стартует из выделенной начальной вершины. Для каждой внутренней вершины, помеченной переменной Xj , осуществляется переход из этой вершины либо по 0-ребру, либо по 1-ребру в соответствии со значением aj, кото-
xj f
а
Сложность Size(P) ветвящейся программы P — это количество ее внутренних вершин.
Длина Length (P) ветвящейся прогр аммы P - это длина ее самого длинного пути из начальной вершины в конечную.
Длина BP очевидным образом оценивает время, требуемое для вычисления f
в процессе вычисления.
Ветвящаяся программа называется уровневой, если ее вершины могут быть разбиты на уровни 0,1,... таким образом, что для каждого i рёбра из вершин уровня i ведут только в вершины уровня (i + 1).
Известно, что каждая BP P может быть преобразована в уровневую BP P', вычисляющую ту же самую функцию. При этом длина BP не изменится, а сложность возрастет не более чем в квадрат [9].
(P) P
P
Уровневая BP P называется забывающей, если во всех вершинах одного уровня P считывается одна и та же переменная.
Известно [4]. что уровневая BP может быть преобразована в забывающую путем полиномиального увеличения длины и удвоения ширины.
OBDD (Ordered Binary Decision Diagram) - это ветвящаяся программа с ограничением. что на каждом пути из начальной вершины в конечную все переменные считываются не более одного раза в одном и том же порядке.
Вероятностная ветвящаяся программа (РВР Probabilistic Branching Program) была впервые определена в работе Ф.М. Аблаева. М. Карпинского [10] как естественное обобщение детерминированной BP. Вероятностная ветвящаяся программа это программа, в которой каждая внутренняя вершина имеет выходную степень, не меньшую 2. При этом из каждой внутренней вершины выходит два типа ребер - помеченные 0 и 1. Каждому ребру e приписана вероятность p(e), p(e)- рациональное число, (0 < p(e) < 1), таким образом, что для каждой вершины сумма вероятностей всех ребер, исходящих из этой вершины, помеченных нулем (единицей), равна 1. Вычисление та входном наборе а £ {0,1}n осуществляется следующим
P
тывает значение переменной, приписанной вершине, и в зависимости от значения
0
1
пость Pr£c (а) принятия РBP P входа а - это вероятность того, что вычисление на входе а приведет в конечную вершину, помеченную единицей. P
каждый уровень BP содержит одинаковое число вершин, перенумерованных как 1,... ,d (будем называть их состояниями). Тогда в процессе вычисления макросостояние BP может быть описано при помощи вектора ф распределения вероятностей состояний на уровне, и шаг работы BP состоит в преобразовании вектора ф.
1.1. Квантовая система. Пусть - d-мерное гильбертово пространство с нормой ||.||2 • Пусть QS - квантовая физическая система с d устойчивыми состояниями {1,..., d}. Чистое состояние QS описывается вектором |ф) единичной длины в гильбертовом пространстве Hd в базисе {|1),..., |d)} (будем называть его стандартным базисом), где |г) - вектор-столбец, г-я компонента которого равна единице, остальные равны нулю, то есть
d
|ф) zi|г), i= 1
или кратко |ф) = (z1,..., zd).
Всюду далее будем называть |ф) конфигурацией. Комплексыое число zi называется амплитудой базисного состояния |г) в конфигурации |ф).
Эволюция квантовой системы. Эволюция квантовой системы (изменение
состояния QS за определенный промежуток времени) задается унитарным операто-
|ф)
текущем шаге, то па следующем шаге конфигурация QS будет |ф'), где |ф') = U|ф) и U - (d х d)-унитарная матрица.
Измерение квантовой системы. Извлечение информации о QS из конфигу-|ф)
В работе мы будем использовать два типа измерения: промежуточное и финальное. Промежуточное измерение производится на некотором этапе вычислительного процесса, а финальное измерение по окончании вычисления. Будем задавать их следующим образом (см., например, книгу [11, глава 1.6]).
Промежуточное измерение. Пусть [ф) - текущая конфигурация и пусть Н = Ш1 © • • • © - ортогонадьная декомпозиция пространства Н. Измерение О = {^1,..., } относительно подпространств ..., состоит в следующем.
1. Выбирается одно из подпространств ..., Вероятность выбора подпространства равна ||Р^ (|^))|Ц-
2. После выбора подпространства состояние ) = PWi (|^)) нормализуется,
то есть конфигурация после измерения становится равной
\ф')~ Рп'*т
\\PWi (|^»||2-
Вся информация, не принадлежащая \^Wi}, теряется.
3. Как результат измерения О мы получим некоторое значение которое называется исходом измерения. Всюду в работе / есть информация о том, какое из подпространств Wi,..., Wk было выбрано в результате измере ния, то есть / = г, где г е {1,..., к}.
Промежуточное измерение О производится на некотором этапе вычисления, и дальнейший процесс вычисления зависит от исхода / этого промежуточного измерения.
Финальное измерение. В этом случае вектор текущей конфигурации проецируется па одно двух подпространств Wacc, Wrej: Wacc © Wrej = Hd, Wacc ± Wrej. Будем называть Wacc (Wrej) подпространством принимающих (отвергающих) coW
матрицы проекции Шасс следующим образом. Пусть - конфигурация и пусть подпространство Wacc С Hd принимающих состояний задается системой {\е^}Г=1 ортонормированных векторов. Матрица проекции на подпространство принимающих состояний Шасс - это (d х ^-матрица, которая содержит r ненулевых строк Шасс[г1], ..., Шасс[гг], определяемых следующим образом: Шасс[г] = (ai,...,«d), где \ej} = а1 \ 1} + • • • + ad\d}, то есть Шасс[г] - это представление базисного вектора \ej} в стандартном базисе {\1},..., \d}}.
Для конфигурации вероятность выбора подпространства принимающих состояний равна
Расе = \\Шасс\^}\\2.
1.2. Определение один раз измеряющей квантовой ветвящейся программы. Модель один раз измеряющей квантовой ветвящейся программы (measure-once QBP), определенная как обобщение уровневой забывающей BP, была впервые введена в работе [3]. В этой модели измерение текущей конфигурации производится один раз по окончании вычислительного процесса.
Определение 1. Один раз измеряющая квантовая BP ширины d и дайны / ((d,/)- ШО-QBP) есть
P = (Ы,Т,Шасс),
где \^о} - начальная конфигурация P, \\ \^о}\\2 = 1, T = {(ji; Ui(0), Ui(1)}}|=1 -d
d устойчивыми состояниями, где Ui(0), Ui(1) - унитарные (dх d)-матрицы, Macc -(d х d)-матрица проекции на пространство принимающих состояний.
Процесс вычисления на входном наборе а = а1,... ,an G {0,1}n осуществляется следующим образом.
• Вычисление начинается из начального вектора \^о} •
• На г-м шаге вычисления (i = 1,...,/) P считывает значение входной переменной xj. = <jj. и преобразует текущий вектор конфигурации |"} в |"'} = = Ui(<ji )|"о}-
• После последнего /-го шага P производит измерение финального вектора конфигурации |"finai} = Ui(ail) • • • U1 (ст^)|"0}, задаваемое матрицей проекции Macc
на подпространство принимающих состояний. •<
Pracс(<) = ||Macс |"final} || 2 •
1.3. Определение много раз измеряющей квантовой ветвящейся программы. В отличие от предыдущей модели, в модели много раз измеряющей квантовой BP (measure-many QBP) измерение текущей конфигурации производится после каждого вычислительного шага, и выбор дальнейшего преобразования зависит от исхода измерения. Применение операции измерения в ходе вычисления нарушает обратимость процесса вычисления.
Пусть Hd = W1 © • • • © Wk, к < d - ортогональная декомпозиция пространства Hd на подпростран ства W1,..Wk.
Определение 2. Много раз измеряющая квантовая ветвящаяся программа ширины d и дайны / ((d,/)-MM-QBP) определяется как
P = (|"o},R,Macc),
где |"о} _ начальная конфигурация, R - последовательность (длины /) d-мерных
d
определенная следующим образом:
R = j Ui1(0), • • •, U*(0), Ui1(1),..., Uk(1)}}|=1.
Здесь Uj (0) и Uj (1), i = 1,..., /, j = 1,..., к - унитарные (d x ^^^^^ицы, Macc -матрица проекции на пространство принимающих состояний.
P осуществляет вычисление па входном наборе < = <1 .. .<n G {0,1}n следующим образом.
• Вычисление начинается го начальной конфигурации |"о} •
• Каждый шаг j (j = 1,..., /) работы программы P состоит из двух частей: Измерение: Производится промежуточное измерение O = {W1;...,Wk} текущей конфигурации |"} относительно подпространств W1?...,Wk. Результат
Wi
||PWi (|"})||2 • В качестве исхода измерения O на j-м шаге программа P выдает значение ^j G {1,..., k}. Конфигурация после измерения становится равной
, J4ML. " ' нл.длиь'
Преобразование: P применяет к текущей конфигурации |"'} унитарное преобразование Ujj (<ij), определяемое исходом измерения па j-м шаге и входным символом xij = .
• / P
M
1.4. Представление функций. Ветвящаяся программа P (квантовая или вероятностная) вычисляет функцию f с неизолированной ошибкой (в англоязычной литературе - unbounded error), если для любого a G f-1(1) вероятность принятия программой P входа a удовлетворяет неравенству Prpcc (a) > 1/2 и для любого a' G f-1(0) справедливо неравенство Prpcc(a') < 1/2. В этом случае будем также говорить, что P вычисляет функцию f с неизолированной точкой сечения 1/2;
Pf с изолированной ошибкой (в англоязычной литературе bounded error), если существует е G (0,1/2] такое, что для любого a G f-1(1) вероятность принятия программой P входа a справедливо неравенство Prpcc(a) > 1/2 + е и для любого a' G f-1(0) вероятность принятия программой P входа a' удовлетворяет неравенству Prpc(a') < 1/2 — е. При этом будем также говорить, что программа P f е 1/2
1.5. Классы сложности. Определим классы сложности на основе классических и квантовых один раз и много раз измеряющих ветвящихся программ.
• BPP-BP, PP-BP - классы функций, вычислимых с изолированной и неизолированной ошибками соответственно вероятностными ветвящимися программами полиномиальной сложности.
• BQP-BPmo (BQP-BPmm), PrQP-BPMO (Pt-QP-BPmm)- классы функций, вычислимых с изолированной и неизолированной ошибками соответственно один раз измеряющими (много раз измеряющими) квантовыми бинарными программами полиномиальной сложности.
• BPP-OBDD, PP-OBDD - классы функций, вычислимых с ограниченной и неограниченной ошибками соответственно вероятностными OBDD полиномиальной сложности.
• BQP-OBDDmo (BQP-OBDDmm), PrQP-OBDD mo (PrQP-OBDDmm)
классы функций, вычислимых с ограниченной и неограниченной ошибками
OBDD
ной сложности.
2. Классическое моделирование
f
ниченной (ограниченной) ошибкой один раз измеряющей квантовой ветвящейся программой QBP Q. Тогда существует вероятностная ветвящаяся программа Pf
Width(P) = 4Width2(Q) + 3, Length(P) = Length(Q).
Идея доказательства теоремы состоит в следующем. Один раз измеряющая квантовая и вероятностная BP рассматриваются как частный случай вычислительной модели общего вида линейной ветвящейся программы (LBP). Модель линейной ветвящейся программы ширины d и дайны l устроена следующим образом. На каждом шаге вычисления состояние такой LBP P описывается вектором d-мерного линейного пространства над полем K. Вычисления на входном наборе a = a 1,..., an начин^ютет из начального вектора ^о- На г-ы шаге вычисления (i = 1,... ,l) P считывает значение входной переменной Xji = aji и преобразует текущий вектор состояния используя линейное преобразование Mi(0) (Mj(1)),
если х^ =0 (х^ = 1). После последнего I-го шага текущий вектор ^ проецируется на подпространство принимающих состояний, в результате чего получим финальный вектор . Вероятность принятия входного слова х = х1,... ,хп определяется как норма вектора ^апэЛ ■ Используя такое определение линейной ВР, имеем следующее.
• Вероятностная ВР - это ЬВР над полем вещественных чисел. Линейное пространство состояний использует норму || • Вектор а ^ состояний программы -вещественные вектора, при этом всегда выполняется равенство ||^||1 = 1 (за исключением финального вектора ^апэЛ) • Матрицы преобразования являются матрицами, стохастическими по столбцам (сохраняющими || • || 1 преобразуемого вектора).
•
состояний использует норму || • ||2. Вектора ^ состояний программы - комплекс-позначные вектора, при этом всегда выполняется равенство ||я-||2 = 1 (за исключением финального вектора ^апа!) • Матрицы преобразования являются комплекспо-значными унитарными матрицами (сохраняющими || • ||2 преобразуемого вектора).
Процесс моделирования заключается в преодолении указанных различий над данными двумя разновидностями ЬВР шаг за шагом. При этом длина ветвящейся программы не увеличивается, ширина возрастает квадратично. Однако может быть потеряно свойство изолированности ошибки, то есть если ОВР вычисляла / с ограниченной ошибкой, то построенная РВР может вычислять ] с неограниченной ошибкой.
Полное доказательство теоремы 1 приведено в [8].
Следствием из теоремы 1 являются следующие соотношения классов сложности:
Б<<Р-БРмо С РР-БР,
РгЯР-БРмо С РР-БР, Б<Р-ОБББмо С РР-ОБББ, Рт<Р-ОБББмо С РР-ОБББ
3. Квантовое моделирование
Согласно законам квантовой механики преобразования изолированной квантовой системы описываются унитарными матрицами. Одним из основных свойств унитарных преобразований является их обратимость. Единственным необратимым преобразованием такой квантовой системы является измерение (извлечение результата вычислений). Преобразования, применяемые в ходе классических вычислений, в общем случае не являются обратимыми. При этом результат необратимого преобразования не содержит достаточно информации для восстановления исходных аргументов. Применение измерения в процессе вычисления нарушает обратимость процесса вычисления. Данный способ используется в первом методе квантового моделирования моделировании с использованием многократного измерения. В ЫЫ-<<БР после каждого вычислительного шага производится измерение текущей конфигурации, и выбор дальнейшего преобразования зависит от исхода измерения.
Другой способ сделать необратимые преобразования обратимыми хранить всю траекторию вычисления. Однако это приводит к экспоненциальному увеличению сложности. Второй предлагаемый нами метод квантового моделирования использует сохранение промежуточных состояний не на всей траектории вычисления, а только на некоторых отдельных шагах. Сохранение состояний вычислений на некоторых шагах позволяет восстановить всю историю вычисления.
Отмстим также, что если в первом из представленных ниже методов квантовость используется только для моделирования классической вероятности, то во втором существенную роль играет квантовый параллелизм. Другими словами, если в вероятностной ВР вероятностным образом происходит выбор одной из траекторий вычислений, то в квантовой ВР все вычислительные траектории выполняются одновременно. каждая с соответствующей амплитудой.
3.1. Квантовое моделирование с многократным измерением.
Теорема 2 (квантовое моделирование с использованием многократного измерения [8]). Пусть функция / вычислима вероятностной забывающей ветвящейся программой (¿,1)-РВР Р. Тогда она вычислима много раз измеряющей квантовой ветвящейся программой (в,I)-ММ-QBP Q такой, что
Ргасс(а) = РгГс» для всех а е {0,1}п.
Идея доказательства состоит в следующем. При построении квантовой ВР используется квантовое моделирование классической вероятности.
Если р - классическая вероятностная переменная, принимающая значение 0 и 1 с вероятностью 1/2, то ее поведение может быть промоделировано квантовым кубитом </, приготовленным в состоянии \д) = (1/а/2, 1/\/2)т. Измеряя данное состояние по отношению к стандартному базису {|0}, |1}}, как результат измерения
01
если р - классическая вероятностная переменная, принимающая значение г {% = = 1,..., в) с вероятностью рг, ее поведение моделируется квантовой системой из ^ в1 ку битов следующим образом:
Измеряя полученное состояние по отношения к стандартному базису {|1},..., |в}}, мы получаем значение г с вероятностью рг.
Метод квантового моделирования с использованием многократного измерения использует измерение текущей квантовой суперпозиции по отношению к стандартному базису на каждом шаге вычисления. После каждого измерения мы имеем распределение вероятностей нахождения квантовой ВР в базисных состояниях, соответствующих классическим состояниям вероятностной ВР. Унитарные преобразования, применяемые на каждом шаге вычисления, зависят от значения считанной входной переменной, и от результата предыдущего измерения.
На основе данного метода квантового моделирования по вероятностной ВР, вычисляющей функцию / с некоторой вероятностью, строится квантовая ВР, использующая измерение текущей суперпозиции на каждом шаге. При этом полученная квантовая много раз измеряющая ВР будет вычислять функцию ] с той же вероятностью н будет иметь ту же длину и ширину, что и исходная вероятностная ВР, например, если исходная ВР была один раз читающей ВР, то построенная ВР будет один раз читающей ВР. Полное доказательство теоремы 2 приведено в [8].
Следствием из теоремы 2 являются следующие соотношения классов сложности:
ВРР-ВР С BQP-BPмм, РР-ВР С Р^Р-ВРмм, ВРР-ОВВВ С BQP-OBDDMM, РР-ОВВВ С PrQP-OBDDMM.
1 Все логарифмы в данной работе берутся по основанию 2.
3.2. Квантовое моделирование с однократным измерением. Метод квантового моделирования с многократным измерением использует измерение текущей квантовой суперпозиции для нарушения обратимости вычислений. При этом на каждом шаге мы полностью забываем историю прошедших вычислений. В данном пункте мы опишем метод квантового моделирования вероятностной ВР с использованием однократного измерения по окончании вычислений.
Приведем некоторые обозначение и определения, которые понадобятся нам в этом пункте.
Через 1п будем обозначать единичную матрицу размера п х п. Пусть а = = (а!,...,а„), Ь = (а\,...,Ьт). Тензорное (правое кронекерово) произведение векторов а и Ь - это вектор размерности пт, определяемый следующим образом: а ® Ь = (а\Ь\, Ь2,..., а\Ьт,..., апЬт). Тензорное произведение к векторов а будем обозначать а®к.
Тензорное произведение матриц
Определение 3. Вероятностную ветвящуюся программу Р будем называть ветвящейся программой нормальной формы, если Р имеет следующий вид:
• Р может быть разбита па две части: вероятностную, содержащую только вероятностные вершины, и детерминированную, содержащую только детерминированные вершины:
•Р
Р
Теорема 3 [12]. Пусть / : {0,1}п ^ {0,1} - булева функция над множеством переменных X = {х\,..., хп}, Р - вероятностная ВР, вычисляющая функцию / с е-изолированной точкой сечения 1/2 (0 < е < 1/2). Тогда для любого 3 : 0 < < 3 < е существует вероятностная ВР Р' такая, что:
• Р' вычисляет функцию / с (е — 3) -изолированной точкой сечения 1/2;
• Р' является вероятностной ВР нормальной формы;
Теорема 4 (квантовое моделирование с использованием однократного измерения). Пусть функция / вычислима с ограниченной (неограниченной)
Р
ченной) ошибкой один раз измеряющей квантовой ВР Q и при этом
А
есть (т1 х пк)-матрица
А ® В
Б (Р') = 0(п/32 Б(Р)).
ЬевдШ^) = 0(Ье^Ш(Р )к), Width(Q) = 0^1ёШ(Р )с 1°8(ьеп8№(р))),
где к, с некоторые константы.
Доказательство. Пусть Р - вероятностная ВР, вычисляющая функцию / с ограниченной ошибкой. Процесс построения квантовой ВР ^ ^ ^^^^^стяющей ], состоит из следующих этапов: определение начальной конфигурации программы Q, определение последовательности преобразований и определение множества финальных состояний (задающих подпространство принимающих состояний) программы Q.
Р
строим РВР Р' нормальной формы. При этом сложность программы возрастает по порядку не более чем в п раз. Согласно теореме 3 Р' вычисляет / с ограниченной ошибкой.
Пусть ^ = (р1,... - вероятностное распределение вершин программы Р' после считывания всех вероятностных переменных. Обозначим |о) = (у/р1 з • • • \/рИ)Т ■
Второй этап моделирования определение последовательности преобразований. На данном этапе моделирования рассматриваем детерминированную часть программы Р '.Обозначим ее ч ерез Б. Без ограничения общности полагаем, что Б является уровневой, забывающей и все уровни имеют одинаковое количество ! вершин, перенумерованных 1,Пусть I — длина программы Б, Тр = {(зг, Мг(0), И1(1))}и - последовательность преобразований детерминированной программы Б, Мг(0), Мг (1) - булевы (! х !) -матрицы переходов, соответствующие г-му уровню программы Б, каждый столбец которых содержит ровно одну единицу. А именно, в матрицах Мг(а), (г = 1,...,1, а € {0,1} единица стоит на пересечении в-го столбца и в'-й строки, если в ВР Б есть ребро из вершины в г-го уровня в вершину в' (г + 1)-го уровня, помеченное а. Б
реализуют некоторую перестановку на ! вершинах. В этом случае Мг(0), Мг(1), г = 1,... ,1, - перестановочные матрицы, которые являются унитарными. В этом случае последовательность преобразований квантовой программы Q определим следующим образом:
Тд = {(зг,Мг(0),Мг(1))}г = 1.
Начальную конфигурацию программы ^ ^^^^даим как |-0о) = |а). Б
делпрованпя.
На данной стадии моделирования используется подход, предложенный в [13]. В основе этого подхода используется следующая игра. Пусть у пас имеется к +1 камень, одни из которых постоянно лежит на позиции 0, а остальные в начальный момент времени находятся в куче. На каждом шаге мы можем либо положить ка-
гг камень возможно, только если на г — 1 позиции уже находится другой камень. Цель игры положить камень как можно дальше от позиции 0.
Пусть ¿к - наиболее удаленная позиция от позиции 0, па которую мы можем положить камень, Ьк - число шагов, необходимых для этого. В [13] был предложен
Р(к)
1) если к = 0, то ¿к =0 и ничего делать не надо;
2) если к > 0, то запускаем алгоритм Р(к —1), чтобы положить камень в позицию !к-1, кладем камень в позицию !к-1 + 1, собираем к — 1 камень в кучу, запуская
Р(к — 1) , Р(к — 1)
камней, используя в качестве начальной позиции позицию ¿к-1 + 1.
Индукцией несложно показывается, что для данной стратегии !к = 2к — 1, Ьк = = (3к — 1)/2. Показывается также, что данная стратегия неулучшаема [13].
Аналогично [13] будем строить последовательность преобразований программы ^ ^^^^^^^^ ^^^^ ^^^етегпп. Квантовая ВР Q устроена следующим образом. Каждый уровень ВР ^ ^^дажит йк вершин, где к мы определим позднее. Вершины перенумерованы таким образом, что каждая вершина имеет к индексов где 1 < г, < й.
Начальная конфигурация - |^0) = |а) <8> |е)®(й-1), где |е) = (1,0,..., 0)т - й-мерпый вектор. Будем говорить, что конфигурация программы ^ ^^^топт из к регистров |г1),..., ), где каждый регистр содержит й состояний |1),..., |й), представленных с соответствующей амплитудой. Квантовая ВР Q моделирует программу Б с использованием данных к регистров согласно описанной выше стратегии игры. При этом регистры играют роль камней, а уровни программы Б соответствуют позициям, та которые можем класть камни. Если г-й регистр хранит состояние программы Б па некотором уровне, то это соответствует тому, г
|е)
ная конфигурация |^о) соответствует начальному состоянию игры - один камень лежит в нулевой позиции, остальные к — 1 камень находятся в куче.
Последовательность преобразований Тд = {(^ ^¿(0), ^¿(1))}^ определяется последовательностью преобразований Тд и стратегией игры. Квантовая ВР ^ ^^^^^^^^^^ ^^оту программы Б, выполняя преобразования каждого уровня программы Б в соответствии со стратегией следующим образом.
Пусть па шаге ] в соответствии со стратегией игры мы кладем камень в позицию п. При этом в позиции п — 1 уже лежит другой камень. Это означает, что ^ ^^^^^^^^^^ состояние ВР Б та уровне п го состояния на уровне п — 1. При этом для размещения нового состояния Q использует некоторый пустой регистр |г() (находящийся в состоянии |е)), что соответствует тому, что мы используем камень, чтобы покрыть позицию п, а некоторый регистр |гя) при этом хранит состояние программы Б па (п — 1)-м уровне. Для простоты изложения предположим, что |гя) и |г4) - два соседних регистра, то есть £ = в + 1. Преобразование на ]-м шаге задействует только регистры |гя) и |г4) и тождественно на остальных к — 2 регистрах. То есть Ц (а) = 1а ® ■ ■ ■ ® 1а ® Ц^а) <8> Id <8> ■ ■ ■ <8> 1<г•
Матрица Ця4(а) - это й2 х й2 блочно-диагональная матрица, где на диагонали стоят й х й-матрицы В1(а),..., Б^(а). Матрицы Бу (а), V = 1,..., й, определяются преобразованием Мп-1(а) ветвящейся программы Б. А именно, для каждого Бь(а), V = 1,..., й, - это перестановочные матрицы, переставляющие состояния 1 и V', если в программе Б существует помеченное а ребро, ведущее из вершины V (п—1)-го уровня в вершину V' п-го уровня. Перестановка на остальных состояниях тождественна. Таким образом, общее состояние регистров |гя) и |г4) после преобразования становится |1)Б1(а)|г4) + |й)Б^(а)|г4). Для каждой вершины V (п — 1)-го уровня результат преобразования размещается в своем участке памяти. Если |гя) и |г() не являются двумя соседними регистрами, то преобразование выполняется аналогично и осуществляет перестановку соответствующих состояний.
Пусть на шаге в соответствии со стратегией игры мы снимаем камень с позиции п. При этом в позиции п — 1 также должен лежать камень. Это означает, что мы выполняем преобразование, обратное тому, которое мы выполняли при вычислении п
цей прямого преобразования в соответствии с определением этой перестановочной матрицы.
Определение множества финальных состояний. Пусть Б - множество финальных состояний ВР Б, |г() - регистр, в котором размещено состояние последнего /-го уровня программы Б. К множеству финальных состояний С^ВР Q отнесем
все состояния |г1 ... , у которых € Р.
По построению полученная ОВР ^ представляет функцию / с той же вероятностью, что и исходная РВР Р. Оценим сложность построенной ОВР Q в соответствии с первым и вторым этапами моделирования. На первом этапе сложность увеличивается по порядку не более чем в п раз. Оценим изменения сложности на втором этапе. Поскольку согласно стратегии игры Length(D) = йк, то число регистров к = [^(Ьеп^Ь^) + 1)]. Так как длина построенной ОВР - это число шагов в игре, то, используя полученное значение к, имеем: Ьеп^ЬЬ^) = = O(Length(D)log3). Ширина построенной программы \¥1с11;]2^) = \¥1с11;]2(Р)к = = Следовательно,
Ьеп^Ь^) = 0(Ьеп#Ь(Р )к), Width(Q) = 0(\¥1<Ы1(Р )с ))),
где к, с некоторые константы. □
4. Сравнительный анализ методов
Таким образом, в работе рассмотрены три различных метода моделирования: классическое моделирование квантовой ВР и два различных метода квантового моделирования вероятностной ВР. При этом при классическом моделировании квантовой ВР сложность увеличивается полиномиально: длина программы не изменяется, ширина изменяется квадратично. Однако «платой» за незначительное увеличение сложности является потеря важного свойства ВР свойства изолированности точки сечения: если исходная квантовая ВР вычисляла функцию / с большой вероятностью правильного результата, то в построенной классической ВР вероятность ошибки сильно возрастает.
При квантовом моделировании вероятностной ВР основной трудностью, которую приходится преодолевать, является то, что квантовые преобразования, которые реализуются посредством унитарной эволюции, в силу своей природы являются обратимыми. Классические преобразования в общем случае являются необратимыми. Два предлагаемых метода моделирования по-разному решают данную проблему. Первый метод моделирования использует измерение на каждом вычислительном шаге с целыо нарушить обратимость вычислений, поскольку из возможных преобразований изолированной квантовой системы только измерение является необратимым преобразованием. При этом в построенной квантовой ВР квантовость используется только для моделирования вероятности. Использование промежуточного измерения как способа выполнения необратимых преобразования не изменяет сложность программы.
Второй предлагаемый метод использует единственное измерение по окончании вычислений. При этом основными моментами моделирования являются следующие. Во-первых, вероятностный выбор заменяется на одновременное параллельное выполнение, то есть если в вероятностной ВР один вычислительный путь выполняется с некоторой вероятностью, то в построенной ВР с использованием квантового параллелизма запускаются одновременно все вычислительные траектории с амплитудами, квадраты которых равны соответствующим вероятностям. Второй момент связан с обратимым выполнением необратимых преобразований. Чтобы обратимым образом выполнять необратимые преобразования, мы вынуждены сохранять исходные аргументы каждой операции. При этом, чтобы память не возрастала очень сильно, в процессе вычисления мы освобождаем участки памяти для повторного использования, запуская некоторые шаги вычисления в обратную сторону. В результате такого моделирования длина программы возрастает
полиномиально, ширина возрастает как Width(P)clog(Lensth(p)), т0 есть При таком моделировании мы не остаемся в классе BP полиномиальной сложности. Однако следует отметить, что важной сложностной характеристикой квантовых BP является число k кубит, используемых для вычислений. Для данной модели BP k = log(Width(Q)) и значение k при моделировании возрастает следующим образом. Если для представления текущего состояния ВРВ P использовалось k бит, то построенная QBP Q использует O(k log(Length(P)) кубит. В частности, для
k
квадрат.
Работа выполнена при финансовой поддержке фонда «Научный потенциал» ("Human capital foundation").
Summary
A.F. Gainuttlinova. Quantum and Classical Simulation of Quantum Branching Programs.
The paper views a model of branching programs (BP). A model of classical probabilistic BP is considered along with two different models of quantum BP (once-measuring and many time measuring quantum BP). Three different methods of simulation of BPs are presented: method of classical simulation of quantum BPs and two different methods of quantum simulation of probabilistic BPs. Complexity of methods is proved. Comparative analysis of methods is presented.
Key words: branching programs, computation complexity, quantum and classical simulation.
Литература
1. Mauuu Ю.И. Вычислимое и певычислимое. M.: Сов. радио. 1980. 128 с.
2. Feynman R. Simulating physics with computers // Int. J. Tlieor. Pliys. 1982. V. 21. No 6,7. P. 467 488.
3. Ablaycv F., Gainuttlinova A., Karpinski M. On Computational Power of Quantum Branching Programs // Proc. of the 13t.li Int. Symposium, Fundamentals of computation theory (FCT 2001, Riga, Latvia). LNCS. 2001. V. 2138. P. 59 70.
4. Ea/ppuuvmou Д. Ветвящиеся программы ограниченной ширины, имеющие полиномиальную сложность, распознают в точности языки из NC1 // Киберн. сб. - М.: Мир. 1991. Вып. 28. С. 94 113.
5. Nakanishi М., Hamaguchi К., Kashiwabara Т. Ordered quantum branching programs are more powerful than ordered probabilistic branching programs under a bounded-width restriction // Proc. of the 6t.li Annual Int. Conf. on Computing and Combinatorics, COCOON'2000. LNCS. Springer-Verlag, 2000. V. 1858. P. 467 476.
6. Sauerhoff M., Sicling D. Quantum branching programs and space-bounded nonuniform quantum complexity // Tlieor. Comput. Sci. 2005. V. 334. P. 177 225.
7. Гайиутдииова А.Ф. О сравнительной сложности квантовых и классических бинарных программ // Дискр. матем. 2002. Т. 14, Вып. 3. С. 109 121.
8. Гайиутдииова А.Ф. Моделировании квантовых и классических бинарных программ // Дискр. анализ и исслед. операций. Сер. 1. 2006. Т. 13, Л' 1. С. 45 64.
9. Borodin A., Fischer М., Kirkpatrick D., Lynch N.. Тотра М. A time-space tradeoff for sorting on non-oblivious machines // Proc. 20t.li Annual Symposium on Foundations of Computer Science. 1979. P. 319 327.
10. Ablayev F., Karpinski M. On t.lie power of randomized branching programs // Proc. 28t.li ICALP (1996). LNCS. Springer, 1996. V. 1099. P. 348 356.
11. Gruska J. Quantum computing. McGraw-Hill Publishing Company, 1999. 419 p.
12. Sauerhoff M. Complexity theoretical results for randomized branching programs: Ph.D. Dissertation. - 1998. - URL: http://ls2- www.cs.uni-dortmund.de/~sauerhof/ publications.slitml.
13. Spalek R. Space complexity of quantum computation: Dissertation. 2002. URL: http://eccc.hpi-web.de/eccc-local/ECCC-These/spalek.html.
Поступила в редакцию 27.02.0*9
Гайнутдинова Аида Фаритовна кандидат физико-математических паук, ассистент кафедры теоретической кибернетики Казанского государственного университета. Е-шаП: aidaQksu.ru