Научная статья на тему 'О сходимости гибридного sat+robddлогического вывода'

О сходимости гибридного sat+robddлогического вывода Текст научной статьи по специальности «Математика»

CC BY
104
32
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Семенов Александр Анатольевич, Игнатьев Алексей Сергеевич

In the paper, the authors consider a new property of a hybrid SAT+ROBDD-derivation. This property consists in a convergence with respect to the number of paths to a terminal vertex "1" in a ROBDD which represents database of conflicts accumulated during the process of non-chronological DPLL.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

About convergence of a hybrid SAT+ROBDD-derivation

In the paper, the authors consider a new property of a hybrid SAT+ROBDD-derivation. This property consists in a convergence with respect to the number of paths to a terminal vertex "1" in a ROBDD which represents database of conflicts accumulated during the process of non-chronological DPLL.

Текст научной работы на тему «О сходимости гибридного sat+robddлогического вывода»

ОрепМР, которая позволяет задействовать все ядра центрального процессора (в нашем случае 4 ядра). В таблице показано время работы (в секундах) соответствующих реализаций.

CPU GPU

n Посл. алг. OpenMP CUDA

15 1,02 0,25 0,01

16 4,13 1,03 0,04

17 16,9 4,22 0,15

18 69,9 17,4 0,65

Таким образом, реализация для видеокарты с использованием технологии CUDA оказалась быстрее, чем последовательный алгоритм, примерно в 106 раз, а в сравнении с параллельной реализацией на центральном процессоре — примерно в 26,5 раз.

ЛИТЕРАТУРА

1. Агибалов Г. П. Избранные теоремы начального курса криптографии. Томск: Изд-во НТЛ, 2005.

2. http://developer.download.nvidia.eom/compute/DevZone/docs/html/C/doc/CUDA_C_ Programming_Guide.pdf

3. http://developer.download.nvidia.eom/eompute/DevZone/does/html/C/doe/CUDA_C_ BestPraetiees.pdf

УДК 519.7

О СХОДИМОСТИ ГИБРИДНОГО SAT+ROBDD-ЛОГИЧЕСКОГО вывода1

А. А. Семенов, А. С. Игнатьев

Проблема обращения дискретных функций возникает во многих теоретических и прикладных областях современной кибернетики. Пусть f : {0, 1}* ^ {0, 1}* — вычислимая детерминированным образом за полиномиальное от длины входа время дискретная функция. Если A(f) — некоторый полиномиальный алгоритм, вычисляющий f, то A(f) задает семейство функций вида fn : {0,1}n ^ {0,1}* , n £ N. Задача обращения произвольной функции fn из данного семейства состоит в следующем: известно у £ Range fn, требуется, зная текст программы A(f), найти произвольный x £ {0,1}n, такой, что fn(x) = у. Описанная задача является вычислительно трудной в общей постановке — она не может быть решена за полиномиальное время в предположении, что P = NP. Поскольку различные практические задачи могут рассматриваться как частные случаи сформулированной, разработка вычислительных алгоритмов для её решения является актуальной областью.

Описанную проблему можно сводить к SAT-задачам [1], используя эффективные алгоритмы трансляции программ в булевы уравнения (см., например, [2]). Для решения получаемых SAT-задач можно использовать различные методы, лучшие из которых базируются на алгоритме DPLL. В КНФ, получаемой в процессе трансляции алгоритма A(fn), можно выделить множество Xn, состоящее из n так называемых «переменных входа» рассматриваемой функции. Мощность данного множества равна n. В [3] говорится о том, что Xn является «сильной формой» множества-лазейки для алгоритма DPLL, который применяется к КНФ C(fn), кодирующей задачу обращения fn

хРабота выполнена при поддержке гранта РФФИ № 11-07-00377-a.

в произвольной точке (в [3] используется термин «strong unit propagation backdoor set», SUPBS). Данный факт в [3] полагается «интуитивно ясным» и приводится без доказательства. В работе [4] дано понятие ядра DPLL-вывода, которое является по сути аналогом понятия SUPBS, а также доказано, что множество переменных, кодирующих вход рассматриваемой функции fn, образует ядро DPLL-вывода в применении к КНФ C(fn). Это означает, что ограниченный вариант нехронологического DPLL, который выбирает переменные только из Xn, является полным и может использоваться для решения задачи обращения рассматриваемой функции. Такой алгоритм получил название core-DPLL. В [4] отмечено, что core-DPLL должен порождать избыточные ограничения. Данный тезис целиком подтвердился вычислительными экспериментами. В связи с этим в работе [5] описан гибридный SAT+ROBDD-логический вывод, в котором core-DPLL используется для накопления баз конфликтных дизъюнктов, составленных из литералов только над переменными ядра. Каждая такая конфликтная база имеет вид КНФ и задает тем самым булеву функцию, для которой строится её ROBDD-представление. В дальнейшем вывод работает как на исходной КНФ, так и на конфликтной части, но представленной в форме ROBDD. Для этой цели в [5] введены аналоги основных механизмов вывода, используемых в современных SAT-решателях, основанных на DPLL. В [5] описан также новый SAT-решатель с параллельной архитектурой, в котором реализован гибридный SAT+ROBDD-вывод. Данный решатель существенно превзошёл по эффективности известные решатели на SAT-задачах, кодирующих обращение некоторых криптографических функций.

