Сложность ветвящихся программ для частично определенных функций

____________УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО УНИВЕРСИТЕТА

Том 156, кн. 3 Физико-математические науки

2014

УДК 519.7

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ ДЛЯ ЧАСТИЧНО ОПРЕДЕЛЕННЫХ ФУНКЦИЙ

А.Ф. Гайнутдинова

Аннотация

Упорядоченные ветвящиеся диаграммы решений (OBDD - Ordered Binary Decision Diagrams) - известная модель для вычисления булевых функций. В работе рассмотрены частично определенные булевы функции и сложность их вычисления в различных вариантах OBDD (детерминированных, недетерминированных, вероятностных и квантовых). В качестве исследуемой меры сложности взята ширина OBDD. Известно, что при рассмотрении всюду определенных булевых функций вероятностные OBDD могут быть эффективнее детерминированных и данный разрыв в сложности может быть не более чем экспоненциальным. Аналогичный результат верен и при сравнении квантовых OBDD с классическими. Показано, что для частично определенных функций преимущество в сложности квантовых моделей перед классическими может быть усилено. Предложена частично определенная булева функция, которая вычислима с нулевой ошибкой квантовой OBDD ширины 2. При этом ширина классических детерминированной, вероятностной OBDD экспоненциально зависит от параметра функции. Предложено также бесконечное семейство частично определенных булевых функций таких, что любая функция из данного семейства вычислима с ограниченной ошибкой вероятностной OBDD ширины 2. При этом существует бесконечное подмножество функций из данного семейства таких, что ширина классической детерминированной OBDD для вычисления каждой функции из данного подмножества возрастает неограниченно.

Ключевые слова: упорядоченные ветвящиеся диаграммы решений, частично определенные функции, квантовые вычисления, вероятностные OBDD, детерминированные OBDD, сложность.

Введение

Сравнительный анализ различных моделей по их вычислительной мощности -важная задача математической кибернетики. Вычислительные модели можно подразделять на модели без памяти (схемы), модели с конечной памятью (автоматы, ветвящиеся программы), модели с бесконечной памятью (машины Тьюринга) [1]. Особый интерес представляет сравнение вариантов одной и той же модели, различающихся способом функционирования, а именно детерминированного, недетерминированного, вероятностного и квантового. Задача сравнительного анализа вероятностного и детерминированного вариантов различных моделей исследовалась в ряде работ (см., например [2-4]). В конце 80-х годов XX в. стала активно развиваться теория квантовых вычислений [5-7]. Интерес к этой области усилился после того, как были построены эффективные квантовые алгоритмы для решения ряда задач, для которых на сегодняшний день неизвестны эффективные классические (детерминированные, вероятностные) алгоритмы. В числе таких эффективных квантовых алгоритмов можно отметить квантовый полиномиальный алгоритм Шора факторизации числа, алгоритм Гровера поиска в неупорядоченной базе данных [8, 9]. Для известных классических моделей (машин Тьюринга, автоматов,

30

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

31

схем, ветвящихся программ и т. д.) были определены их квантовые аналоги и стали исследоваться их вычислительные возможности. Так, было показано, что квантовые конечные автоматы, использующие одно измерение, способны распознавать собственное подмножество регулярных языков. При этом были найдены примеры языков, для которых квантовый автомат оказался экспоненциально эффективнее классических (детерминированного, вероятностного). Было также показано, что максимальная экономия сложности, которую можно достичь на квантовых автоматах по сравнению с детерминированными, не может превышать экспоненту.

В последние годы для конечных автоматов стала активно исследоваться задача, являющаяся обобщением задачи распознавания языка [10, 11], а именно задача отделимости, где вместо всего множества слов заданного алфавита рассматривается лишь некоторое подмножество слов, входами для модели являются слова только из заданного подмножества. Таким образом, объединение языка и его дополнения составляет данное подмножество (вместо множества всех слов алфавита). Оказалось, что при рассмотрении проблем отделимости квантовые автоматы могут быть эффективнее классических более чем экспоненциально.

Ветвящиеся программы (BP - Branching Program) - известная модель для вычисления булевых функций [12], которая хорошо моделирует компьютерные программы, записанные с использованием операторов if. .. then ... else, goto. Известно, что данный набор операторов составляет полный базис (используя только их можно вычислить произвольную булеву функцию). Впервые модель ветвящихся программ была предложена Ли в 1959 г. [13] и позднее Акерсом [14] как структура данных для переключательных функций. Первыми работами в области ветвящихся программ были [13, 15, 16]. С тех пор были определены и интенсивно исследуются различные варианты базовой модели. Модель BP имеет различные приложения: верификация моделей и программ, базы данных и др. Кроме того, ветвящиеся программы являются удобной моделью представления функций, позволяющей получать высокие нижние оценки. О соотношении модели ветвящихся программ с другими моделями вычислений можно сказать следующее. Известно, что логарифм сложности ветвящейся программы соответствует объему памяти машины Тьюринга, а максимальная длина вычислительного пути - времени вычисления [17, 18]. Известно также, что для любой функции f справедливы неравенства C(f) < 3BP(f), BP(f) < La(f) + 1, где BP(f) - минимальная сложность ветвящейся программы, вычисляющей функцию f, C(f) и L^(f) - соответственно минимальные сложность схемы из функциональных элементов и сложность формулы для функции f [12]. Наиболее высокая нижняя оценка для явно заданной булевой функции была получена Э.И. Нечипоруком в 1966 г. [30]. Для модели ветвящихся программ эту оценку переложил П. Пудлак в 1984 г. [19].

Ветвящиеся программы, в которых на каждом вычислительном пути переменные считываются не более одного раза в одном и том же порядке, называются упорядоченными ветвящимися диаграммами решений (OBDD - Ordered Binary Decision Diagrams). Если порядок считывания переменных в такой модели совпадает с естественным, то ее можно рассматривать как модель неоднородных автоматов с переменной структурой. Преобразования в такой модели могут различаться на каждом шаге. Поскольку длина OBDD не превосходит длины входа, естественной мерой сложности в этом случае является ширина OBDD, что является аналогом количества состояний для автоматов. Известно, что почти все функции имеют экспоненциальную сложность вычисления в модели OBDD. При этом сложность представления функций в OBDD зависит от используемого программой порядка считывания переменных. Так, существуют функции, вычислимые OBDD ширины 2, но при использовании наихудшего порядка считывания переменных ширина OBDD

32

А.Ф. ГАЙНУТДИНОВА

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

Вероятностные ветвящиеся программы были впервые определены в [4]. В этой работе было показано, что вероятностные OBDD могут быть экспоненциально эффективнее детерминированных и недетерминированных OBDD. Известно, что экспоненциальное преимущество вероятностных OBDD перед детерминированными является максимально возможным. Экспоненциальная нижняя оценка сложности вероятностной OBDD для явно заданной функции была доказана в работе [20]. Экспоненциальная нижняя оценка на размер OBDD для функции умножения была получена в [21].

