Серия «Математика»
2012. Т. 5, № 4. С. 79-94
Онлайн-доступ к журналу: http://isu.ru/izvestia
УДК 519.6
Алгоритмы построения декомпозиционных множеств для крупноблочного распараллеливания 8ЛТ-задач *
А. А. Семенов ИДСТУ СО РАН
О. С. Заикин ИДСТУ СО РАН
Аннотация. В работе приводятся алгоритмы построения декомпозиционных множеств, используемых для крупноблочного распараллеливания ЯЛТ-задач и их последующего решения в распределенных вычислительных средах. В основе предлагаемых алгоритмов лежит вычислительная схема метода Монте-Карло.
Ключевые слова: метод Монте-Карло; дискретные функции; ЯЛТ-задачи; крупноблочный параллелизм.
Напомним, что БЛТ-задачами [1] называются задачи поиска решений булевых уравнений вида КНФ=1, где КНФ — конъюнктивная нормальная форма. В своей общей постановке БЛТ-задачи являются NP-трудными. Однако к ним эффективно сводится обширный класс комбинаторных проблем, имеющих важные практические приложения. Поэтому разработка вычислительных алгоритмов решения БЛТ-задач является актуальным и интенсивно развивающимся направлением исследований. В последние несколько лет резко вырос интерес к разработке алгоритмов решения БЛТ-задач в параллельных и распределенных вычислительных средах. Свидетельством этого являются регулярно проводимые с 2008 года конкурсы параллельных БЛТ-решателей [2]. Существующие на сегодня параллельные алгоритмы решения БЛТ-задач
1. Введение
* Работа выполнена при финансовой поддержке РФФИ (грант 11-07-00377-а) и Совета по грантам Президента РФ для поддержки молодых российских ученых (проект СП-1855.2012.5).
можно условно разделить на два семейства: алгоритмы, использующие мелкозернистую (fine-grained) концепцию параллелизма, и алгоритмы, использующие крупноблочный (coarse-grained) подход. В мелкозернистых решателях происходит интенсивный обмен накапливаемыми конфликтными ограничениями между вычислительными узлами, поэтому данный подход допускает эффективную реализацию лишь в средах с быстрым межпроцессорным взаимодействием (многоядерные процессоры и кластеры) [3, 5]. При крупноблочном распараллеливании можно использовать грид-системы, скорость обмена информацией между вычислительными узлами в которых может быть крайне малой. Построение SAT-решателей, работающих в грид-системах, - сравнительно новое направление, активно развивающееся последние два года [6, 8]. Настоящая статья содержит подход к крупноблочному распараллеливанию SAT-задач, ориентированный на решение данных задач именно в грид-средах. Описанные в статье алгоритмы использовались для организации вычислений в добровольном распределенном проекте SAT@home [8].
Приведем краткий план статьи. Во втором разделе приводятся некоторые теоретические результаты, позволяющие сформировать общий взгляд на проблему крупноблочного распараллеливания SAT-задач. А именно, здесь описывается подход к оцениванию качества декомпозиционных множеств, опирающийся на идеологию метода Монте-Карло. В третьем разделе описаны алгоритмы оптимизации прогнозных функций, допускающие эффективную реализацию в многопроцессорных вычислительных средах. В последнем разделе приведены результаты численного тестирования описанных алгоритмов.
2. Методы крупноблочного распараллеливания SAT-задач
Рассматриваем уравнение вида
C (xi,...,xn) = 1 (2.1)
где C (xi,..., Хп) — конъюнктивная нормальная форма (КНФ) над множеством булевых переменных X = {xi,...,xn}. Решением уравнения 2.1 называется произвольный набор а1,..., ап, ai s{0,1}, i = 1,..., n, такой, что подстановка x1 = a1,...,xn = an в формулу C (x1,..., xn) и применение элементарных булевых операций дает константу 1. Решить SAT-задачу, определяемую уравнением 2.1, означает найти произвольное его решение или доказать отсутствие решений.
Решать уравнение 2.1 можно при помощи различных подходов. На сегодняшний день наиболее эффективны так называемые «CDCL-решатели» (от Conflict Driven Clause Learning), базирующиеся на нехро-
нологических версиях алгоритма DPLL [9, 10]. Именно этот класс алгоритмов будет рассматриваться далее.
Поскольку SAT-задачи в общей постановке NP-трудны, то при разработке вычислительных алгоритмов для их решения востребованы различные технологии распараллеливания. Это может быть распараллеливание «на уровне алгоритма» либо распараллеливание «по данным». К первому типу можно отнести мелкозернистые стратегии, используемые в решателях [3, 5]. Применяемый в них параллелизм подразумевает обмен конфликтными дизъюнктами, параллельно накапливаемыми на различных узлах вычислительной среды, и, как следствие, требует высокой скорости межпроцессорных взаимодействий. Распараллеливание по данным обычно предполагает разбиение пространства поиска на непересекающиеся области и последующую независимую обработку этих областей в распределенной вычислительной среде. Этот подход является по своей сути крупноблочным и не требует интенсивного межпроцессорного взаимодействия, а следовательно, хорошо подходит для реализации в грид-системах. Весь дальнейший материал статьи посвящен именно крупноблочному подходу.
Один из простейших методов крупноблочного распараллеливания SAT-задач использует естественную стратегию расщепления булевых формул и состоит в следующем. Выберем некоторую переменную xi1 Е X и расщепим исходную КНФ C = C (x]_,... ,xn) на две — C\Xii =0 и C\Xil=1. Здесь через C\X=a обозначена КНФ, полученная в результате подстановки в C значения а Е {0,1} переменной x (с последующим выполнением возможных элементарных булевых операций). КНФ C\Xii =о и C\Xii=1 могут быть точно так же расщеплены по некоторым переменным из X\ {x^}. В результате некоторого числа шагов данного процесса будет построено двоичное дерево, которое далее будем обозначать через Td (C), полагая при этом, что каждый путь в данном дереве имеет длину d, d < n. Корню Td (C) приписана КНФ C, а всем остальным узлам приписаны КНФ вида C\Xii =aii . ,Xik =aik, k < d. Несложно понять, что решив все SAT-задачи, соответствующие листьям данного дерева (часть из них могут оказаться тривиальными), мы решим и исходную SAT-задачу. Действительно, по выполняющему набору КНФ, соответствующей некоторому листу Td (C), эффективно строится набор, выполняющий исходную КНФ C, а если все КНФ, соответствующие листьям Td (C), невыполнимы, то невыполнима и C. Очевидно, что SAT-задачи, соответствующие листьям описанного дерева, можно решать на независимых узлах некоторой параллельной вычислительной среды.
Определение 1. Описанное выше дерево Td (C) называем деревом декомпозиции КНФ C. Множество КНФ, соответствующих листьям Td (C), будем называть декомпозиционным семейством для исходной
КНФ С и обозначать через Д(С). Для каждой КНФ из Д(С) вида С\Xil =04,..,х1л=очЛ назовем множество {х^,...,Х1Л} множеством переменных декомпозиции. Если все КНФ из Д (С) имеют одно и то же множество переменных декомпозиции X, X С X, то назовем Д (С) регулярным, а множество X назовем декомпозиционным множеством. В этом случае будем говорить, что декомпозиционное множество X порождает рассматриваемое семейство, для обозначения которого используем запись Д ^С, .
Утверждение 1. Пусть С — произвольная КНФ, Т^ (С) - еерево ее декомпозиции, определяющее регулярное семейство Д (^С^^, порожденное декомпозиционным множеством X. Тогда двоичные наборы вида (аг1,агЛ) по всем листьям дерева Т^ (С) образуют множество {0,1}^.
Доказательство. В силу регулярности Д (^С^^ все КНФ, приписанные листьям Т^ (С), имеют одно и то же множество переменных декомпозиции - множество X = {хг1 ,...,ХгЛ}. Поскольку Т^ (С) - бинарное дерево, оно имеет 2Л листьев. В каждом листе Т^ (С) содержится информация о значениях переменных из множества X и разным листьям соответствуют различные двоичные наборы вида (а^,..., а^). Следовательно, множество всех таких наборов - это множество {0,1} . □
Далее изучаются следующие вопросы. Насколько некоторое декомпозиционное семейство А (С) «эффективно» в плане суммарного времени решения БЛТ-задач для всех входящих в него КНФ? И какие семейства в этом смысле эффективнее других? На первый взгляд может показаться, что ответить на эти вопросы, не решив всех БЛТ-задач из А (С), невозможно. Тем не менее, далее мы предложим схему построения оценок такого рода. Предлагаемые алгоритмы оценивания качества декомпозиции представляют собой варианты метода Монте-Карло [11, 12] и используют сопутствующую этому методу идейную основу.
Пусть X = {х^,..., Хіл} — произвольное подмножество X и А ^С, Х^
— порожденное X регулярное декомпозиционное семейство. Зафиксируем некоторый алгоритм А решения БЛТ-задач. Везде далее считаем, что данный алгоритм является полным, то есть заканчивает работу на произвольном входе за конечное время. Обозначим через іа ^С,Х^ время, которое потребуется алгоритму А для обработки всего семейства А ^С,Х^. Основной исследуемой далее проблемой является проблема
получения численных оценок величины І а (С, X).
Зададим на множестве {0,1} равномерное распределение. Каждому набору (аг1,... ,ага), выбираемому случайно из {0,1}а, сопоставим число
СА (а»1,..., аг^ ) ,
равное времени работы алгоритма А на входе С\Хи =. самым задана случайная величина
Са { Са (а*1, . . . ^а^д,) }(а^ ,...,агл )е{0,} ,
имеющая некоторое вероятностное распределение на {0,1}^. Поскольку время работы А на произвольном входе конечно по предположению, то величина Са (с, имеет конечное математическое ожидание и
конечную дисперсию. Обозначим через М Са (с, XX ожидание данной случайной величины. Несложно показать, что имеет место следующий факт.
Утверждение 2. Справедливо соотношение
математическое
іа \С,Х) = 2 ■ М £а [С,Х
(2.2)
,агЛ ) из
Доказательство. Рассмотрим произвольное значение £а (аі1, спектра случайной величины £а (С, XX^. Если для любого (а^ такого, что (а^ ,...,а'^) = (а^ ,...,а^) имеет место £а (а^ ,...,а^) = (а (а'іі,..., а^), то значению £а (аіі,..., аІЛ) приписана вероятность ^ (распределение на {0,1}й равномерное). Если же для к различных на-б°р°в (а1і ,...,а1^),...,(.
а
Ц! '
, а имеет место id '
СА (аг 1,..., аг' ' ' СА (^аг1,..., а1^ ,
то значению Са (а11,..., а^) приписана вероятность г. Таким образом, величина 2а ' М Са (С,^К) равна суммарному времени работы алго-
ритма А по всем КНФ вида С\Хіі —аіі■■■,ХІЛ —»і пробегает все множество {0,1}^.
где набор (а
%1 >
1 а^d ) □
Определение 2. Декомпозиционное множество X, для которого величина 2.2 имеет наименьшее значение по всем подмножествам множества X, назовем оптимальным.
£а \С,Х) будем применять метод
Для вычисления величины М
Монте-Карло [11, 12]. Напомним, что в соответствии с данным методом для приближенного вычисления математического ожидания М [£]
произвольной случайной величины С используется вероятностный эксперимент, представляющий собой серию из N независимых наблюдений величины С. Если Сг,...С - результаты соответствующих наблюдений, то при конечности математического ожидания М [С] и дисперсии Б [С] справедливо следующее соотношение:
Рг
N С3 - М[{]
3=1
N
<
3 ' Б[С]
0, 997.
Данное соотношение говорит о том, что при всех сделанных предположениях величина N '^2N=1 С3 хорошо приближает М [С] при достаточно большом числе наблюдений N. Заметим, что при этом N может быть существенно меньше, чем 2Л, и тем самым применение описанного подхода позволит нам использовать этап препроцессинга для оценки суммарной трудоемкости обработки декомпозиционного семейства
Д (сл]
3. Алгоритмы поиска оптимальных декомпозиционных
множеств
Итак, в соответствии с описанной в предыдущем пункте схемой, процесс приближенного вычисления величины 2.2 для конкретного X выглядит следующим образом. Делается случайная выборка из {0,1}Л наборов значений переменных, входящих в X:
д(СД) = {К,...,а1) ,..., К,...,а1)}; рассматриваются случайные величины
С3 = СА (<,...,а3, 3 = 1,...^'; вычисляется величина
Ра (сДе = * ' ( -1' £ С3\ . (3.1)
При справедливости всех сделанных выше предположений значение Ра является хорошим приближением величины 2.2.
Функцию Ра (с, далее называем прогнозной функцией. Отметим, что значения прогнозной функции можно вычислять на обычном компьютере или кластере, дополнительно необходим лишь качественный генератор случайных чисел. Тем самым мы можем от задачи
поиска оптимального декомпозиционного множества перейти к задаче поиска декомпозиционного множества X*, такого, что для любого X X С X, Ра (сД) > Ра (с,X^.
Несмотря на такую, казалось бы, естественную постановку, описанная проблема имеет ряд специфических особенностей.
1) Далеко не для каждого X значение Ра может быть вычислено эффективно, поскольку при малых й вычисление Ра сопоставимо по трудоемкости с решением исходной БЛТ-задачи.
2) Функция Ра не задана аналитически - каждое ее значение отражает реакцию вычислительной среды на соответствующий вид декомпозиции. Таким образом, для минимизации Ра (с, Х^ неприменимы методы, использующие такие свойства функций как гладкость, выпуклость, ё.е. [13], и вообще любые методы, использующие задание функции в виде формулы.
Итак, первая задача, которую необходимо решить, — выбор стартового декомпозиционного множества Xо. Несложно видеть, что тривиальный пример ^То — это множество X. Однако в некоторых ситуациях ^То может быть существенно меньше. Далее мы приводим один частный результат о структуре ^То, который используется при решении задач обращения дискретных функций как БЛТ-задач.
Пусть дана дискретная функция
/ : {0,1}* ^ {0,1}*,
определенная всюду на {0, 1}* и вычислимая за полиномиальное время программой Tf для детерминированной машины Тьюринга. Программа Tf естественным образом задает счетное семейство функций
/г : {0,1}г ^{0,1}* ,к е N.
Задача обращения произвольной функции /г из данного семейства в точке у е гапде /г состоит в нахождении такого х е{0,1}г, что /г (х) = у. Данная задача может быть эффективно (за полиномиальное от к время) преобразована в БЛТ-задачу за счет пропозиционального кодирования схемы Сгте (/г) из функциональных элементов какого-либо полного базиса (например, {&, -}), которая представляет функцию /г. Результатом кодирования является КНФ
с(/к,у)=( & с(дл 'уГ.....ут.
\деСгтс ) у
Здесь C (g) — КНФ, приписываемая функциональному элементу g схемы Circ (fk), yj,j £ {1,... ,m}, — булевы переменные, соответствующие выходам схемы Circ (fk),
y £ range fk : y = (ai,...,am).
Используя идеи работы [14], несложно показать, что решив SAT-задачу C (fk,y) = 1, мы найдем такое слово x £ {0,1} , что fk (x) =
УДалее будем считать, что алгоритм A — это некоторая версия алгоритма DPLL. Следующее утверждение означает, что в этом случае для SAT-задачи, кодирующей задачу обращения дискретной функции fk, в качестве стартового декомпозиционного множества можно выбрать множество, образованное переменными, которые соответствуют входным полюсам схемы Circ (fk).
Утверждение 3. Пусть КНФ C = C (x1,...,xn) кодирует задачу обращения некоторой дискретной функции fk : {0,1}k ^ {0,1}*. Пусть A — хронологический либо нехронологический алгоритм DPLL. И пусть Х0 — декомпозиционное множество, которое образовано переменными из X, соответствующими входным полюсам схемы, представляющей fk. Тогда значение Fa (c,Xo^ вычислимо за время O (|C \-N).
Доказательство. Пусть Х0 = {x1,...,xk} — множество, описанное в условии. Заметим, что в соответствии с выводами работ [15, 16] для произвольного (а\,..., a.k) £ {0,1} применение к КНФ вида
xa1.....x^k . (x-\ x )
x 1 xk C (x 1 ^.. xn)
правила Unit Propagation [17] и поглощения детерминированным образом приводит либо к выводу выполняющего C набора, либо к выводу конфликта. Использование специальных структур данных [17] дает алгоритм, выполняющий эти действия за время O (\C|). Всего для случайной выборки объема N, сделанной из множества {0,1}k, в соответствии с формулой 3.1 потребуется N раз выполнить описанную процедуру распространения ограничений, подсчитать суммарное время, которое на это затрачено, и умножить результат на 2k/N. Очевидно, что вычислительные затраты на процедуры умножения и деления, требуют времени o (IC'D Таким образом, общее время, затраченное на вычисление
Fa (о,Х(?), есть O (\C| • N). □
Переходим к построению вычислительных алгоритмов минимизации прогнозных функций. При этом мы сталкиваемся с особенностями,
отмеченными выше в пункте 2. Эти особенности дают основание заключить, что наиболее естественной для минимизации Ра является
стратегия последовательных улучшений. При этом на начальном шаге строится старновое декомпозиционное множество Xо, такое, что значение Ра (с, вычисляется за небольшое время. После этого пытаемся
улучшить это значение, рассматривая окрестность «точки» ^То в некотором пространстве поиска. Если это удается, то переходим к новой точке и так далее. Для реализации описанного подхода далее предлагается метод, представляющий собой комбинацию стандартной схемы локального поиска [18] и метаэвристики, в роли которой используется процедура «имитации отжига» [19].
Начнем с определения пространства поиска. Обратим внимание на тот факт, что произвольное множество X е 2х можно задать при помощи двоичного вектора
х(х) = (хі (х) (X)) ,
такого, что
^г М = {0;Хг е* =1'--п-
Тогда пространство поиска — это п-мерный булев куб Еп = {0,1}п. Для произвольной точки % ^Х^ из Еп окрестность Ог ^х ("X)) радиуса г определяется как множество всех векторов из Еп, находящихся от X на расстоянии Хэмминга, не превосходящем г.
Стандартная схема локального поиска [18] в применении к задаче минимизации Ра (с, Xе на Еп выглядит следующим образом. Рассматривается точка х , значение Ра (с, в которой вычисляется
эффективно. Фиксируем некоторый радиус г и последовательно перебираем точки окрестности Ог ^х . Если найдена точка х ("С1) :
Ра И С, ХС1 ^ < Ра (с, , то переходим к рассмотрению окрестности Ог ^х ("С1) ). Продолжаем процесс до тех пор, пока не найдется точка локального минимума, то есть такая точка х (), что
Ух (X') е Ог (х ^ Ра {с, XX') > Ра (с^^ .
Обычно локальный поиск в этом случае останавливается и выдает в качестве ответа точку х . Для продолжения поиска можно использовать различные подходы. Одним из наиболее эффективных и
простых в реализации является поиск с запретами [19]. Далее предлагается новый метод, который, с нашей точки зрения, наилучшим образом учитывает особенности прогнозных функций. Данный метод является комбинацией локального поиска и метаэвристики, позволяющей выходить из точек локального минимума.
Отметим здесь крайне важную особенность прогнозных функций. Время вычисления значения прогнозной функции в произвольной точке пространства Еп, вообще говоря, не известно заранее. В некоторых точках оно может быть крайне малым, а в других, наиоборонт, очень большим. Основной вклад в сложность вычисления Ра (^С, вносит этап
подсчета значений величин ^ = £а (а{1,..., а, 3 = 1,...,^. Время, требуемое для этого, существенно больше времени, которое требуется для умножения получаемых значений иа величину 2а/Ы. Исходя из
этого, можно организовать подсчет Ра (с, Х^ в виде итерационного процесса, который последовательно вычисляет величины
где
Р{ (сД) ,3 = 1,...,м,
р1 С*) = N'е,р{ СX)= р— '?,3 = 2,...,м.
(3.2)
Тем самым, и н и н Ра(сД) = р% (с, X .
Использование соотношений 3.2 позволяет существенно ускорить процесс локального поиска. Дейиствинтельно, предположим, что локальный поиск стартует с точки % , значение прогнозной функции в
которой равно Ра (С, . Рассмотрим произвольную точку % ^ ^ е
Ог ^ и будем подсчитывать значение прогнозной функции в
данной точке в соответствии с 3.2. Тогда если для некоторого 3 < N
имеет место
'■'А
Р{ (С, X') >Ра(с,1Со) ,
то сразу заключаем, что Ра (с, X^ > Ра (с, . В этой ситуации
можно прернать дальнейшую обработку выборки, соответствующей точке х (НнН'), и сделать переход к следующей точке окрестности
Ог {х^о)).
Основной минус локального поиска состоит в том, что он гарантирует нахождение лишь некоторого локального минимума рассматриваемой функции. Далее предлагается использовать для выхода из точки
локального минимума метаэвристический алгоритм «имитаиии отжига» [20]. Данный шаг мы оправдываем тем, что функция Ра (с,^К^ не задана в виде формулы.
Напомним, что в соответствии со схемой имитации отжига минимизация некоторой функции Ф(') рассматривается как итеративный процесс переходов между точками пространства поиска:
а —у а —у ''' —у а' —у ''' —у а .
Переход от аг к аг+г осуществляется в два этапа. Сначала к аг применяется вероятностное преобразование, результатом которого является точка аг из некоторой окрестности аг. Точка аг становится точкой аг+1 с вероятностью, обозначаемой через Рг { аг — аг+1\аг}. Данная вероятность задается следующим образом:
1, ИФ (аг) < Ф (аг)
Рг { а — ««И = { ех^_„ ф (аг) > ф (аг} (3-3)
Изменение параметра Тг соответствует уменьшению «температуры кристаллизирующейся среды» [20]. Обычно полагают, что Тг = Q' Тг-1, * > 1, где Q е (0,1). Процесс стартует при некотором начальном значении То и продолжается до тех пор, пока «температура» не станет меньше заданного порогового значения Т^.
Метод имитации отжига «в чистом виде» плохо применим к минимизации прогнозных функций в силу отмеченной выше особенности
— для использования соотношений 3.3 необходимо досчитывать значение Ра {с,-^^ в каждой точке пространства поиска, что сопряжено с существенными вычислительными затратами. Поэтому везде далее мы использовали комбинированную схему, включающую локальный поиск с запоминанием предыстории поиска и симуляцию отжига. Кратко опишем общие принципы данной схемы.
Предполагаем, что на начальном этапе был использован обычный локальный поиск, и его результатом является точка локального минимума
X . Для выхода из х применим имитацию отжига. То есть, в
соответствии с соотношениями 3.3, сделаем вероятностный переход от X к некоторой точке
X' е Ог (х : р [с, X') > р (с,Х3)
(при большом значении температуры соответствуиющная вероятиноснть велика). Рассмотрим последовательность точек х (Xо^ , ...,Х , по-
лученных в процессе работы описанной схемы. В силу сказанного за-
ключаем, что переход от % ^ХХ^_1^ к % может происходить либо
в результате использования схемы локального поиска в окрестности Ог ^ , либо в результате применения процедуры имитации от-
жига. Выбор точки % считаем началом итерации с номером і.
Далее везде будем обозначать через Ф*_і рекордное значение прогнозной функции, достигнутое на итерациях с номерами 1,...,Ь — 1. То
есть для любой из точек X , і є{1,...,і — 1}, имеет место
Е л(с,Хг^ > Ф*_ь
Определение 3. Выбранную на итерации с номером Ь точку х такую, что
Ух (X') е Ог ^ Ра (с, X') > ш1п { Ф-1, Ра (с, X*) } ,
назовем локально неулучшаемой.
Очевидно, что произвольная точка локального минимума является локально неулучшаемой, однако обратное, вообще говоря, неверно (действительно, точка х может находиться в окрестности некоторого локального минимума и быть при этом локально неулучшаемой относительно рекорда Ф*-1).
Рассматриваем итерацию с номером Ь, Ь > 1. Данная итерация начинается с выбора (каким-либо образом) точки x[Xt). Обозначим че-
рез Ь1ос список, состоящий из всех локально неулучшаемых точек, пройденных на предыдущих итерациях.
Утверждение 4. Пусть Б*- - список локально неулучшаемых точек, пройденных на первых Ь _ 1 итерациях, и Ф*-1- соответствующие рекордное значение прогнозной функции. Тогда для любой точки
X (Xе, такой, что Ра < Ф^ъ справедливо
X (ХХ^ / У Ог (х(хХ))
х(Х )еЗ
І-1
ІОС
Доказательство. Предположим, что тоика х^*) с указанными свнй-
ствами принадлежит окрестности Ог ^х ("С)) некоторое точки х е
Б*-1 Но для любой такой точки имеет место Ра (с,X^ > Ф— в силу определения неулучшаемости. Имеем противоречие. □
Данный факт позволяет значительно сократить время работы алгоритма за счет того, что значение прогнозной функции не имеет смысла вычислять в окрестностях радиуса г неулучшаемых точек.
Итак, с учетом всего сказанного описываем схему минимизации прогнозных функций. На начальной итерации выбирается точка х , значение прогнозной фуинкции нв которой вычисляется эффективно, при этом полагаем Фо = Ра (с, Xо^. Рассматриваем итерацию с номером Ь
(Ь > 1) и пусть % ('Xt^ - выбранная в начале данной итерации точка. Пусть Ф*-1 — рекорд, достигнутый на предыдущих итерациях. Рассмотрим множество
/ \
о (х^^ = Ог (x(^X^) \ и Ог (х^)) .
\х(х№о-н )
Если существует точка х (X') е О ^х , такая, что
Ра [С, X') < ш1п { Ф-1, Ра (с, X*) } ,
то полагаем х (Xt+l) = X (X'), Ф* = шт { Ф- , Ра (с, }, Бг1ос = Б*-1. После этого переходим к итерации с номером Ь + 1, на которой рассматриваем точку х . Если же такой точки не существует, то
объявляем х ^локально неулучшаемой. После этого переходим от
точки х к точке
х(А',+^ € О (х(х,)) \Б!ос\
используя имитацию отжига. Полагаем Ф* = шт-^Ф- , Ра (с, |
и Бос = и {х(А) }•
При каждом вызове процедуры имитации отжига температура понижается. Процесс поиска останавливается, когда необходим запуск процедуры имитации отжига, но температура и, следовательно, вероятность перехода 3.3 близки к 0.
4. Заключение
Описанные выше алгоритмы были реализованы на вычислительном кластере ИДСТУ СО РАН [21]. В качестве тестовой рассматривалась
задача построения декомпозиционного множества для БЛТ-задачи, кодирующей криптоанализ генератора Л5/1 [22]. В работе [23] было приведено декомпозиционное множество, построенное «вручную» с учетом особенностей алгоритма данного генератора. Это множество изображено на рисунке 1.
Рис. 1. Декомпозиционное множество, структура которого обусловлена особенностями алгоритма генератора А5/1 [23].
Затем для поиска декомпозиционного множества в рассматриваемой БЛТ-задаче были применены описанные выше алгоритмы. В качестве стартового декомпозиционного множества выбиралось множество, образованное 64 переменными, кодирующими вход булевой функции, реализующей рассматриваемый генератор. В процессе минимизации прогнозной функции выбирались декомпозиционные множества, являющиеся подмножествами стартового множества. Результат поиска изображен на рисунке 2.
Рис. 2. Декомпозиционное множество, найденное автоматически при помощи алгоритмов, представленных в работе.
Похожие результаты были получены для более простых генераторов (порогового и суммирующего) - декомпозиционные множества, построенные описанными выше алгоритмами, незначительно отличались от известных «эталонных» множеств. На основании сказанного можно заключить, что предложенные в работе алгоритмы позволяют успешно выявлять структуру декомпозиционных множеств в SAT-задачах, кодирующих некоторые трудные комбинаторные проблемы.
Список литературы
1. Handbook of Satisfiability / A. Biere, V. Heule, H. van Maaren, T. Walsh. — IOS Press, 2009. - 980 p.
2. Up-to-date links for the SATisfiability problem [Electronic recource]: www.satlive.org
3. Schubert T. PaMiraXT: Parallel SAT Solving with Threads and Message Passing / T. Schubert, M. Lewis, B. Becker // Journal on Satisfiability, Boolean Modeling and Computation. - 2009. - Vol. 6. - P. 203-222.
4. Hamadi Y. ManySAT: a Parallel SAT Solver / Y. Hamadi, S. Jabbour, L. Sais // Journal on Satisfiability, Boolean Modeling and Computation. - 2009. - Vol. 6. -P. 245-262.
5. Ignatiev A. DPLL+ROBDD Derivation Applied to Inversion of Some Cryptographic Functions / A. Ignatiev, A. Semenov // LNCS. - 2011. - Vol. 6695.
- P. 76-89.
6. Schulz S. Parallel SAT Solving on Peer-to-Peer Desktop Grids / S. Schulz, W. Blochinger // Journal Of Grid Computing. - 2010. - Vol. 8, N 3. - P. 443-471.
7. Hyvarinen A. Grid-Based SAT Solving with Iterative Partitioning and Clause Learning / A. Hyvarinen, I. Niemela, T. Junttila // LNCS. - 2011. - Vol. 6876. -P. 385-399.
8. Posypkin M. Using BOINC desktop grid to solve large scale SAT problems / M. Posypkin, A. Semenov, O. Zaikin // Computer Science Journal. — 2012. - Vol. 13, N 1. - P. 25-34.
9. Davis M. A machine program for theorem proving / M. Davis, G. Logemann, D. Loveland // Communication of the ACM. - 1962. - Vol. 5, issue 7. - P. 394-397.
10. Marques-Silva J. P. GRASP: A search algorithm for propositional satisfiability / J. P. Marques-Silva, K. A. Sakallah // IEEE Transactions on Computers. - 1999.
- Vol. 48, N 5. - P. 506-521.
11. Metropolis N. The Monte Carlo method / N. Metropolis, S. Ulam // J. Amer. statistical assoc. - 1946. - Vol. 44, № 247. - P. 335-341.
12. Ермаков С. М. Метод Монте-Карло и смежные вопросы / С. М. Ермаков. -М. : Наука, 1971. - 327 с.
13. Стрекаловский А. С. Элементы невыпуклой оптимизации / А. С. Стрекалов-
ский. - Новосибирск : Наука, 2003. 355 с.
14. Цейтин Г. С. О сложности вывода в исчислении высказываний / Г. С. Цейтин // Записки научных семинаров ЛОМИ АН СССР. — 1968. — Т. 8. — C. 234-259.
15. Jarvisalo M. Limitations of restricted branching in clause learning / M. Jarvisalo, T. Junttila // Constraints. — 2009. — Vol. 14, № 3. — pp. 325-356.
16. Семенов А. А. Декомпозиционные представления логических уравнений в задачах обращения дискретных функций / А. А. Семенов // Изв. РАН. Теория и системы управления. - 2009. - № 5. - С. 47-61.
17. Dowling W. Linear-time algorithms for testing the satisfiability of propositional Horn formulae / W. Dowling, J. Gallier // Journal of Logic Programming. - 1984.
- Vol. 1, N 3. - P. 267-284.
18. Пападимитриу Х. Комбинаторная оптимизация / Х. Пападимитриу, К. Стай-глиц. - М. : Мир, 1985. - 510 с.
19. Glover F. Tabu Search / F. Glover, M. Laguna. - Dordrecht : Kluwer Acad. Publ., 1997.
20. Kirkpatrick S. Optimization by simulated annealing / S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi // Science. - 1983. - Vol. 220. - P. 671-680.
21. Кластер Blackford ИДСТУ СО РАН: http://hpc.icc.ru/hardware/blackford.php
22. Biryukov A. Real time cryptanalysis of A5/1 on a PC / A. Biryukov, A. Shamir, D. Wagner // LNCS. - 2001. - Vol. 1978. - P. 1-18.
23. Parallel logical cryptanalysis of the generator A5/1 in BNB-Grid system / A. Semenov, O. Zaikin, D. Bespalov, M. Posypkin // LNCS. - 2011. - Vol. 6873.
- P. 473-483.
A. A. Semenov, O. S. Zaikin
Algorithms for constructing decomposition sets in application to coarse-grained parallelization of SAT problems.
Abstract. In the paper algorithms for constructing decomposition sets in application to coarse-grained parallelization of SAT problems are suggested. These sets are used for solving SAT problems in distributed computing environments. Suggested algorithms are based on computing scheme of Monte-Carlo method.
Keywords: Monte-Carlo method; discrete functions; SAT problems; coarse-grained parallelization.
Семенов Александр Анатольевич, кандидат технических наук, зав. лабораторией дискретного анализа и прикладной логики, Институт динамики систем и теории управления СО РАН, 664033, Иркутск, ул. Лермонтова, 134, тел.: (3952)453054 ([email protected])
Заикин Олег Сергеевич, кандидат технических наук, научный сотрудник лаборатории дискретного анализа и прикладной логики, Институт динамики систем и теории управления СО РАН, 664033, Иркутск, ул. Лермонтова, 134, тел.: (3952)453054 ([email protected])
Semenov Alexander, Institute for System Dynamics and Control Theory of SB RAS, Lermontov str., 134, Post Box 292 664033, Irkutsk, Russia Phone: (3952)453054 ([email protected])
Zaikin Oleg, Institute for System Dynamics and Control Theory of SB RAS, Lermontov str., 134, Post Box 292 664033, Irkutsk, Russia Phone: (3952)453054 ([email protected])