В докладе представлено новое свойство гибридного SAT+ROBDD-вывода, а именно его сходимость относительно числа путей в терминальную единицу в ROBDD, представляющей базу конфликтных ограничений.

Гибридная SAT+ROBDD-стратегия логического вывода в применении к C(fn) представляет собой процесс, разделенный на итерации [5]. На начальной итерации core-DPLL накапливает некоторое множество конфликтных дизъюнктов — D,... , D\ . Далее строится ROBDD B1, представляющая булеву функцию, заданную КНФ D \■.. .-D^. Дальнейший вывод является гибридным — задействуется как КНФ-часть (собственно C(fn)), так и ROBDD-часть. Если Br — ROBDD-представление конфликтной базы, построенной на итерации с номером г, а на итерации с номером г + 1 гибридный вывод порождает дизъюнкты D[+1,... , D[++1, то ROBDD Br+1 есть

Br+1 = Apply(B[ ■ d;+1 ■ ... ■ Dr+1)

(используется алгоритм Apply [6]).

Через #xB(g) обозначим число наборов значений истинности, на которых булева функция g над множеством переменных X, представляемая ROBDD B(g), принимает значение 1. Справедлив следующий результат.

Теорема 1. Пусть C — произвольная КНФ над множеством X. Предположим, что на C осуществляется s итераций гибридного SAT+ROBDD-вывода и B1,... , Bs — ROBDD-представления баз конфликтных дизъюнктов, построенные на соответствующих итерациях. Если для некоторого k £ {1,...,s} множество вершин Bk исчерпывается терминальным нулем, то C невыполнима. В противном случае для произвольного k £ {2,... , s} имеет место #XBk < #XBk-1.

ЛИТЕРАТУРА

1. Biere A., Heule M., van Maaren H., and Walsh T. Handbook of Satisfiability. IOS Press, 2009.

2. Отпущенников И. В., Семвнов А. А. Технология трансляции комбинаторных проблем в булевы уравнения // Прикладная дискретная математика. 2011. №1. С. 96-115.

3. Jarvisalo M. and Junttila T. Limitations of restricted branching in clause learning // Constraints. 2009. V. 14. No. 3. P. 325-356.

4. Семенов А. А. Декомпозиционные представления логических уравнений в задачах обращения дискретных функций // Изв. РАН. Теория и системы управления. 2009. №5. С.47-61.

5. Ignatiev A. S. and Semenov A.A. DPLL+ROBDD derivation applied to inversion of some cryptographic functions // LNCS. 2011. V. 6695. P. 76-89.

6. Bryant R. E. Graph-Based Algorithms for Boolean Function Manipulation // IEEE Trans. Comput. 1986. V. 35. No. 8. P. 677-691.

УДК 004.056.5:512.545

РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ ОРТОГОНАЛИЗАЦИИ В ЗАДАЧЕ ПОИСКА КРАТЧАЙШЕГО БАЗИСА ЦЕЛОЧИСЛЕННЫХ РЕШЁТОК

B. C. Усатюк

Целью работы является демонстрация увеличения производительности алгоритмов приведения базиса целочисленных решёток за счёт замены рекуррентного алгоритма Грама — Шмидта параллельными алгоритмами ортогонализации.

Для приведения базиса решётки с экспоненциальной точностью 7 = 2(п-1)/2 достаточно привести базис к ($ — ¿¿¿)-редуцированному базису, применив полиномиальный по временной сложности алгоритм Ленстра — Ленстра — Ловаса (LLL) [1]. Для приведения базиса решётки с точностью 7 Е [2(га-1)/2 — е, l] достаточно привести подмножество базиса решётки, состоящее из ß ^ n векторов, к базису Коркина — Золотарева, применив блочный алгоритм Коркина — Золотарева (BKZ), чья временная сложность зависит от размера блока, изменяясь от полиномиальной до экспоненциальной [1].

Ключевой частью алгоритмов приведения базиса решёток является этап ортого-нализации, осуществляемый при помощи алгоритмов, вычисляющих QR-разложение матрицы базисных векторов. Традиционно, в силу своей геометрической наглядности и простоты, для ортогонализации используется рекуррентный алгоритм Грама — Шмидта или его вычислительно устойчивый аналог — модифицированный алгоритм Грама — Шмидта [2]. Однако рекуррентная природа данного алгоритма препятствует его распараллеливанию и делает его «узким местом» процедуры приведения базиса решётки. Алгоритм Грама — Шмидта может быть заменён другими алгоритмами, осуществляющими QR-разложение, а именно алгоритмом отражения Хаусхолдера или алгоритмом вращения Гивенса [3]. Их применение теоретически позволяет ускорить процесс ортогонализации (n х п)-матрицы базиса решётки в n раз.

В основе метода Гивенса лежит идея поворота векторов матрицы базиса с целью последовательного обнуления координат векторов ортогонализуемого базиса. Одной из ключевых особенностей алгоритма Гивенса является необходимость вычисления квадратного корня и в два раза большее число операций по сравнению с алгоритмом Хаусхолдера. Однако этот недостаток компенсируется отсутствием ветвления, что приводит к высокой эффективности исполнения данного алгоритма на векторных вычислительных устройствах, в частности на видеокартах. Последнее обстоятельство привело к реализации именно этого алгоритма в библиотеке CUBLAS [4].

i Надоели баннеры? Вы всегда можете отключить рекламу.