МАТЕМАТИКА
Вестн. Ом. ун-та. 2012. № 4. С. 36-40.
УДК 510.52 А.Н. Рыбалов
О ГЕНЕРИЧЕСКОЙ СЛОЖНОСТИ ПРОБЛЕМЫ ИСТИННОСТИ БУЛЕВЫХ ФОРМУЛ*
Рассматривается генерический подход к алгоритмическим проблемам, предложенный в 2003 г. А.Г. Мясниковым, А.В. Каповичем, П. Шуппом и В. Шпильрайном. В рамках этого подхода алгоритмическая проблема рассматривается не для всего множества входов (сложность в худшем случае), а для множества «почти всех» входов. Термин «“почти все” входы» уточняется при помощи введения естественной меры на множестве входных данных. Изучается генерическая сложность классической проблемы истинности булевых формул. Известно, что эта проблема является полной для класса PSPACE, что означает отсутствие полиномиального алгоритма для ее решения при условии несовпадения классов P и PSPACE. Доказывается, что проблема истинности булевых формул остается вычислительно трудной и в генерическом случае.
Ключевые слова: генерическая сложность, проблема истинности булевых формул.
Введение
Теория алгоритмов в классической постановке изучает алгоритмические проблемы в худшем случае, рассматривая поведение алгоритмов на всём множестве входов. В Computer Science исследуется также сложность алгоритмов в среднем, при этом алгоритм может хорошо (полиномиально) работать на большинстве входных данных и плохо (экспоненциально) на очень редких входах. Генерический подход в применении к алгоритмическим проблемам был впервые предложен в 2003 г., в статье [1]. В рамках этого подхода изучается поведение алгоритмов на множестве «почти всех» входов (это множество называется генерическим), игнорируя поведение алгоритма на остальных входах, на которых алгоритм может работать медленно или вообще не останавливаться. Такой подход имеет приложение в криптографии, где требуется, чтобы алгоритмические проблемы были трудными для «почти всех» входов. В отличие от сложности в среднем, генерический подход применим и для алгоритмически неразрешимых проблем. Для многих классических алгоритмически неразрешимых проблем алгебры доказано, что они разрешимы в генерическом случае. Также в работе [2] установлено, что проблема остановки для машин Тьюринга с полубесконечной лентой генерически разрешима.
Значительный интерес представляет генерическая вычислимость и сложность классических проблем Computer Science. К таковым относится проблема истинности булевых формул. Известно ([3]), что эта проблема в худшем случае является полной в классе PSPACE относительно полиномиальных сводимостей. Это означает, что для нее не существует полиномиальных алгоритмов решения в худшем случае при условии несовпадения классов P и PSPACE (это неравенство следует, в частности, из неравенства P и NP). Целью данной статьи является изучение генерической сложности проблемы истинности булевых формул. С помощью методов работы
[4] будет доказано, что если эта проблема разрешима за полиномиальное время генерически (т. е. для почти всех входов), то для ее решения на всех входах существует вероятностный полиномиальный алгоритм. Большинство исследователей сейчас считает, что любой вероятностный полиРабота выполнена в рамках ФЦП «Научные и научно-педагогические кадры инновационной России» (субсидия, соглашение с Минобрнауки РФ № 14.В37.21.0359 и 0859).
© А.Н. Рыбалов, 2012
номиальный алгоритм может быть эффективно дерандомизирован, т. е. может быть построен полиномиальный детерминированный алгоритм, решающий ту же задачу. Хотя этот факт пока еще не доказан, имеются серьезные результаты в пользу него (см.: [6]). Таким образом, основной вывод, сделанный в данной статье, - проблема истинности булевых формул остается вычислительно трудной и в генерическом случае.
Генерическая вычислимость и сложность
Пусть А есть множество всех входов для некоторой алгоритмической проблемы, а 5 - некоторое его подмножество.
Рассмотрим последовательность:
15 п А |
Р (5 ) = К1 ■
где Ап - множество всех входов проблемы размера п . Если случайно и равновероятно генерировать входы размера п, то вероятность попасть в 5 равна рп (5) . Определим
асимптотическую плотность множества 5 как предел (если он существует):
М(5) = НшРп (5).
п^ю
Если предел не существует, то считаем, что асимптотическая плотность неопределена.
Множество входов 5 с А называется генерическим, если ¡и( 5) = 1, и пренебрежи-мым, если ¡и(5) = 0 . Непосредственно из определения следует, что 5 является генерическим тогда и только тогда, когда А \ 5 пренебрежимо. Понятие генерического множества формализует интуитивное понятие множества «почти всех» входов в том смысле, что при увеличении размера входа вероятность того, что случайно сгенерированный вход попадет в генерическое множество, стремится к 1. Если последовательность рп (5) стремится к 0 экспоненциально быстро, т.е. существуют константы С > 0 и 0 < с < 1 такие, что для любого п
Рп (5) < С С , то множество 5 называется строго пренеб-режимым. Строго пренебрежимое множество существенно меньше просто пренебре-жимого в том смысле, что никакое (не строго) пренебрежимое множество не может содержаться в строго пренебрежимом. Множество 5 называется строго генерическим, если А \ 5 строго пренебрежимо.
Алгоритмическая проблема 5 с А (строго) генерически полиномиально разрешима, если существует множество О с А такое, что
1) О - (строго) генерическое;
2) О - разрешимое за полиномиальное время;
3) 5 п О - разрешимое за полиномиальное время.
Генерический алгоритм, решающий проблему 5, работает следующим образом. Сначала определяет, принадлежит ли вход генерическому множеству. Если да, то проверяет принадлежность входа 5 . Если нет, то отвечает «НЕ ЗНАЮ». Такой алгоритм правильно решает проблему 5 на почти всех входах.
Представление булевых формул с кванторами
Под проблемой истинности булевых формул понимается следующая проблема. На входе имеется булева формула с кванторами следующего вида:
Ф = Ql Х&2 X2...QnXnФ, где Q¡ е{3, V} , а ф - бескванторная булева формула от переменных х1,...,хп , содержащая только конъюнкции, дизъюнкции и отрицания переменных. Нужно определить, является ли эта формула истинной при ес-тесвенной интерпретации кванторов по множеству {истина, ложь}.
Пусть ф - бескванторная часть, некоторой формулы Ф. Можно естественным образом сопоставить ф , некоторое бинарное дерево Тф . Внутренние вершины Тф пометим символами V или л. Листьям дерева Тф сопоставим булевы переменные или их
отрицания. Причем так, чтобы по дереву Тф можно было восстановить бескванторную формулу ф . Это даст нам взаимнооднозначное соответствие между формулами ф и деревьями Тф. Если Тф имеет п листьев, то
количество переменных, от которых зависит дерево, не превосходит п, поэтому можно считать, что все переменные из Тф принадлежат множеству х1,...,хп и ф зависит от этих переменных.
Таким образом представление формулы Ф состоит из бинарного дерева Тф и кван-
торной приставки на все п переменных ф . Мы будем отождествлять формулу Ф с её представлением. Размер формулы Ф - это количество листьев дерева Тф. Обозначим через Е - множество всех формул и через Еп - множество всех формул размера п .
Лемма 1.
Еп| = 22п-1(2п )пСп-1,
где Сп-1 =-
1 (2(п -1)
п I п -1
- это (п -1 )-ое число
Каталана.
Доказательство. Любая формула размера п , состоит из п кванторов и бинарно-
го дерева с п листьями и п-1-ой внутренней вершиной. Существует 2п вариантов выбрать кванторы (V , 3 ). Существуют Сп-1 неизоморфных деревьев с п листьями, где
С 1 Г 2(п -1) ^ 1 К
Сп-1 = —I I - это п-1-ое число Катала-
п ^ п -1 )
на. Каждая внутренняя вершина может быть помечена либо V , либо л (всего п -1
таких вершин - 2п-1 вариантов разметки). Каждый лист дерева может быть какой-нибудь переменной либо ее отрицанием, отсюда 2п способов разметки каждого листа дерева. Так как всего п листьев, то получаем (2п)п вариантов разметки листьев. В
итоге получается 22п-1(2п)пСп-1 различных формул размера п . Лемма доказана.
Для любой формулы Ф определим следующие множества:
АЖ(Ф) = {Ф лТ, Т - произвольная формула }; Ш(Ф) = {Ф V Т, Т - произвольная формула }; АЖ(Ф)+ = {Ф л Т, Т - произвольная истинная формула};
ОЛ(Ф)- = {Ф V Т, Т - произвольная ложная формула}.
Лемма 2. Для любой формулы Ф множества АЛ©(Ф)+ и ОЛ(Ф)- не строго пре-небрежимы. Более того,
|АЯО(Ф)+пЕп| > 0,5
Еп| > (32п)к
для всех п > к , где к - размер формулы Ф . Аналогичная оценка верна и для ОЛ(Ф)- .
Доказательство. Докажем это для АЫО(Ф)+ , для ОЛ(Ф)_ утверждение доказывается аналогично. Допустим формула Ф имеет размер к. Рассмотрим все формулы вида:
а х1--^хп оли, (1)
где ф - бескванторная часть формулы Ф, от первых к переменных из х1... хп, а / -произвольная бескванторная формула размера п - к, не содержащая переменных, содержащихся в ф. Так как множества переменных формул ф и / различны, то мы можем записать каждую формулу типа (1) в виде ФлТеАЛ©(Ф) . Таким образом, множество таких формул (обозначим его 5) является подмножеством АЛ©(Ф)п.
Количество формул типа (1) равно количеству всех возможных бескванторных час-
тей с (п - к) кванторами для переменных формулы / (кванторы для переменных
формулы ф зафиксированы). Отсюда
|£| = 2(п-к) • 2п-к-1 • (2п)п-кСп-к_1 =
= 22(п-к)-1 • (2п)п-кСп-к-і.
Поэтому имеет место оценка:
|AND(Ф)„| ^ |5п AND(Ф)n\ = =
|№п| _ № "|^пГ
= 22 п-2 к-1 • (2п) п-кСп-к-1
22 п-1 • (2п)пСп-1
Оценим сначала часть без чисел Ката-лана:
1
1
22к • (2п)к (8п)к ‘
Теперь оценим отношение чисел Ката-
лана:
С
п -1 = р
С
С
Р-к
Р + 1
Ср Р - к + 1
2(Р - к) р - к
2 Р Р
Р! 2(р - к)...(Р - к +1)
(Р - к)! 2Р...(Р +1)
(р...(р - к +1))2 Г р...(р - к +1) У 1
2р...(2(р - к) +1) ^ 2р...(2р - к +1)) 22к Таким образом, имеем |AND(Ф )п| _1______1_
И ' '
(8п)к 22к (32п)к' Докажем теперь, что АКО(Ф)п = АКО(Ф)+ и АКО(Ф)-п.
Если Ф лТ е АЫБ(Ф)п, то формула Ф л —Т е АЛ©(Ф)п . Действительно, если
Т = Ql x¡1...Q(,
то
п-к ) ХІ(п п -к )
/(ХІ1,..., ХІ(п-к)) ,
'(п-к) Х І( п-к)
/(ХІ1’...’ Х(п-к)) ,
—Т = 01 Х4...б,
где З = У , V = 3. Дерево для — / можно получить по правилам Де Моргана, заменив Л на V для внутренних вершин (и V на V) и заменив каждую атомарную формулу на её отрицание. Размер дерева сохранится. Это означает, что для каждой формулы из
AND(Ф)+ найдется уникальная формула из AND(Ф)-, и наоборот. Это означает, что |А^(Ф)+| = ^^(Ф)-|, поэтому
= --|AND(Ф)„|.
В итоге
доказана.
^(Ф )+п 0,5
И
(32п)к
Лемма
Основной результат
Теперь все готово, чтобы доказать основной результат статьи.
Теорема. Если существует строго генерическое множество формул, на котором проблема истинности булевых формул разрешима за полиномиальное время, то существует вероятностный полиномиальный алгоритм, разрешающий эту проблему на всём множестве формул.
Доказательство. Допустим, существует генерический полиномиальный алгоритм А , разрешающий проблему истинности булевых формул на некотором строго генерическом множестве 5. То есть существуют константы D > 0 и а > 0 такие, что для любого п
|(№\ 5)п №п| <
№ 2ап
По лемме 2:
' п
| №п \ 51 < _0_
(2)
|AND(Ф)+
№
0,5
(32п)к
(3)
Построим вероятностный полиномиальный алгоритм В, разрешающий алгебру Тарского на всём множестве формул. Алгоритм В будет работать следующим образом (для формулы Ф размера к):
1) равномерно генерируется случайная формула Т размера п - к (полиномиальный алгоритм генерации будет описан ниже);
2) проверяется принадлежность формул Ф л Ти Ф V Т строго генерическому множеству 5 (вероятность этого достаточно велика, доказательство смотрите ниже); если обе принадлежат 5, то с помощью алгоритма А проверяем их истинность;
3) если ФлТ- истина, то и исходная формула Ф - истинна; выдаем ответ «ИСТИННА»;
4) если ФvТ - ложна, то Ф - тоже ложна; выдаем ответ «ЛОЖНА»;
5) в противном случае и в случае, если хотя бы одна из формул не лежит в 5 , выдаем ответ «ЛОЖНА».
Заметим, что алгоритм выдает правильный ответ в пунктах 3 и 4, а в пункте 5 может выдаваться неправильный ответ. Докажем, что вероятность выдачи правильного ответа больше 1/2 при достаточно большом размере формулы Ф - это докажет корректность вероятностного алгоритма. Для этого нужно оценить снизу вероятность
попадания формул из множеств АЫО(Ф)+ и ОЯ(Ф)~ в строго генерическое множество 5. Сделаем это для множества AND(Ф)+, для ОЛ(Ф)- доказательство аналогично. В оценках (2) и (3) возьмём для определённости п = к2 . Имеем
|№п1
|AND(Ф)n
1№1
0,5
(32к2)к '
Отсюда вероятность непопадания: |AND(Ф)n + | ,|№п \ 51 =
|№п1 ' ^п!
| р- \ 51 < (32^ <
|AND(Ф)n
0,5
(6к )2к 22к •1°В2(6 к)
< 2D • = 2D •-------------5—
2а'к 2а'к
Значит,
к
-> 0.
-^0.
|А^О(Ф)п+|
Откуда вероятность попадания в строго генерическое множество
|А^(Ф )п +|
15 п Fn|
стремится к 1, что доказывает корректность вероятностного алгоритма.
Осталось доказать полиномиальность алгоритма. Полиномиальность пунктов 2-5 следует из предположения, что алгебра Тарского разрешима за полиномиальное время на строго генерическом множестве 5. Для доказательства полиномиальности пункта 1 приведем вероятностный полиномиальный алгоритм равномерной генерации формул размера п :
• Генерируем некоторую последовательность (далее «слово») из п символов а и п -1 символов р ;
• Делаем такой циклический сдвиг этого слова, чтобы оно начиналось на символ а и заканчивалось на р . Этому слову соответствует обратная польская запись для скобочного выражения от символов а;
• По слову ищём скобочное выражение,
следующим образом: пробегаем по всем
символам слова, если встречаем символ а, то помещаем его в стек. Если встречаем символ р , то извлекаем 2 элемента из стека, затем добавляем между ними символ р , заключаем их в скобки и помещаем в стек. Если по ходу процедуры стек окажется пуст, то переходим к шагу 2. Если все пройдёт нормально и мы дойдём до конца слова и при этом в стеке останется всего 1 элемент, то искомым скобочным выражением и будет этот элемент. Иначе - переходим к шагу 2;
• Вместо букв р подставляем V или л
- равновероятно;
• Каждую букву а в слове заменяем на переменную либо ее отрицание (переменные тоже выбраем равновероятно из мно-
ак
2
жества Х1,...,Хп);
• Для каждой переменной из множества х1,...,хп равновероятно генерируем кванторы: 3 или V .
Корректность этого алгоритма и равномерность генерации формул следует из того, что существует взаимно-однозначное соответствие между обратной польской записью из п символов а и п -1 символов р и бинарным деревом с п листьями, которые помечены символом а (см.: [5]).
Итак, в предположении существования полиномиального строго генерического множества, на котором проблема истинности булевых формул разрешима за полиномиальное время, мы построили вероятностный полиномиальный алгоритм, разрешающий эту проблему на всем множестве формул. Что и требовалось доказать.
ЛИТЕРАТУРА
[1] Karpovich A. V., Myasnikov A. G., Schupp P., Shpilrain V. Generic-case complexity, decision problems in group theory and random walks // J. Algebra. 2003. Vol. 264. № 2. P. 665-694.
[2] Hamkins J.D., Miasnikov A. The halting problem is decidable on a set of asymptotic probability one // Notre Dame Journal of Formal Logic. 2006. Vol. 47. № 4. P. 515-524.
[3] Papadimitriou C. H. Computational Complexity. Addison-Wesley, 1994.
[4] Рыбалов А. Генерическая сложность теорий первого порядка // Сибирские электронные математические известия. 2011. Т. 8. С. 168-178.
[5] Спивак А. Числа Каталана // Квант. 2004. № 3. С. 2-10.
[6] Impagliazzo R., Wigderson A. P=BPP unless E has Subexponential Circuits: Derandomizing the XOR Lemma // Proceedings of the 29th STOC. 1997. Р. 220-229.