Квантовый аналог классической ветвящейся программы был впервые определен в [22], где модель определялась как последовательность унитарных эволюций квантовой системы с заключительным измерением как процедурой извлечения результата вычислений. Известная модель перестановочных ветвящихся программ, рассматриваемая в [23], является частным случаем такой модели. В работе [23] было показано, что класс функций, вычислимых перестановочными BP полиномиальной сложности, в точности совпадает с классом NC\ функций, представимых схемами из функциональных элементов логарифмической глубины полиномиальной сложности [23]. В работах [24, 25] были определены несколько иные модели квантовой BP. Было доказано, что все эти модели эквивалентны. В области сравнительного анализа квантовых и классических OBDD известны следующие результаты. Было показано, что квантовые OBDD могут быть экономнее детерминированных не более чем экспоненциально [22]. Были приведены примеры функций, для которых данная эффективность достижима. Так, для симметрической функции MODp, принимающей значение 1 только на наборах, в которых число единиц кратно p, где p - простое число, было показано, что она вычислима с ограниченной ошибкой квантовой OBDD ширины O(logp). Детерминированная OBDD и вероятностная стабильная OBDD, вычисляющая с ограниченной ошибкой, требуют ширины p для вычисления функции MODp [26]. Стабильность для OBDD означает, что преобразования не зависят от номера шага, на котором они применяются. Все перечисленные выше результаты были сформулированы для всюду определенных функций.

В настоящей работе рассматриваются частично определенные функции, то есть функции, которые определены не на всем множестве аргументов, а только на некотором его подмножестве A. При вычислении таких функций значения, которые получаются на входах, не принадлежащих множеству A, несущественны и могут быть произвольными. Рассмотрение частично определенных функций может быть связано с различными аспектами. Например, в реальном вычислительном устройстве некоторые наборы значений входов могут вообще не встречаться и поведение устройства на таких входах является несущественным. Функционирование этих устройств может быть описано частично определенными булевыми функциями [1, § 2.1]. Еще одной мотивацией для исследования частично определенных функций является то, что задача вычисления таких функций ветвящимися программами аналогична задаче отделимости для автоматов. Принимая во внимание результаты, имеющие место для конечных автоматов, распознающих проблемы отделимости, можно ожидать аналогичных результатов для ветвящихся программ, вычисляющих частично определенные функции, превосходящих соответствующие результаты для всюду определенных функций. При этом следует отметить, что техника доказательств, которая используется для моделей автоматов, в большинстве случаев не может быть напрямую применена для модели OBDD в силу различия

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

33

данных моделей. В отличие от автоматной модели, в модели OBDD переменные входного слова могут считываться в произвольном порядке, и преобразования могут быть различными на каждом шаге вычисления. Данные возможности дают больше вычислительной мощности ветвящимся программам по сравнению с конечными автоматами.

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

В разд. 1 приведены определения и необходимые для изложения факты. В разд. 2 исследуются основные свойства частично определенных булевых функций. В разд. 3 приводятся известные результаты по сравнительной сложности квантовых и классических OBDD, вычисляющих всюду определенные функции. Показано, что при вычислении указанных функций квантовые OBDD могут быть экспоненциально эффективнее классических детерминированных и вероятностных OBDD; экспоненциальное преимущество квантовых моделей перед классическими является максимально возможным. В разд. 4 рассматриваются частично определенные булевы функции. Установлено, что для частично определенных функций преимущество в сложности квантовых OBDD может более чем экспоненциальным. Введена частично определенная булева функция PartialMOD^, зависящая от параметра к, заданная только на наборах, в которых число единиц кратно 2к. Указанная функция определена на основе семейства унарных проблем отделимости (promise problems), рассмотренных в работе [11], где показано, что это семейство может распознаваться без ошибки квантовым автоматом с двумя состояниями. Классический детерминированный автомат требует не менее 2к+1 состояний.

Показано, что частично определенная функция PartialMOD]) вычислима без ошибки квантовой OBDD ширины 2. Получены нижние оценки 2к+1 ширины детерминированной OBDD, вычисляющей PartialMOD), и ширины стабильной вероятностной OBDD, вычисляющей PartialMOD]) с ограниченной ошибкой.

В разд. 5 рассмотрена коммуникационная модель вычисления. Доказательство нижних оценок сложности вычисления всюду определенных функций в модели OBDD часто проводится с привлечением аппарата коммуникационных вычислений. Нами получена верхняя оценка вычисления частично определенной функции PartialMOD) в односторонней коммуникационной модели.

В разд. 6 предложена частично определенная булева функция fn£ , вычислимая с ограниченной ошибкой вероятностной OBDD ширины 2. Данная функция определена на основе унарного семейства проблем отделимости, рассмотренного в [27]. Доказано, что ширина детерминированной OBDD, вычисляющей функцию fp,e, растет неограниченно с уменьшением параметра функции.

1. Основные определения

Определение 1. Детерминированная ветвящаяся программа над множеством переменных X = {xi,... ,xn} - это ориентированный ациклический граф с финальными вершинами, помеченными 0 и 1 (будем называть их, соответственно, отвергающими и принимающими). Каждая внутренняя вершина помечена булевой переменной x G X и имеет два исходящих ребра, помеченных 0 и 1 соответственно. BP представляет булеву функцию f : {0,1}n ^ {0,1} следующим образом. Вычисление значения f (а) для входного набора a G {0,1}n начинается из выделенной начальной вершины. Для каждой внутренней вершины, помеченной переменной Xj, осуществляется переход из этой вершины либо по 0 -ребру, либо по 1 -ребру

34

А.Ф. ГАЙНУТДИНОВА

в соответствии со значением aj, которое принимает переменная Xj во входном наборе. Значение функции f для входа а - это значение достигнутой финальной вершины.

Сложность Size(P) ветвящейся программы P - это количество ее внутренних вершин.

Длина Length(P) ветвящейся программы P - это количество ребер в самом длинном пути из начальной вершины в конечную.

Длина BP очевидным образом оценивает время, требуемое для вычисления функции f в худшем случае. Логарифм сложности BP оценивает память, затрачиваемую в процессе вычисления.

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

Ветвящаяся программа называется уровневой, если ее вершины могут быть разбиты на уровни 0,1,... таким образом, что ребра из вершин уровня i ведут только в вершины уровня (i +1) для каждого i.

Ширина Width(P) уровневой BP P - это максимум от числа вершин на уровне, взятый по всем уровням программы P.

Ясно, что Size(P) < Length(P) • Width(P).

Уровневая BP P называется забывающей, если во всех вершинах одного уровня P считывается одна и та же переменная.

OBDD (Ordered Binary Decision Diagram) - это уровневая, забывающая, один раз считывающая ветвящаяся программа.

Поскольку для модели OBDD ее длина не превосходит n, естественной мерой сложности в этом случае является ширина OBDD.

Вероятностная OBDD (POBDD - Probabilistic OBDD) является обобщением детерминированной модели. Для простоты можем считать, что все уровни содержат одинаковое число вершин, пронумерованных от 1 до d. POBDD над множеством переменных X = {xi,... ,xn} ширины d определяется следующим образом:

Pn = (vo ,T, Accept).

Здесь vo - d-мерный стохастический вектор-столбец - вектор распределения вероятностей вершин на начальном нулевом уровне, T = {{ji, Ai(0), Ai(1))}n=i -последовательность d-мерных стохастических преобразований, где Ai(0), Ai(1) -стохастические по столбцам (d х d)-матрицы, Accept С {1,...,d} - множество принимающих вершин. На i-м шаге, i = 1,...,n, программа Pn считывает значение входной переменной Xj€ = <г^ и преобразует текущий вектор распределения вероятностей vi-i в вектор vi = Ai(aji). После считывания входного набора a = ai,...,an финальный вектор имеет вид vn(a) = A(a)vo, где A(a) = = A(an) • • • A(ai). Пусть vn(a) = (pi,... ,pd). Программа Pn завершает вычисление и принимает входной набор с вероятностью

Prpncept(a) =53 pi.

i^Accept

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

Недетерминированная OBDD (NOBDD) позволяет на каждом шаге при считывании переменной переходить из вершины текущего уровне в более чем одну вершину последующего уровня. Таким образом, для входного набора а могут существовать несколько вычислительных путей. Недетерминированная OBDD Pn

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

