Программная трансляция алгоритмов в пропозициональную логику применительно к комбинаторным задачам | Прикладная дискретная математика. Приложение. 2010. № 3.

Программная трансляция алгоритмов в пропозициональную логику применительно к комбинаторным задачам

A technology for translatingdifferent combinatorial problems to the tasks of finding solutions of logical (Boolean)equations is presented. Theoretical possibility of translations of that sort was shown byS. Cook in 1971. The report is expected to describe in detail Transalg - the new translatorof algorithms to the propositional logic. Unlike previous developments this translatorallows obtaining propositional encodings for algorithms computing arbitrary everywheredefined Register Machine-computable discrete functions. Actually a program computingthis function should be written in a special high level (C-like) language. Translator wasused for obtaining propositional encodings of some encryption algorithms, algorithms describingfunctioning the gene networks of a certain class and for translating the problemsfrom 0-1 ILP to SAT.

Software translating of combinatorial problems to propositional logic.pdf Интенсивный рост производительности современных вычислительных архитектурсделал возможным решение комбинаторных задач таких размерностей, которые казалисьнепреодолимыми еще 15-20 лет назад. В связи с этим возникли новые направленияв компьютерной алгебре и вычислительных отраслях дискретной математикии математической логики. Одной из наиболее актуальных в этом смысле областейявляется решение логических (булевых) уравнений. В последние 10 лет наблюдаетсясущественный прогресс в разработке алгоритмов, эффективных на практически важныхклассах логических уравнений.К логическим уравнениям эффективно сводятся многочисленные комбинаторныезадачи. Однако при практическом осуществления соответствующих сведений приходитсясталкиваться с различными препятствиями (разнородность структур данных;отсутствие идеологии, применимой к широкому классу проблем, и др.). Сказанноеозначает актуальность проблемы разработки многофункционального транслятора,осуществляющего сведение различных комбинаторных задач к задачам поиска решенийлогических уравнений. Следует отметить, что во многих имеющихся разработкахданная проблема так или иначе решалась (см. [1-4]). Однако во всех этих случаях осуществляласьтрансляция некоторого «узкого» класса проблем, ограниченного конкретнойпредметной областью. Комплекс Verilog [3] используется при описании логическихсхем, и все его базовые конструкции ориентированы на специалистов в схемотехнике.Комплекс ABC [4] предназначен для решения задач синтеза и верификации логическихсхем; схемы могут быть описаны в различных форматах, однако предполагается,что пользователь эти описания каким-либо образом получил (например, используяVerilog).В работе излагаются общие принципы построения нового многофункциональноготранслятора Transalg. Данный программный комплекс позволяет осуществлять пропозициональноекодирование алгоритмов, не предполагая узкоспециальных знаний упользователя. Язык Transalg - это фактически самостоятельный язык с С-подобнымсинтаксисом. Семантика языка определяет правила построения логических уравненийпо соответствующему описанию алгоритма. Ниже приведены основные этапы трансляцииалгоритмов в комплексе Transalg.1) Анализ текста программы и построение дерева синтаксического разбора.2) Обход построенного дерева, выполнение семантических действий: «пропозициональнаясвертка» условных переходов (см. [5]) за счет преобразований Цейтина,построение систем логических уравнений.3) Приведение систем логических уравнений к нормальным формам; преобразованиев формат И-НЕ графов.Пропозициональные кодировки многих алгоритмов, реализованные в транслятореTransalg, по объему существенно меньше известных аналогов (например, пропозициональнаякодировка алгоритма DES компактнее кодировки, представленной в [1], болеечем в два раза).Дополнительной возможностью комплекса Transalg является сведение к SAT (илик системе логических уравнений в любой нормальной форме) задач 0-1-целочисленноголинейного программирования (0-1-ЦЛП). Получаемые кодировки по компактноститакже превосходят известные аналоги [6].

Ключевые слова

Авторы

ФИООрганизацияДополнительноE-mail
Отпущенников Илья ВладимировичИнститут динамики систем и теории управления СО РАН, г. Иркутскаспирант лаборатории дискретного анализа и прикладной логикиotilya@yandex.ru
Семёнов Александр АнатольевичИнститут динамики систем и теории управления СО РАН, г. Иркутсккандидат технических наук, зав. лабораторией дискретного анализа и прикладной логикиbiclop@rambler.ru
Всего: 2

Ссылки

Massacci F., Marraro L. Logical Cryptanalysis as a SAT Problem / / J. Automated Reasoning. 2000. V. 24. No. 1-2. P. 165-203.
Буранов Е. В. Программная трансляция процедур логического криптоанализа симметричных шифров / / Вестник Томского госуниверситета. Приложение. 2004. №9(1). С. 60-65.
http://www.veripool.org/
Berkeley Logic Synthesis and Verification Group, ABC: A System for Sequential Synthesis and Verification. http://www.eecs.berkeley.edu/~alanmi/abc/.
Семёнов А. А Трансляция алгоритмов вычисления дискретных функций в выражения пропозициональной логики / / Прикладные алгоритмы в дискретном анализе. Сер. Дискретный анализ и информатика. Иркутск: Изд-во ИГУ, 2008. Вып. 2. С. 70-98.
EenN., Sorensson N. Translating Pseudo-Boolean Constraints into SAT / / J. Satisfiabil., Boolean Model. Computat. 2006. No. 2. P. 1-25.
 Программная трансляция алгоритмов в пропозициональную логику применительно к комбинаторным задачам | Прикладная дискретная математика. Приложение. 2010. № 3.

Программная трансляция алгоритмов в пропозициональную логику применительно к комбинаторным задачам | Прикладная дискретная математика. Приложение. 2010. № 3.