35

принимает входной набор а, если существует вычислительный путь, соответствующий данному набору, который завершается в принимающей вершине. В противном случае Pn отвергает набор а. Эквивалентное определение недетерминированной модели можно дать, основываясь на определении вероятностной OBDD. Недетерминированная OBDD, вычисляющая функцию f - это POBDD, которая принимает все наборы а : f (а) = 1 с вероятностью Praccept(a) > 0 и наборы а : f (а) =0 с вероятностью Ргассер((а) = 0.

Прежде чем перейти к определению квантовой OBDD, приведем основные понятия квантовых вычислений, необходимые для дальнейшего изложения. Более подробную информацию о квантовых вычислениях можно найти, например, в [7]. Квантовая система (QS) с d устойчивыми состояниями может быть описана при помощи d-мерного комплекснозначного гильбертова пространства Hd с базисом B = {|gi} ,, |^d}}, где \qj) € Hd - вектор-столбец (кет-вектор), содержащий 1 в j -й позиции и нули во всех остальных. Состояния qi,,qd называются устойчивыми состояниями и могут рассматриваться как классические состояния системы. В процессе вычислений квантовая система QS может находиться в суперпозиции своих устойчивых состояний. Чистое состояние QS (обозначается как \ф) = (zi,   , Zd)) - это вектор пространства Hd с нормой 1 (унитарный вектор): \J (ф\ф) = 1 .В суперпозиции | ф) каждое устойчивое состояние qi представлено с амплитудой zi, то есть квантовая система находится одновременно во всех своих устойчивых состояниях, в каждом с соответствующей амплитудой. Унитарная эволюция - это изменение состояния квантовой системы за определенный период времени, которое описывается d-мерной унитарной матрицей U. Матрица U называется унитарной, если U  U^ = I, где Ut - транспонированная комплексно сопряженная к U матрица, I - единичная матрица. Измерение квантовой системы QS - это процедура извлечения результата вычисления. При измерении QS, находящейся в состоянии \ф) = (zi,   , Zd), результатом измерения является состояние qi с вероятностью \zi\2

Квантовая OBDD (QOBDD) на множестве переменных X = {xi,    ,xn}, определенная на QS с d устойчивыми состояниями, имеет вид

Qn =

Здесь

• \фо) - начальный унитарный вектор;

• Т = {{ji,Ui(0),Ui(1))}n=i - последовательность унитарных преобразований, Ui(0) и Ui(1)- (d х d)-унитарные матрицы;

• Accept С {1,    ,d} - множество принимающих состояний.

Процесс вычисления программы Qn на входном наборе а = аl,    ,ап аналогичен вычислению в вероятностном случае. Другим образом определяется вероятность принятия входного набора. Пусть \ф(а)) = (zi^^z^ - финальный вектор распределения амплитуд состояний программы после считывания а Программа Qn принимает входной набор с вероятностью

Рг?ССерг(а) = ^ №

i^Accept

OBDD называется стабильной, если преобразования, применяемые на каждом шаге, не зависят от номера шага.

Пусть Р - вероятностная (квантовая) OBDD над множеством переменных X = = {xi,    ,xn}. Будем говорить, что Р вычисляет булеву функцию f (xi,    ,xn) с ограниченной ошибкой, если существует константа е € (0,1/2] такая, что

^AcceptH > 1/2 + е , если f (а) = 1 , и PAccept(а) < 1/2 - е , если f (а) = 0 .

36

А.Ф. ГАЙНУТДИНОВА

Пусть P - квантовая OBDD над множеством переменных X = {xi,... ,xn}. Будем говорить, что P вычисляет булеву функцию f без ошибки, если Prpccept(a) = 1 при f (а) = 1, и Prpccept(a) = 0 при f (а) = 0. Будем говорить, что P недетерминированно вычисляет функцию f, если Prpccept(a) > 0 при f (а) = 1, и Prpccept(a) = 0 при f (а) = 0.

Обозначим через OBDDd, POBDDd/2+e, QOBDDdxact множество булевых функций, вычислимых соответственно детерминированными, вероятностными с ограниченной ошибкой, квантовыми с нулевой ошибкой OBDD ширины d.

Определение 2. Булева функция fn : {0,1}n ^ {0,1} называется частично определенной, если f-1 (1) U f-1 (0) = {0,1}n .

2. Всюду определенные и частично определенные функции

Пусть f : {0,1}n ^ {0,1} - всюду определенная функция, A С {0,1}n, g : A ^ {0,1} - частично определенная функция.

Будем называть функцию f доопределением функции g с множества A до множества {0,1}n, если функция f совпадает с функцией g на множестве A. Соответственно, функцию g будем называть сужением функции f до множества A и обозначать g = PartA(f), то есть

g = Part a (f) g(a) = f (а) для любых а G A.

Теорема 1. Пусть f : {0, 1}n ^ {0,1} - произвольная всюду определенная функция, вычислимая ветвящейся программой сложности S. Тогда для любого A С {0,1}n любая, частично определенная функция g : A ^ {0, 1} такая, что g = PartA(f), вычислима ветвящейся программой сложности не более чем S.

Доказательство. Пусть Pn - ветвящаяся программа, вычисляющая функцию f . Поскольку g - частично определенная функция, входы множества {0,1}n \ A являются несущественными для g и при вычислении значения, выдаваемые для данных входов, могут быть произвольными. Поскольку g = PartA(f), то значения функции g на входах из множества A совпадают со значениями функции f для соответствующих входов. Следовательно, программа Pn , вычисляющая функцию f, является также программой, вычисляющей функцию g.

Теорема 2. Пусть f : {0,1}n ^ {0,1} - всюду определенная функция, A С С {0,1}n, g : A ^ {0, 1} - частично определенная функция такая, что g = = PartA(f). Пусть функция g вычислима ветвящейся программой сложности не менее S. Тогда f вычислима ветвящейся программой сложности не менее S.

Доказательство. Докажем от противного. Предположим, что любая ветвящаяся программа, вычисляющая функцию g, имеет сложность не менее чем S. Пусть g = PartA(f), и при этом функция f вычислима ветвящейся программой сложности строго меньше S. Это противоречит теореме 1. Теорема доказана.

Отношение эквивалентности. При доказательстве нижних оценок для всюду определенных функций на множестве слов одинаковой длины можно рассматривать отношение эквивалентности. Пусть fn - всюду определенная функция. Два слова а, а' G {0,1}k (k < n) называются k-эквивалентными относительно функции fn (а =kn а'), если для любых слов д G {0,1}n-k выполняется равенство ^(а^) = fn(а'д). Нетрудно убедиться, что отношение = является отношением эквивалентности. Оно разбивает множество всех слов длины k на классы эквивалентности, и любая пара слов из множества {0,1}k является либо эквивалентной, либо неэквивалентной друг другу. Обозначим через w^(fn) число попарно

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

37

к-неэквивалентных относительно функции fn слов из множества {0,1}k (к < п). Положим w(fn) = maxfc wk(fn).

Предложение 1. Пусть fn - всюду определенная функция, Pn - детерминированная ветвящаяся программа, вычисляющая функцию fn . Тогда выполняется соотношение Width(Pn) > w(fn).

Доказательство данного утверждения является «фольклорным» и следует из принципа Дирихле.

Определим аналогичное отношение для частично определенных функций. Пусть fn - частично определенная булева функция, a G {0,1}к, к < п. Будем называть слово j g {0,1}n-k подходящим для слова a, если слово aj G € (fn)-1(0) U (fn)-1(1). Будем называть два слова а и a' (a, a' G {0,1}к, к < п) сравнимыми, если любое слово j является подходящим для a тогда и только тогда, когда j является подходящим для a'.

Пусть a, a' G {0,1}k (к < n) сравнимы. Тогда a и a' называются к -эквивалентными (a =к a'), если для любых подходящих j G {0, 1}n-k выполняется равенство fn(aj) = fn(a'j). Соответственно, будем называть слова a и a' к-неэквивалентными, если существует подходящее слово j такое, что fn(aj) = = fn(a'j). Отметим что, отношение =к , так же как и для всюду определенных функций, является отношением эквивалентности. Однако, в отличие от случая всюду определенных функций, любые два слова одинаковой длины являются либо эквивалентными, либо неэквивалентными друг другу, либо несравнимыми друг с другом.

Предложение 2. Пусть fn - частично определенная функция, Pn - детерминированная ветвящаяся программа, вычисляющая функцию fn . Тогда для любой пары к -неэквивалентных слов a, a' вычислительные пути, соответствующие этим словам, не могут вести в одну и ту же вершину.

Доказательство. Пусть a, a' G {0,1}k, к <n и a =kn a'. Если вычислительные пути, соответствующие данным словам, приводят в одну и ту же вершину v, то для любых j G {0,1}n-k вычисления на словах aj и a'j будут приводить в одну и ту же финальную вершину. Поскольку a, a' неэквивалентны, существует слово j такое, что fn(aj) = f (a'j). Вычисления на таких входах будут давать неверный результат. Теорема доказана.

3. Сложность по ширине для квантовых и классических OBDD, вычисляющих всюду определенные функции

Известно, что квантовые OBDD, вычисляющие с ограниченной ошибкой, могут быть эффективнее детерминированных и вероятностных OBDD [26]. Рассмотрим известную симметрическую булеву функцию MODn от п переменных, принимающую значение 1 только на тех входных наборах, в которых число единиц кратно p, где p - простое число:

MODp(a)=[1, е&ли #l(a) = ° (mod P),

n 0 в противном случае,

#i(a) - число единиц в наборе a.

В работе [26] установлены следующие результаты.

Теорема 3. Функция MODn вычислима с ограниченной ошибкой квантовой стабильной OBDD ширины O(log p).

38

А.Ф. ГАЙНУТДИНОВА

Теорема 4. Любая детерминированная OBDD, вычисляющая MODvn, имеет ширину не менее p. Любая стабильная вероятностная OBDD, вычисляющая MODn с ограниченной ошибкой, имеет ширину не менее p.

Следующая нижняя оценка ширины квантовой OBDD показывает, что достигнутое преимущество является максимально возможным для всюду определенных функций (см. [28]).

Теорема 5. Пусть функция f вычислима один раз читающей квантовой ветвящейся программой Q. Тогда Width(Q) = D(logWidth(P)), где P - детерминированная OBDD минимальной ширины, вычисляющая f.

Таким образом, экспоненциальное преимущество квантовых OBDD перед классическими является максимально возможным. Ниже мы показываем, что при рассмотрении частично определенных функций преимущество квантовых OBDD перед классическими может быть более чем экспоненциальным.

4. Сравнительная сложность по ширине для квантовых и классических OBDD, вычисляющих частично определенные функции

В работе [11] рассмотрено следующее семейство унарных проблем отделимости (promise problems): Ak = (Akyes,Akno), где Akyes = {a| i > 0}, A^ = {a(2i+r)2 | i > 0}, k - произвольное положительное целое число. Показано, что семейство

Ak

может распознаваться без ошибки квантовым автоматом с 2 состояниями. При этом классический детерминированный автомат требует не менее 2k+1 состояний.

На основе данного языка определим семейство частично определенных булевых функций PartialMOD = {PartialMOD) : k > 0,n > 2k+1}, где

{1, если #1(a) = 0 (mod 2k+1),

0, если #i(<r) = 2k (mod 2k+1),

* в противном случае,

Здесь a G {0,1}n, и данная функция не определена на наборах, отображающихся в *.

Теорема 6. Для любого k > 0 существует стабильная квантовая OBDD ширины 2, вычисляющая частично определенную функцию PartialMOD^ без ошибки.

Доказательство. Квантовая стабильная OBDD Qn, вычисляющая функцию PartialMOD]) без ошибки, устроена следующим образом:

Qn = (1Фо),Т, Accept).

Здесь 1ф0) = (1,0), T = {{j,U(0),U(1))}n=1, Accept = {1}. Программа Qn считывает входные переменные в естественном порядке хр ... ,xn. Если для входного набора а на очередном шаге значение считанной переменной ау равно 1, то применяется преобразование U(1) = ( C°s(^) ^П(в) I , где в =----г . Если значение

1 1 v/ 'vsin(e) cos(e) J ’ 2 • 2k

считанной переменной ау равно 0, то применяется тождественное преобразование U(0) = . Если во входном наборе а число единиц #1(а) = 0 (mod 2k+1),

то программа Qn завершит работу в состоянии 1фДа)) = (±1, 0) и примет набор а

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

39

с вероятностью 1. На входных наборах a c числом единиц #i(c) = 2k (mod 2k+1) финальное состояние \фп(a)) = (0, ±1). Вероятность принятия таких наборов программой Qn равна 0. Следовательно, Qn вычисляет функцию PartialMOD) без ошибки. Теорема доказана.

Следствие 1. PartialMOD С QOBDD2xact.

Ниже показывается, что ширина классической OBDD (детерминированной и стабильной вероятностной, вычисляющей с ограниченной ошибкой) для функции PartialMOD) не может быть меньше 2k+1. Приведенная нижняя оценка для детерминированной модели верна для общего нестабильного случая. Доказательство аналогичного результата в [11] для автоматной модели существенным образом использует свойство стабильности модели. Доказательство для модели OBDD требует использования иной техники, поскольку потенциально нестабильность может дать преимущества. Отметим также невозможность напрямую использовать методы, применяемые для всюду определенных функций из-за наличия несравнимых путей в программе, вычисляющей частично определенную функцию. Несложно построить детерминированную стабильную OBDD ширины 2k+1, вычисляющую PartialMOD).

Теорема 7. Для любых к > 0 и n > 22k+1 — 2k любая детерминированная OBDD, вычисляющая частично определенную функцию PartialMOD), имеет ширину не меньше 2k+1.

Доказательство. Отношение эквивалентности слов относительно функции PartialMOD) определим следующим образом. Для любых двух слов a, a' G {0,1}k (к < n) положим

• a PartialMOD) a' ^ #1(a)=#1(a') (mod2k+1) ;

• a PartialMOD* a' ^ #1(a) = #1(a') (mod 2k+1) и #1(a) = #1(a') (mod 2k) ;

• в противном случае слова a, a' несравнимы между собой.

Пусть Pn - детерминированная OBDD, вычисляющая частично определенную функцию PartialMOD). Обозначим N = 2k. Сразу заметим, что согласно предложению 2 вычисления на неэквивалентных словах не должны приводить в одну и ту же вершину.

Рассмотрим множество Г = {Д : Д G {0,1}2N-1,Д = 0.... 0 1... 1, j =

2N -1-j j

= 0,... 2N — 1}. Будем естественным образом отождествлять произвольное слово v с элементом a = #1(v) (mod 2N) из аддитивной группы Z2N. Будем называть два слова одинаковой длины различными, если число единиц по модулю 2N в них различно. Обозначим p(y1,Y2) = |y 1 — Y2\.

Предположим, что Width(Pn) = t < 2N. На i-м шаге доказательства, i = = 1, 2, . . . , будем оценивать количество слов с различным числом единиц по модулю 2N, которые приводят в одну и ту же вершину (обозначим ее Vi). На i-м шаге будем рассматривать уровень с номером (2N — 1)i.

На шаге i = 1 в соответствии с принципом Дирихле существуют два различных слова a1, а2 из Г, приводящие в одну и ту же вершину V1 уровня 2N —1. Отметим, что p(a1,a2) = N, поскольку в противном случае a1, a2 неэквивалентны и ведут в одну и ту же вершину.

По индукции покажем, что на каждом шаге доказательства количество слов с различным числом единиц, приводящих в одну и ту же вершину, будет увеличиваться.

Шаг i = 2. В соответствии с принципом Дирихле, существуют два различные слова y 1, Д G Г такие, что слова a1Y1, a1Д, a2y 1, a2Д приводят в одну и ту же

40

А.Ф. ГАЙНУТДИНОВА

вершину V2 уровня (2N — 1)2. Отметим, что р(= N, так как в противном 11 12

случае слова а1^ 1, а1^2 неэквивалентны и ведут в одну и ту же вершину.

Прибавление одного и того же числа не изменяет расстояния между числами, поэтому

р(а1 + y1 ,а2 + y1) = р(а\а2),

Р(а1 + Y2,

а2 + y 2)= р(а1

,а2).

Пусть y2 > Y1. Обозначим Д = y2 — y1 . Оценим количество различных чисел среди чисел а1 + y 1, а2 + -у1, а1 + y1 + Д, а2 + y1 + Д. Так как числа а1, а2 различны и р(а1,а2) = N, то числа из пары а1 + y1, а2 + y 1 могут совпадать с соответствующими числами из пары а1 + y1 + Д, а2 + y1 + Д, только если Д = 0 (mod 2N), а это не так, поскольку y1 , Y2 различны и y1 , Y2 < 2N.

В этом случае по крайне мере три числа из а1 + y 1, а2 + y 1, а1 + -у2, а2 +

2

+ y2 различны.

Индукционный шаг. Пусть на шаге г — 1 числа а1,... ,аг все различны и пути, соответствующие этим числам, ведут в одну и ту же вершину v*_1 уровня (2N—1) х х(г — 1).

По принципу Дирихле существуют различные слова y1 , Y2 € Г такие, что соответствующие пути ведут из вершины Vi_1 в одну и ту же вершину Vi уровня (2N — 1)г. В этом случае слова а1у1,..., а'1^1, а1^2,..., агy2 ведут в одну и ту же вершину Vi . Оценим количество различных слов из этого набора. Отметим, что p(Y1,Y2) = N, так как в противном случае слова а1^1, а1’у2 неэквивалентны и ведут в одну и ту же вершину.

Числа а1, .. . ,аг различны и р(а1, аj) = N для любых l, j, l = j. Пусть а1 < <    < аг. Последовательность чисел а1 + y 1,... ,аг + y1 может в точности совпадать с последовательностью чисел а1 + y1 + Д,... ,аг + y1 + Д, только если Д = 0 (mod 2N), а это не так, поскольку y1 , Y2 различны, и Y1,!2 < 2N.

Предположим, что последовательность а1 + y1 + Д,..., аг + y 1 + Д является перестановкой чисел последовательности а1 + y 1,..., аг + y1 . Тогда существуют числа ao,...,ar, принадлежащие Z2N, такие, что все о,у принадлежат последовательности а1 + Y1,. .., аг + Y1, при этом ao = ar = а1 + y 1, aj = aj_1 + Д, j = 1,... ,r. Тогда гД = 2Nm. Так как N = 2k, Д < 2N и Д = N, то r четно. Для z = r/2 имеем гД = Nm. Поскольку все числа последовательности а1 + + Y1,... ,аг + y1 различны, то p(ao, az) = N. Таким образом, получили, что ao, az неэквивалентны и ведут в одну и ту же вершину Vi . В этом случае программа неверно вычисляет функцию PartialMOD).

Итак, после шага г доказательства получили, что не менее г + 1 различных слов ведут в одну и ту же вершину (2N — 1)г-го уровня.

Рассмотрим шаг N. На этом шаге получим, что N +1 различных слова ведут в одну и ту же вершину vn . Среди этих слов обязательно существуют по крайне мере два неэквивалентных. Это доказывает, что Pn неверно вычисляет функцию PartialMODk. Теорема доказана.

Следствие 2. Для любого к > 0 существует частично определенная функция f € PartialMOD такая, что f € DOBDD2k+1 и f € DOBDD^.

Теорема 8. Для любого к существует бесконечно много n таких, что любая стабильная вероятностная OBDD, вычисляющая функцию PartialMOD)), имеет ширину не меньше 2k+1.

Доказательство. Предположим противное, то есть допустим, что существует стабильная вероятностная OBDD Pn ширины d < 2k+1, вычисляющая PartialMOD) с вероятностью 1/2 + е для фиксированного е € (0,1/2]. Обозначим

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

41

через Vj = (vj [1],..., Vj [d]) вектор распределения вероятностей вершин программы Pn на j-м уровне, где Vj [г] - вероятность нахождения программы Pn в i -й вершине j-го уровня. Вычислительный процесс программы Pn на входе а = а1,... ,an может быть описан следующим образом:

• программа Рп начинает вычисление из начального распределения вероятностей - вектора vo;

• на j-м шаге, 1 < j < n, Рп считывает значение входной переменной а0. и преобразует вектор Vj_i в вектор Vj = AVj_i, где A - стохастическая матрица размера (d х d), A = A(0), если aij = 0, и A = A(1), если aij = 1;

• После последнего n -го шага программа Рп принимает входной набор а

с вероятностью Paccept(a) = ^2 Vn[i], при этом Paccept(a) > 1/2 + £, если

i^Accept

PartialMODk(a) = 1, и Paccept(a) < 1/2 — £, если PartialMODk(a) = 0 .

Без ограничения общности полагаем, что Pn считывает переменные в естественном порядке xi,... ,xn . Будем рассматривать входные наборы an,...,ai такие, что

+ = а0а1, где а0 = 0^0, а1 = .

n_i i

Для i € {1,... ,n} обозначим через а0 распределение вероятностей после считывания а0, то есть а0 = An-i(0)Vo. В наборе а1 содержатся только единицы, поэтому вычислительный процесс после считывания а0 может быть описан цепью Маркова. В этом случае а0 - начальное распределение вероятностей для процесса Маркова, A(1) - переходная матрица.

Состояния цепи Маркова разделяются на эргодические и невозвратные (см., например, [29]). Эргодическое множество состояний - это множество, которое процесс никогда не сможет покинуть, если в него однажды попадет. Невозвратное множество - это множество, в которое процесс не может вернуться, если его покидает. Эргодическое состояние - это элемент эргодического множества. Невозвратное состояние - это элемент невозвратного множества.

Любая цепь Маркова обязательно содержит хотя бы одно эргодическое множество. Наличие невозвратных множеств необязательно. Если цепь Маркова содержит более чем одно эргодическое множество, то между этими множествами нет абсолютно никакого взаимодействия. Следовательно, мы имеем две или более изолированные цепи Маркова, объединенные вместе, которые мы можем изучать по отдельности. Если цепь Маркова состоит из единственного эргодического множества, то она называется эргодической цепью. Каждая эргодическая цепь либо регулярна, либо циклична.

Если эргодическая цепь регулярна, то достаточно высокая степень матрицы переходных вероятностей содержит только положительные элементы. Это означает, что из какого бы состояния процесс ни начался, по прошествии достаточно большого числа шагов он может оказаться в любом состоянии. Кроме того, существует предельный вектор вероятностей, не зависящий от выбора вектора начального распределения вероятностей (см., например, теорему 4.1.6 [29]).

Если цепь Маркова циклична, то она имеет период t, и все ее состояния разбиваются на t циклических множеств, t > 1. При выбранном начальном состоянии процесс движется по циклическим множествам в определенном порядке, возвращаясь в множество, содержащее начальное состояние, через каждые t шагов. По прошествии достаточного длительного времени процесс может находиться в любом состоянии циклического множества, соответствующего данному моменту. Следовательно, для каждого из циклических множеств степень t матрицы переходных вероятностей описывает регулярную цепь Маркова. К тому же, если эргодическая цепь циклична с периодом t, то она имеет не менее t состояний.

42

А.Ф. ГАЙНУТДИНОВА

Пусть Ci,...,Ci - циклические множества состояний марковской цепи с периодами ti,... ,ti соответственно. Обозначим через D наименьшее общее кратное чисел ti,... ,ti.

Лемма 1. Число D кратно 2k+1.

Доказательство. Предположим противное, то есть допустим, что D не кратно 2k+1. После каждых D шагов вычислительный процесс может находиться в любом состоянии множества, содержащего принимающее состояние, и степень D матрицы А(1) описывает регулярную цепь Маркова для этого множества. Из теории марковских цепей известно, что существует aacc такое, что lim агаСс = aacc,

Г—— Ж

где alacc - вероятность нахождения в принимающем состоянии после i-го шага. Следовательно, для любого е > 0 верно, что

WaFc - atD I < 2е

для достаточно больших r, г'.

Так как число D не кратно 2k+1, то оно может быть представлено в виде D = = m  2l (l < k, m нечетно). Для любого нечетного s число s  D не кратно 2k+1. Поскольку по предположению Pn вычисляет функцию PartialMCD^ с вероятностью 1/2 + е, то asamc 2 2 + > 1/2 + е, asam£ 2 2 < 1/2 — е. Это противоречит

неравенству 1 для достаточно большого s. Лемма доказана.

Лемма 2. Существует цикл с периодом t, кратным 2k+1.

Доказательство. Поскольку D кратно 2k+1, среди чисел ti,...,ti, являющихся степенями двойки, должно быть по крайней мере одно, кратное 2k+1.

Лемма доказана.

Поскольку существует цикл с периодом t > 2k+1, то ширина программы

Pn > 2k+1.

Теорема доказана.

Следствие 3. Для любого k > 0 существует частично определенная функция f G PartialMOD такая, что f G POBDD![y2+e и f </ POBDD2/2+£.

5. Коммуникационная сложность частично определенной функции PartialMOD^

OBDD является вычислительной моделью с хорошими математическими свойствами, позволяющими получать высокие нижние оценки для конкретных функций. Для доказательства нижних оценок для всюду определенных функций разработаны различные методы.

Метод Нечипорука [30] основан на том, что функция, имеющая большое количество различных подфункций, не может быть представима ветвящейся программой малого размера. Для ветвящихся программ этот метод переложил П. Пудлак в 1984 г. [19].

Пусть f : {0,1}n ^ {0,1} - функция, зависящая от переменных множества X = {x1,..., xn}, S С X. Фиксируя переменные из множества X \ S константами, получаем подфункции f , которые будем называть подфункциями функции f на множестве S .

Теорема 9 [19]. Пусть f - булева функция, множество X переменных которой разбито на m непересекающихся групп S1, .. ., Sm, Si(f) - количество

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

43

различных подфункций функции f на множестве Si. Тогда сложность ветвящейся программы, вычисляющей функцию f, не может быть меньше чем

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

Коммуникационная модель вычислений была предложена Яо в 1979 г. [31]. В этой модели имеются два вычислителя A и B, которые совместно хотят вычислить значение функции f : {0,1}" ^ {0,1} на входном наборе a G {0,1}". Пусть X = {xi,... ,Х"} - множество переменных функции f, X = {Xa,Xb} -разбиение множества X на две части Xa и Xb = X \ Xa . Переменные из множества Xa поступают на вход вычислителя A, переменные из множества Xb - на вход вычислителя B. Для того чтобы найти значение функции на входе a, вычислителям необходимо обмениваться информацией друг с другом. Алгоритм вычисления функции на данной модели называется протоколом. Мерой сложности протокола является количество битов, которые вычислителям необходимо переслать друг другу до того момента, когда вычислитель B сможет выдать результат -значение f (a). Односторонний коммуникационный протокол - это протокол, организованный следующим образом. Вычислитель A начинает вычисление, передает необходимую информацию вычислителю B , после чего вычислитель B выдает ответ. Сложность одностороннего протокола - это максимальное по всем входным наборам число битов, переданных от A к B . Односторонней коммуникационной сложностью CCi(f) функции f называется сложность наилучшего одностороннего коммуникационного протокола, вычисляющего функцию f .

Теорема 10 [32]. Пусть f - всюду определенная булева функция, D - детерминированная OBDD, вычисляющая функцию f. Тогда Width(P) > 2CCl(f).

Доказательство теоремы основано на том, что вычисление ветвящейся программой P значения функции f на входном наборе а можно рассматривать как односторонний коммуникационный протокол. Разобъем OBDD горизонтально на две части Pi и P2. Считаем, что вычисления в верхней части программы производится вычислителем A, в нижней части - вычислителем B. Для входного набора а вычислитель A начинает вычисление из начальной вершины. После того, как A произвел вычисление на своей части Pi программы, вычислитель B продолжает вычисление из той вершины, в которой завершил работу вычислитель A. Таким образом, номер вершины, в которой завершил работу вычислитель A, является сообщением, которое A должен передать B , чтобы тот смог продолжить работу.

Перечисленные выше методы получения нижних оценок хорошо работают для всюду определенных функций. Однако при рассмотрении частично определенных функций они в большинстве своем неприменимы. Ниже мы показываем, что односторонняя коммуникационная сложность функции PartialMODjk равна единице для любого к. При этом, как доказано в предыдущем разделе, ширина OBDD для этой функции растет с увеличением параметра к. Таким образом, доказательство нижних оценок для частично определенных функций требует привлечения другой

техники.

44

А.Ф. ГАЙНУТДИНОВА

Теорема 11. Для любого разбиения переменных X = {Xa,Xb } выполняется равенство

CCi(PartialMODk) = 1.

Доказательство. Опишем односторонний коммуникационный протокол для вычисления функции PartialMOD^. Пусть X = {Xa,Xb} - произвольное разбиение множества переменных, на вход вычислителя A поступают значения переменных из множества Xa , на вход вычислителя B - из множества Xb . Вычислитель A вычисляет значение а (число единиц в своем наборе) и передает вычислителю B значение 1, если 0 < а < 2к (mod 2k+1), и значение 0, если а> 2к (mod 2k+1) или а = 0 (mod 2k+1).

Вычислитель B считает значение b

и выдает ответ res = 1 тогда и только тогда, когда а < 2к (mod 2k+1) и b > 2к (mod 2k+1) либо а > 2к (mod 2k+1) и b < 2к (mod 2k+1). Сложность построенного протокола равна 1. Теорема доказана.

6. Сравнительная сложность по ширине для вероятностных и детерминированных OBDD, вычисляющих частично определенные функции

В этом разделе исследуется сравнительная сложность детерминированных OBDD и вероятностных OBDD, вычисляющих с ограниченной ошибкой. В [27] рассмотрено семейство унарных проблем отделимости (promise problems) UP(p). Авторы показывают, что любая проблема из данного семейства может распознаваться с ограниченной ошибкой вероятностным автоматом с двумя состояниями. При этом для классического детерминированного, а также для недетерминированного автомата, распознающего данную проблему, количество состояний увеличивается в ростом параметра p. На основе указанного семейства унарных проблем отделимости, определим следующую булеву функцию. Пусть е € (0, \/Б/2 — 1), p € (1/2 + е, 1). Тогда положим

{1, если p#l(a) > 1/2 + е,

0, если p#l(a) < 1/2 — е,

* в противном случае,

где а € {0,1}", и функция не определена на наборах, отображающихся в *.

Теорема 12. Для любых p € (1/2,1) функция fp,e вычислима с ограниченной ошибкой вероятностной OBDD ширины 2.

Доказательство. Определим вероятностную OBDD P" следующим образом:

P" = (vo,T, Accept),

где vo = (1,0), Accept = {so}, T = {{i, A(0), A(1))}"=1, где A(0) = ^ ^ , A(1) =

. Программа P" начинает работу в состоянии so. При считывании

нуля программа выполняет тождественное преобразование, при считывании единицы программа остается в состоянии so с вероятностью p и переходит в состояние s1 с вероятностью 1 — p. По построению очевидно, что Pn вычисляет функцию f\’£ с ограниченной ошибкой. Теорема доказана.

p0 1 — p 1

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

45

Теорема 13. Для любых е € (0, \/Б/2 — 1) существует бесконечно много p € (1/2 + е, 1) таких, что детерминированная OBDD, вычисляющая функцию fp,e, имеет ширину, большую чем

Ц2+е /+2.

Доказательство. Предположим противное. Обозначим

w=1og(}+е) / Цтг!) +2

и допустим, что существует детерминированная OBDD Pn, вычисляющая функцию f П и имеющая ширину, меньшую или равную w. Обозначим Ap = = |bgp(1/2 + e)J, Rp = |"logp(1/2 — е)[. Для любых j < Ap выполняется неравенство pj > 1/2 + е, и для любых j > Rp выполняется неравенство pj < 1/2 — е. Обозначим d = Rp — Ap.

Пусть a, a' € {0,1}k (k < n) - произвольные слова. Докажем следующую лемму.

Лемма 3. Для того чтобы два различных слова a, a' € {0, 1}к были k -неэквивалентными относительно функции fр,е, необходимо и достаточно, чтобы выполнялись условия

• |#i(a) — #i(a')| > d;

• min(#i(a), #i(a')) < Ap.

Доказательство. Без ограничения общности полагаем #i(a') > #i(a). Установим достаточность. Предположим, что выполняются условия леммы. Покажем, что тогда слова a, а' являются k-неэквивалентными. Прежде всего заметим, что если выполняются #i(a') > Rp и #i(a) < Ap, то строки a, a' неэквивалентны, так как в этом случае для слова y = 0 .^. 0 выполняются равенства f^(aY) = 1

n — k

и fn,e(a'y) = 0.

Пусть #i(a') < Rp. Обозначим Д = Rp — #i(a') и рассмотрим слово y = = 0 — 0 1 .^. 1. Для слова a'Y выполняется соотношение #i(a'Y) = #i(a') +

n — #1(a') — A A

+ #i(y) = Rp, а значит, fp(a'Y) = 0.

Рассмотрим слово aY. Поскольку #i(a') — #i(a) > d и #i (y) = Д = Rp —

— #i(a'), то #i(aY) = #i(a) + #i(Y) < #i(a') — d + #i(Y) = #i(a') — d + Rp —

— #i(a') = Rp — d < Ap. Следовательно, f£(aY) = 1.

Докажем необходимость. Предположим, слова a, a' являются k -неэквивалентными, но при этом #i(a') — #i(a) < Rp — Ap либо #i(a) > Ap. Согласно определению неэквивалентности слов существует слово y € {0,1}n—k, которое различает слова a, a'. По определению, функция fn£ принимает значение 1 на наборах, в которых число единиц не больше Ap, и принимает значение 0 на наборах, в которых число единиц не меньше Rp. Поэтому fn(aY) = 1, fp,e(a'Y) = 0, что эквивалентно #i(a) + #i(y) < Ap и #i(a') + #i(y) > Rp . Отсюда получаем (#i(a')+#i(y)) —

— (#i(a) + #i(y)) > Rp — Ap. Следовательно, #i(a') — #i(a) > Rp — Ap, а это

противоречит нашему предположению. Второе условие леммы очевидно должно выполняться для неэквивалентных слов. Лемма доказана.

Пусть Г = {Yj : Yj € {0,1}w—i,Yj = <0..^0 1_.A„j = 0,...,w — 1}. Будем

w—i—j j

проводить доказательство по шагам. На шаге i, i = 1, 2,... , будем рассматривать

46

А.Ф. ГАЙНУТДИНОВА

уровень с номером (w — 1)i. Покажем, что если ширина каждого уровня меньше или равна w, то программа Pn неверно вычисляет функцию fp,e . Будем проводить доказательство индукцией по i.

Базис индукции. На шаге i = 1 после считывания (w — 1) символа входного слова согласно принципу Дирихле найдутся два различных слова 01, 02 € Г такие, что вычислительные пути, соответствующие этим словам, ведут в одну и ту же вершину (w — 1)-го уровня. Обозначим эту вершину (w — 1)-го уровня через vW-1. Положим di = |# 1(оi) — #1(02)1, li =min(#i(oi), #1(02)). Очевидно, что di > 1, li < w — 2.

На шаге i = 2 на уровне 2(w—1) согласно принципу Дирихле существует верши-

W— 1

на, в которую ведут вычислительные пути, исходящие из вершины v1 , которые

соответствуют различным словам 71, 72 € Г. Обозначим эту вершину 2(w — 1)-го уровня через v^w 1). Таким образом, в вершину v^w 1) ведут вычислительные пути, соответствующие различным словам 0171, 0172, 0271, 0272. Обозначим d2 =

= maxi,j,i',j'e{1,2}(l#1 (0iYj) — #1(°1’Yj'l2 = mini,je{1,2}(#1(0iYj)). Поскольку Y1 и Y2 различны, очевидно, что d2 > 2, l < 2(w — 2).

Индукционный шаг. Пусть на уровне с номером (i — 1)(w — 1) существует вер-

шина v# 1 , в которую ведут пути, соответствующие словам 01,... ,0ji-t.

При этом di__1 - максимальная разница в числе единиц между этими словами,

li_1 - минимальное число единиц в этих словах. На шаге i рассматриваем уро-

вень с номером i(w — 1). По принципу Дирихле существуют два различные слова

/

Y, Y' € Г такие, что вычислительные пути, выходящие из вершины v# 1 ,

которые соответствуют этим словам, ведут в одну и ту же вершину (i(w — 1))-го

уровня. Обозначим эту вершину через vi(w 1). Рассмотрим слова 01Y,... ,0ji_1 y,

01Y l,...,0ji-i Y'.

Поскольку 0 < #1(y), #1(y') < w — 1 и #1#) = #1(y') , то di > d- + 1, li < i(w — 2).

Таким образом, после к шагов имеем, что dk > к, lk < k(w — 2). Применяя лемму 3, получаем, что если w < Ap/d +2, то в одну и ту же вершину приведут вычислительные пути, соответствующие неэквивалентным словам, а следовательно, программа Pn неправильно вычисляет функцию fj#. Получили противоречие. Имеем, что

iog(1/2 + £)/ > 1

при £ € (0, #5/2 — 1), и значение этого выражения растет с уменьшением значения £. Теорема доказана.

Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (проект № 14-07-00878).

Summary

A.F. Gainutdinova. Complexity of Branching Programs for Partial Functions.

In this paper we investigate a model of computation of Boolean functions - Ordered Binary Decision Diagrams (OBDD). We consider partial functions and complexity of their computation in different variants of OBDD (deterministic, probabilistic, and quantum). The interested complexity measure is a width of OBDD. It is known that for total functions, bounded-error probabilistic OBDDs can be more effective than the deterministic ones, and this gap cannot be more than exponential. The similar result holds when we compare quantum and deterministic models. In this paper it is shown that for partial functions the gap between

СЛОЖНОСТЬ ВЕТВЯЩИХСЯ ПРОГРАММ...

47

quantum and classical, and between probabilistic and deterministic OBDDs can be more than exponential. A partial function is presented which is computed without an error by a quantum OBDD of width 2. Deterministic and bounded-error probabilistic OBDDs for this function must have widths exponentially depending on the parameter of the function. An infinite family of partial functions is also presented such that each function from this family is computed by a bounded-error probabilistic OBDD of width 2. There exists an infinite subset of functions from this family such that a width of a deterministic OBDD for each function from this subset increases indefinitely.

Keywords: Ordered Binary Decision Diagrams, partial functions, quantum computation, probabilistic OBDDs, deterministic OBDDs, complexity.

Литература

1. Шоломов Л.А. Основы теории дискретных логических и вычислительных устройств. -

M. : Наука, 1980. - 400 с.

2. Рабин М. Вероятностные автоматы // Кибернетический сб. - М.: Мир, 1964. -Вып. 9. - С. 123-141.

3. Фрейвалд Р.В. Об увеличении числа состояний при детерминизации конечных вероятностных автоматов // Автоматика и вычисл. техника. - 1982. - № 3. - С. 39-42.

4. Ablayev F., Karpinski M. On the power of randomized branching programs // Proc. ICALP’96, LNCS 1099. - Springer, 1996. - P. 348-356.

5. Мамин Ю.И. Вычислимое и невычислимое. - М.: Сов. радио, 1980. - 128 с.

6. Feynman R. Simulating physics with computers // Int. J. Theor. Phys. - 1982. - V. 21, No 6,7. - P. 467-488.

7. Nielsen M.A., Chuang I.L. Quantum Computation and Quantum Information. -Cambridge: Cambridge Univ. Press, 2000. - 700 p.

8. Shor P. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer // SIAM J. Sci. Statist. Comput. - 1997. - V. 26, No 5. - P. 1484-1509.

9. Grover L. A fast quantum mechanical algorithm for database search // Proc. STOC’96. -

N. Y: ACM New York, 1996. - P. 212-219.

10. Goldreich O. On promise problem: A survey // Goldreich O., Rosenberg A.L., Sel-man A.L. (eds.) Shimon Even Festschrift. LNCS 3895. - 2006. - - P. 254-290.

11. Ambainis A., Yakaryilmaz A. Superiority of exact quantum automata for promise problems // Inf. Process. Lett. - 2012. - V. 112, No 7. - P. 289-291.

12. Wegener I. Branching Programs and Binary Decision Diagrams. - SIAM, 2000. - 411 p.

13. Lee C.Y. Representation of switching circuits by binary-decision programs // Bell Syst. Tech. J. - 1959. - V. 38, No 4. - P. 985-999.

14. Akers S.B. Binary decision diagrams // IEEE Trans. Comput. - 1978. - V. C-27, No 6. -

P. 509-516.

15. Кузьмин В.А. Оценка сложности реализации функций алгебры логики простейшими видами бинарных программ // Методы дискретного анализа в теории кодов и схем: Сб. науч. тр. - Новосибирск: Ин-т математики СО АН СССР, 1976. - Вып. 29. -

C. 11-39.

16. Mazek W. A fast algorithm for the string editing problem and decision graph complexity: Master’s Thesis. - Massachusetts Institute of Techonology, 1976.

17. Cobham A. The recognition problem for the set of perfect squares // Proc. 7th Symposium on Switching and Automata Theory (SWAT). - 1996. - P. 78-87.

48

А.Ф. ГАЙНУТДИНОВА

18. Pudlak P., Zak S. Space complexity of computations: Tech. Report. - Prague: Math. Inst., CSAV, 1983. - 30 p.

19. Pudlak P.A. A Lower Bound on Complexity of Branching Program // Proc. of the Mathematical Foundations of Computer Science. - Springer-Verlag, 1984. - P. 480-489.

20. Ablayev F. Randomization and nondeterminism are incomparable for polynomial ordered binary decision diagrams // Proc. of the 24th Int. Coll. on Automata, Languages, and Programming (ICALP). LNCS 1256. - 1997. - P. 1965-202.

21. Ablayev F., Karpinski M. A lower bound for integer multiplication on randomized read-once branching programs // Electronic Colloquium on Computational Complexity, Report No 11. - 1998. - URL: http://eccc.hpi-web.de/report/1998/011/, свободный.

22. Ablayev F., Gainutdinova A., Karpinski M. On Computational Power of Quantum Branching Programs // Proc. 13th Int. Symposium “Fundamentals of computation theory” FCT 2001, Riga, Latvia, LNCS 2138. - 2001. - P. 59-70.

23. Баррингтон Д. Ветвящиеся программы ограниченной ширины, имеющие полиномиальную сложность, распознают в точности языки из NC1 // Кибернетический сб. -М.: Мир. 1991. - Вып. 28. - С. 94-113.

24. Nakanishi M., Hamaguchi K., Kashiwabara T. Ordered quantum branching programs are more powerful than ordered probabilistic branching programs under a bounded-width restriction // Proc. 6th Annual Int. Conf. on Computing and Combinatorics, COCOON’2000. LNCS 1858. - Springer-Verlag, 2000. - P. 467-476.

25. Sauerhoff M., Sieling D. Quantum branching programs and space-bounded nonuniform quantum complexity // Theor. Comp. Sci. - 2005. - V. 334, No 1-3. - P. 177-225.

26. Гайнутдинова А.Ф. О сравнительной сложности квантовых и классических бинарных программ // Дискретная матем. - 2002. - Вып. 14, № 3. - C. 109-121.

27. Geffert V., Yakaryilmaz A. Classical automata on promise problems // Descriptional Complexity of Formal Systems. 16th Int. Workshop, DCFS 2014 Proc. LNCS 8614. -2014. - P. 126-137.

28. Ablayev F., Gainutdinova A., Karpinski M, Moore C., Pollette C. On the computational power of probabilistic and quantum branching program // Information and Computation. - 2005. - V. 203, No 2. - P. 145-162.

29. Kemeny J.G., Snell J.L. Finite Markov Chains. - D. Van Nostrand Comp. Inc., 1960. -

210 p.

30. Нечипорук Э.И. Об одной булевской функции // Докл. АН СССР. - 1966. - Т. 169, № 4. - С. 765-766.

31. Yao A.C. Some Complexity Questions Related to Distributed Computing // Proc. 11th STOC. - V. 14. - P. 209-213.

32. Wegener I. Communication Complexity and BDD Lower Bound Techniques // Numbers, Information and Complexity. - Springer-Verlag, 2000. - P. 615-628.

Поступила в редакцию

25.07.14

Гайнутдинова Аида Фаритовна - кандидат физико-математических наук, доцент кафедры теоретической кибернетики, Казанский (Приволжский) федеральный университет, г. Казань, Россия.

E-mail: aida.ksu@gmail.com