Вы находитесь на странице: 1из 7

Алгоритм минимизации функционала, ассоциированного с задачей 3-SAT… В.И. Дулькейт, Р.Т. Файзуллин, И.Г.

Хныкин

АЛГОРИТМ МИНИМИЗАЦИИ ФУНКЦИОНАЛА, АССОЦИИРОВАННОГО С ЗАДАЧЕЙ 3-SAT


И ЕГО ПРАКТИЧЕСКИЕ ПРИМЕНЕНИЯ
В.И. Дулькейт, Р.Т. Файзуллин, И.Г. Хныкин
Омский государственный университет им. Ф.М.Достоевского
Аннотация
Одной из наиболее интересных задач дискретной математики является задача поиска
решающего набора в задаче ВЫПОЛНИМОСТЬ. После классической работы Кука [5] уси-
лия многих исследователей были направлены на построение эвристических, переборных ал-
горитмов решения КНФ. Перспективным направлением представляется и сведение КНФ к
непрерывному аналогу, к задаче поиска точек глобального минимума ассоциированного
функционала. В данной работе обосновывается выбор функционала специального вида и
предлагается применить к решению системы нелинейных алгебраических уравнений, опре-
деляющих стационарные точки функционала, модифицированный метод последовательных
приближений. В работе также показано, что метод может быть с успехом применен к важ-
ным задачам криптографического анализа несимметричных шифров.

Введение Суммирование ведется по всем M конъюнктам


ДНФ, эквивалентной исходной КНФ. Соответствие
Пусть L ( x) – пропозициональная формула в
между булевыми и вещественными переменными
конъюнктивной нормальной форме на множестве следующее: ЛОЖЬ→0, ИСТИНА→1.
булевых переменных x ∈ B {0,1} . Задача ВЫ-
N
Переход от булевой формуле к вещественной ос-
ПОЛНИМОСТЬ (SAT) заключается в том, что бы нован на использовании соответствия:
найти решающий набор x0 ∈ B N {0,1} , такой что  yi ∨ y j → x i + x j
L( x0 ) = ИСТИНА или доказать, что решающего 
 yi ∧ y j → x i x j , где {y i ∈ B, xi ∈ R}
2 2

набора не существует. 
Рассмотрим переход от задачи ВЫПОЛНИ-  y i → (1 − xi )
МОСТЬ к задаче поиска глобального минимума
функционала. Легко заметить, что minN F ( x) = 0 соответству-
x∈E
Пусть дана КНФ:
ет достижению значения ИСТИНА на исходной
M
КНФ.
L( x) = ∩ ci , где ci – дизъюнкты вида Без потери общности можно рассмотреть 3-ДНФ,
i =1
эквивалентную исходной КНФ:
ci = ∪ qi , j ( x j ) . Здесь qi , j ( x j ) = x j или x j
j<N
J ( x ) = ∑ z i2 z 2j z k2 , где
ξ
Сделаем переход к эквивалентной ДНФ:
1 − xi , если xi ∈ ci ( x)
M
zi =  (2)
L = Lɶ ( x) = ∪ Cɶ i , где Cɶ i – конъюнкты вида  xi , если xi ∈ ci ( x)
i =1

Cɶ i = ∩ Qɶ i , j ( x j ) . Здесь Qɶ i , j ( x j ) = qi, j ( x j ) Здесь ci ( x) − i триплет


j<N Дифференцируя функционал по всем перемен-
Рассмотрим функционал вида: ным xi , получаем систему уравнений:
M
minN F ( x) = ∑ Ci ( x) , где
x∈E
∑z
ξ∈Ξ
2
j z k2 xi = ∑ z 2j z k2 , i = 1,2,..P ,
ξ ∈Λ
где
i =1
N Ξ = {ξ , i ∈ ξ : x i ∈ ci ( x)}
Ci ( x) = ∏ Qi , j ( x j ) , где
j =1
(1)
{
Λ = ξ , i ∈ ξ : xi ∈ ci ( x) } или (3)

(1 − x j )2 , если x j ∈ Ci ( x) Ai ( x1,.., xi −1, xi +1,..xn ) ⋅ xi = Bi ( x1,.., xi −1, xi +1,..xn ),


 i = 1,..P
Qi , j ( x j ) =  x j 2 , если x j ∈ Ci ( x)
 Коэффициенты Ai и Bi связаны соотношением:
1 , иначе
Ai ( x1 ,.., xi −1 , xi+1 ,.. xn ) ≥ Bi ( x1 ,.., xi−1 , xi +1 ,.. xn )

68
2008 Компьютерная оптика, том 32, №1

Поясним выбор представления исходной КНФ Зейделя быстрее приводила к решению. Отметим,
именно в виде эквивалентной 3-ДНФ. Дифференци- что данное обстоятельство препятствует напраши-
руя функционал F (x ) (1) по всем переменным xi , вающейся простой схеме распараллеливания про-
цесса решения с разделением данных.
получаем систему уравнений аналогичную (3), но Второй блок – реализация сдвига по градиенту.
количество вкладов в Ai и Bi определятся длиной Рассмотрим (4). Пусть x (t ) является решением, то-
скобок. Любая процедура решения этой системы
гда Φ( x (t )) = 0 . Уравнение (5) переписывается в
при произвольной длине скобок будет естественным
образом приводить к большим ошибкам округления. виде A( x (t )) ⋅ x (t ) − B( x (t )) = 0 . Это необходи-
Ограничивая число переменных в скобках, мы ис- мое условие, которому должен удовлетворять век-
ключаем эту техническую трудность. тор решения. Если текущее t –е приближение x (t )
Рассмотрим систему (3), как нелинейное опера- не является решением, то
торное уравнение:
Ai ( x (t )) ⋅ xi (t ) − Bi ( x (t )) = pi ≠ 0 . Для итератив-
Φ ( x) = 0 (4)
ной формулы: Ai ( x (t )) ⋅ xi (t + 1) − Bi ( x (t )) = pi .
Как показано в [5] применение метода Ньютона
к решению данного уравнения неэффективно, т.к. Следовательно, что бы удовлетворить необходимо-
решение принадлежит ядру производного операто- му условию, необходимо перейти к вектору:
ра. Как альтернатива был предложен метод после- xi (t + 1) = xi (t ) + pi / Ai (6)
довательных приближений с «инерцией»[2]:
K Очевидно, что после реализации (6) возможна
( ∑∑ α p xi (t − p ) x j (t − p ) ) xk (t + 1) =
2 2
ситуация, когда xi (t + 1) ∉ R[0,1] . В этом случае
p =0 ξ ∈Ξ
необходимо штрафным способом ограничивать
∑ x (t ) x (t ) ∼ A ⋅ x (t + 1) = B
ξ
∈Λ
2
j
2
k k (5) xi (t + 1) , иначе метод начинает экспоненциально
расходиться. Особенно это проявляется на K-SAT
K формулах при K>4. При приближении к решению
∑α p =1
p =1 , где α p ∈ R[0,1] скорость сходимости может сильно уменьшаться,
т.е. алгоритм формирует цикл лежащий на некото-
Имеется ввиду то, что итерации происходят для ром плато (поверхность, определяемая функциона-
вещественных чисел, а итоговый или промежуточ- лом) и траектория, образованная последовательны-
N
ный вектор проектируется на B {0,1} , и уже на ми приближениями более не выходит за пределы
этого плато. Чтобы сойти с плато и продолжить схо-
булевом векторе проверяется SAT. Ниже мы опи-
димость к решению применяется т.н. метод смены
шем различные модификации и гибридизации ме-
траектории.
тода последовательных приближений с «инерцией»
Метод смены траектории заключается в поиске
в применении к решению задачи K-SAT, и покажем
нового вектора приближения, который бы обладал
способы повышения эффективности алгоритма.
свойствами не худшими, чем текущий вектор при-
Гибридизация алгоритма ближения, но позволял бы продолжить поиск реше-
Основная процедура состоит из последователь- ния. Суть метода нахождения такого вектора в сле-
ных итераций, которые совмещают метод последо- дующем.
вательных приближений и сдвиг по антиградиенту, Рассмотрим 3-КНФ, эквивалентную исходной 3-
т.к. правая часть (3) это не что иное, как антигради- ДНФ (1):
ент исходного функционала. K ( x) = ∏ ( zi + z j + zk ) , где
Итерация состоит из двух блоков. Первый блок, ξ
определяется формулой (5), используется схема
Зейделя. Суть схемы Зейделя в том, что при нахож-  xi , если xi ∈ ci ( x)
zi =  (7)
дении очередного xi (t + 1) на (t + 1) -й итерации, 1 − xi , если xi ∈ ci ( x)
это значение подставляется вместо xi (t ) . Необхо-
Здесь ci ( x) − i триплет.
димо отметить, что реализация алгоритма допускает
использование схемы Якоби, когда найденные K ( x) = 1 ⇔ ( zi + z j + zk ) ≠ 0, ∀ξ
xi (t + 1) не используются в текущей итерации. Те-
Для данного приближения x , рассмотрим мно-
сты показали, что схема Зейделя более устойчива в жество переменных:
E 0 = { xi ∃ триплет ci : xi или¬ xi ∈ ci & ci ( x ) = 0 }
применении к решаемой задаче. Именно, после каж-
дой итерации по схеме Зейделя значение функцио-
нала монотонно уменьшается, чего нельзя сказать о
схеме Якоби. Кроме того, во всех случаях схема С вероятностью m_p поменяем значения xi на про-

69
Алгоритм минимизации функционала, ассоциированного с задачей 3-SAT… В.И. Дулькейт, Р.Т. Файзуллин, И.Г. Хныкин

тивоположные. При этом, вероятность того, что www.lri.fr/~simon/, тесты библиотеки SATLib
другие триплеты станут невыполнимыми не высока. www.cs.ubc.ca/~hoos/, тесты, сформированные для
Экспериментально установлено, что полученный задач факторизации и дискретного логарифмирова-
вектор x0 обладает свойствами не худшими, чем x ния, тесты для КНФ больших размерностей, сфор-
мированные случайным образом.
(количество невыполнимых триплетов до и после
операции примерно одинаково). Используя данный Результаты - метод последовательных
вектор x0 в качестве нового начального приближе- приближений с инерцией
ния, алгоритм очень быстро (в большинстве случаев Основной результат вычислительных экспери-
за 5-10 итераций) находит следующее приближение, ментов относительно модифицированного метода
последовательных приближений, проводившихся
на котором функционал F ( x ) достигает значения для случайного наполнения наборов скобок SAT и
не хуже, чем на векторе x . При этом, очень часто, 3-SAT, представлен в [3]. При соотношении
удается проскочить плато, но при дальнейшем дви- N
жении по новой траектории метод может зациклить- θ= ≤ 0.5 , где N это число переменных, M чис-
ся на другом плато. Тогда метод смены траектории M
повторяется. ло скобок в 3-SAT (эксперименты проводились
вплоть до N ≈ 10 , M ≈ 2 ⋅10 ), итерационная
Дополнительно рассмотрим множество: 6 6

E1 = { xi ∃ триплет ci : xi или¬ xi ∈ ci & ci ( x ) = 1} процедура всегда сходится к решению. Но при уве-


личении θ скорость сходимости резко падает и, хо-
Введем вероятности m_p0, m_p1. С вероятно- тя большинство компонент решения x формирует-
стью m_p0 при смене траектории будем использо- ся верно, и быстро, оставшаяся часть оказывается
вать множество E 0 . С вероятностью m_p1 – мно- практически недостижимой.
жество E1 . Вероятность m_p0 влияет на величину Результаты - метод последовательных
изменения вектора и при этом количество невыпол- приближений с инерцией (+ сдвиг по градиенту)
нимых триплетов не увеличивается. Вероятность
Оказалось, что сдвиг по градиенту хорошо со-
m_p1 влияет на качественное изменение вектора,
кращает погрешности и ускоряет сходимость ал-
количество невыполнимых триплетов может увели-
горитма. Вычислительные эксперименты со слу-
читься. В принципе, чем выше m_p1, тем меньшую
чайными формулами показали заметное уменьше-
роль играют рестарты. Метод смены траектории
ние времени решения тестов. Число решенных
применяется при достижении условия
примеров увеличилось примерно на 20%. Приме-
F ( x2 ) − F ( x1 ) < ε 2 . нение данного приема позволило достаточно эф-
фективно решать тесты uf20-91 (из 1000 тестов
Преобразование исходной КНФ решены 703). Однако некоторые тесты решались
методом резолюции только после задания определенного начального
Преобразование позволяет получить КНФ с приближения, что говорит о необходимости ре-
меньшим количеством дизъюнктов и литералов, эк- стартов. На примерах uf250-1065 алгоритм пока-
вивалентную исходной. зал результат 6% от стандартных трудных тестов
«Резольвента» – дизъюнкция конъюнктов, отли- (предыдущая версия алгоритма - 1%). Тесты SAT-
чающихся знаком по единственной переменной. Все 2005 (OKGenerator10000-42000 – 10000 перемен-
возможные резольвенты добавляются к КНФ и ис- ных, 42000 скобок) использовались в сокращен-
пользуются для вычисления других резольвент. ной форме. Максимально удалось решить под-
Дублирующие конъюнкты и тавтологии удаля- формулы из 36000 скобок (предыдущая версия ал-
ются, и используется сокращенная процедура с глу- горитма – 35000 скобок). На подформулах из
биной рекурсии 1. Вычислительная сложность про- более чем 36000 скобок метод зацикливается на
цедуры O ( n ⋅ log n ) . Метод резолюции в примене- некотором плато. Это говорит о необходимости
нии к КНФ, ассоциированных с задачами смены траектории.
факторизации и дискретного логарифмирования (см. Результаты - метод последовательных
ниже) позволяет уменьшить исходное число конъ- приближений с инерцией (+ метод смены
юнктов до 50%. траектории)
Подробно о методе резолюций можно найти в [4] Метод смены траектории существенно увеличил
Результаты численных экспериментов число решаемых примеров. Результаты представле-
После каждой модификации проводилось тести- ны в таблице 1.
рование алгоритма для определения эффективности Увеличение разрядности вычислений
проделанных изменений. При тестировании исполь- Была исследована сходимость алгоритма при
зовалось несколько типов примеров: тесты с сорев- увеличении разрядности вычислений. Испытания с
нований решателей SAT 2005 года типами DOUBLE и FLOAT показали преимущество

70
2008 Компьютерная оптика, том 32, №1

вычислений с двойной точностью. При переходе на также увеличивается. Дальнейшее увеличение раз-
тип DOUBLE количество решенных примеров уве- рядности к значимому эффекту не приводит.
личивается на 10%, скорость сходимости в среднем
Таблица 1. Результаты тестирования алгоритма + метод смены траектории
Наименование Количество ли- Количество Число те- % решенных Максимальное
теста тералов (N) дизъюнктов (M) стов тестов число итераций
Backbone-minimal Sub-instances (формулы с минимальным хребтом), 3-SAT
RTI 100 429 500 98,6 19988
BMS 100 <429 500 79,8 29831
Controlled Backbone Size Instances (b – размер хребта), 3-SAT
CBS_b10 100 403 1000 100 38972
CBS_b10 100 449 1000 100 38880
CBS_b90 100 449 1000 98 29738
Uniform Random 3-SAT (UF)
uf20-91 20 91 1000 100 448
uf250-1065 250 1065 100 98 9731
SAT-encoded "Flat" Graph Colouring Problems
flat30-60 90 300 100 100 4317

Возможные практические применения лучших переборных алгоритмов)


Знак '>' означает, что за указанное время решение
В последнее время наблюдается повышенный
найдено не было
интерес к проблеме кодирования криптографиче-
Для группы задач длины до 72 бит факторизуе-
ских алгоритмов в терминах задачи выполнимости
мого числа были получены точные решения. При
(SAT). В работе [1] эскизно иллюстрируется подход,
этом эффективность предложенного метода превос-
позволяющий в принципе свести задачу факториза-
ходит известные нам алгоритмы.
ции к SAT. Целью данного пункта статьи является
Другой интересный результат в том, что уже
построение алгоритмов генерации эквивалентных,
после первых нескольких сотен итераций метод
но различных КНФ и последующей минимизации
находит более 59% верных бит решения. Труд-
ассоциированного функционала, для задачи факто-
ность заключается в определении, какие именно
ризации, задачи дискретного логарифмирования, за-
биты были определены верно. При этом при росте
дачи дискретного логарифмирования на эллиптиче-
числа бит исходного факторизуемого числа, про-
ской кривой.
исходит рост процентного отношения числа вер-
Результаты работы алгоритма для задачи ных бит для соотношения, определяющего факто-
факторизации ризуемое число (см. Рис. 1).
Результаты приведены в табл. 2.

Таблица 2. Результаты тестирования полного


алгоритма для задачи факторизации.
1* 2* 3* 4* 5* 6*
20 254 4979 0.1 с 0.1 с 0.1 с
32 801 17867 2 м >1 ч 1.8м
40 990 22333 7 м >1 ч 12 м
44 1199 27291 36 м >1 ч >1 ч
48 1428 32741 3,5 ч >10ч >10ч
56 1946 45141 36 м >10ч >10ч
60 2235 52079 10,2ч >20ч >20ч
68 2873 67455 79 ч >100ч >100ч
72 3222 75881 168ч >200ч >200ч
1*- Число бит в факторизуемом числе
2*- Количество литералов Рис.1. Рост процентного отношения числа верных бит к
3*- Количество дизъюнктов числу бит факторизуемого числа.
4*- Время решения методом последовательных
приближений Для тестирования использовалось 50 различных
5*- Время решения алгоритмом RANOV (победи- тестов для каждой размерности. В качестве сомно-
тель 2005 г.) жителей выбирались числа, удовлетворяющие всем
6*- Время решения алгоритмом SATz (один из тестам, гарантирующим криптостойкость RSA. На

71
Алгоритм минимизации функционала, ассоциированного с задачей 3-SAT… В.И. Дулькейт, Р.Т. Файзуллин, И.Г. Хныкин

рисунке представлены усредненные данные. Обра- Другим часто встречающимся выражением явля-
тим внимание на то, что вне зависимости от размер- ется:
ности задачи для каждого теста проводилось всего
1000 итераций. Исходя из таблицы 2 можно сделать x = A⊕ B ⊕C (10)
предположение о том, что размерность 56 бит явля- Поступая аналогичным образом, получаем экви-
ется «слабой» для алгоритма минимизации. валентную формулу:

( x ∨ ( A ⊕ B ⊕ C )) ( x ∨ ( A ⊕ B ⊕ C ) ) =
Сведение к КНФ задачи факторизации
Рассмотрим непосредственно алгоритм сведения
(11)
( Ax ⊕ Bx ⊕ Cx ⊕ x )( Ax ⊕ Bx ⊕ C x )
к КНФ задачи факторизации. Требуется для задан-
ного числа n получить КНФ, решающий набор кото-
рой существует тогда, и только тогда когда n со-
ставное число. Кроме того, решающий набор дол- Для представления правой части в виде КНФ
жен содержать все биты двоичного представления воспользуемся леммами 1, 2.
нетривиальных делителей n. Без потери общности,
рассмотрим классический алгоритм умножения Лемма 1.

(xδ ) , где в
«столбиком». Будем отождествлять биты сомножи- N
телей и результата с литералами (свободными логи-
ческими переменными). Результат умножения пер-
⊕ xi =
i =1

{δ } ∈M N
1
1
∨ x2δ 21 ∨ ⋯ ∨ x δNN
вого сомножителя на i-ый бит второго можно пред- i

ставить в виде вектора Pi . Именно суммирование левой части сумма по модулю 2, M N – множество
всех этих векторов представляет основную слож- двоичных векторов длины N, содержащих чётное
ность. Поэтому предлагается выполнять эту опера- число нулей. Операция «возведения в степень» име-
цию последовательно с сохранением результата в ет стандартный для булевой алгебры смысл:

промежуточных векторах S k .  x, δ =0
Весь процесс вычисления можно разбить на три xδ = 
этапа относительно операции сложения:  x, δ =1
1) Сложение векторов составленных из произведе-
ний двух литералов. Выполняется один раз. В Лемма 2.
результате этой операции будет заполнен вспо-
N L
∨ xi ∨ ∏ y j j =
могательный вектор сумм S1 и вычислено два δi σ
младших бита результата. Условно данный этап i =1
j =1
можно записать так: P1 + P2 = ( S2 , r2 , r1 ) .

( )
πk
 N δi L σ j 
2) Суммирование вектора S k с вектором произве-
∏  i∨=1 xi ∨ j∨=1 y j 
{π k }∈2 {0,0,…,0}  
дений. Выполняется N-3 раз. В результате за- L

полняется массив S k +1 и вычисляется очеред-


ной бит результата После применения леммы 1 будут получены

(d ∨ abc ∨ x yc)
конъюнкты следующего вида:
( )
S i − 2 + Pi = S i −1 , ri , i = 3… N − 1 , т.е. можно выделить 3 вида
дизъюнктов внутри каждого конъюнкта:
Последнее суммирование вектора S k с векто- 1) Одиночные литералы (то к чему следует стре-
ром произведений. Выполняется один раз. В ре- миться: в правильной КНФ все дизъюнкту долж-
зультате вычисляются оставшиеся биты резуль- ны быть одиночными литералами).

∏ xδ
тата.
2) Дизъюнкты вида i
, которые по правилу де
S N − 2 + PN = (r2 N … rN )
i
Моргана можно легко свести к одиночным лите-
Кодирование основных операций ралам.
Теперь перейдём к рассмотрению идеи генера- 3) Дизъюнкты вида ∏ xδ i
i
, наиболее трудный
ции КНФ. Простейший случай – приравнивание од- случай, сведение скобок с такими дизъюнктами к
ного литерала другому: x = y . Данное равенство КНФ иллюстрируется леммой 2.
будет справедливо тогда и только тогда, когда ис- Отдельного рассмотрения заслуживает операция
тинна формула ( x ∨ y )( x ∨ y ) . вычисления переноса в следующий разряд при сум-
мировании трёх слагаемых. Перенос может быть
вычислен через соответствующую сумму:

72
2008 Компьютерная оптика, том 32, №1

(
c = carry( x, y, z, sum ) = sum ⊕ xyz ⊕ x y z ) в 59.5% для 50 бит. Кроме того, показано наличие
«слабых» размерностей, для которых метод являет-
Выполнение данного равенства эквивалентно ис- ся эффективным. Аналогичные результаты получе-
тинности следующей формулы: ны и для задачи дискретного логарифмирования, но

(c ∨ ( sum ⊕ xyz ⊕ x yz )) ⋅
основным препятствием здесь является высокая
размерность получающихся задач, так для 1024 бит
число переменных в функционале оценивается ве-
.
( c ∨ ( sum ⊕ xyz ⊕ x yz ) )
личиной 10 000 000 000, а число дизъюнктов на по-
рядок больше. Результаты точного решения КНФ,
эквивалентных задаче дискретного логарифмирова-
Приведённое выражение можно преобразовать ния приведены в таблице 3.
положив: x = c , A = sum , B = xyz , C = x y z . Таблица 3. Результаты тестирования полного
И далее описанной выше процедурой можно по- алгоритма для задачи дискретного логарифмирования.
строить соответствующую КНФ. Трудоемкость по- 1* 2* 3* 4* 5* 6*
2
лученного алгоритма оценивается, как O ( n ) в за- 18 28224 448018 63.57 97.23 81.16
20 38840 623239 108.20 >1800 >1800
висимости от количества бит исходного числа. Для 22 51832 839032 182.73 >1800 >1800
факторизации числа, представляемого двоичным 24 67440 1099630 277.46 >1800 >1800
вектором длиной 1024 бит получились КНФ с 26 85904 1409250 417.71 >1800 >1800
500 000 переменными 12000 000 скобок. Отметим,
1*- Размерность, бит
что результат о превышении числа верных бит по-
2*- Количество литералов
сле нескольких тысяч итераций алгоритма (5) отно-
3*- Количество дизъюнктов
сится именно к числу переменных, например, из
4*- Время решения методом последовательных
500 000 переменных мы получаем в среднем 300 000
приближений, сек
верных, что в силу очевидных соотношений между
5*- Время решения алгоритмом RANOV, сек (по-
битами переноса по строке, отвечающей нулевому
бедитель 2005 г.)
биту, может существенно облегчить решение основ-
6*- Время решения алгоритмом SATz, сек (один
ной задачи.
из лучших переборных алгоритмов)
Сведение к КНФ других задач криптоанализа Знак '>' означает, что за указанное время решение
Были построены аналогичные алгоритмы сведе- найдено не было
ния для задач дискретного логарифмирования и Литература
дискретного логарифмирования на эллиптической
1. Беспалов Д.В., О логических выражениях для задачи
кривой. Предложен алгоритм генерации множества 2-ФАКТОРИЗАЦИЯ // Беспалов Д.В. Семёнов
эквивалентных КНФ для задачи факторизации, учи- А.А.Вычислительные технологии. – 2002. – Т.7 – Ч.2.
тывающий неделимость на малые простые числа. 2. Файзуллин Р.Т. О решении нелинейных алгебраиче-
Последнее обстоятельство позволяет строить парал- ских систем гидравлики // Сибирский журнал инду-
лельные версии приведенных выше алгоритмов и стриальной математики. -1999.-№2. –С. 176-184.
методикой «голосования бит» определять верные 3. Файзуллин Р.Т., Алгоритм минимизации функцио-
биты с большой вероятностью. нала, ассоциированного с задачей 3-SAT и его прак-
тические применения, // Файзуллин Р.Т., Хныкин
Заключение И.Г., Дулькейт В.И., Салаев Е.В.- г.Челябинск, 2007.
Разработанный метод не уступает известным ме- 4. Хныкин И.Г., Модификация КНФ, эквивалентных
задачам криптоанализа асимметричных шифров
тодам решения SAT на многих группах тестовых
методом резолюции // ИТМУ № 8, 2007.
примеров и превосходит их на тестах задачи факто- 5. Cook S.A. The Complexity of Theorem Proving Proce-
ризации больших размерностей. Показан рост отно- dures. Proceedings Third Annual ACM Symposium on
сительного числа верно найденных бит для задачи Theory of Computing, May 1971.
факторизации с ростом размерности задачи, так для
рабочего числа бит 1024 среднее значение верных
бит равно 61.75%, что больше стартового значения

73
ALGORITHM FOR MINIMIZATION OF FUNCTIONAL ASSOCIATED WITH 3-SAT PROBLEM AND
ITS PRACTICAL USAGE
V.I. Dulkeyt1, R.T. Faizullin1, I.G. Khnykin1
1 Omsk F.M. Dostoevsky State University

Abstract
One of the most challenging issues in discrete mathematics is a problem of finding a deci-
sive set in SATISFIABILITY application. After Cook’s classical paper [5], efforts of many re-
searchers were aimed at build-up of heuristic direct-search algorithms to solve the satisfaction
of a Conjuctive Normal Form (CNF). A perspective trend is the reduction of CNF to a continu-
ous analogue, to searching absolute minimum of the associated function. In this paper we
demonstrate feasibility of choice of a special function form and propose application of the
modified method of successive approximations to solve a set of nonlinear algebraic equations,
which define stationary points of the function. The paper also shows that the method can be
successfully applied to solve critical issues of the cryptoanalysis of nonsymmetric codes.
Keywords: undecidable problems, computability theory, complexity classes.
Citation: Dulkeyt VI, Faizullin RT, Khnykin IG. Function minimization algorithm for 3-
SAT and its practical applications [In Russian]. Computer Optics 2008; 32(1): 68-73.
References
[1] Bespalov DV, Semenov AA. About logical statements [4] Khnykin IG. CNF modifications equivalent to
for 2-FACTORIZATION problem [In Russian]. Cal- problems of asymmetric cipher cryptoanalysis by a
culation Technologies 2002; 7(2). resolution technique [In Russian]. ITMU (Information
[2] Faizullin,RT. On solution of nonlinear algebraic Technologies for Modeling and Control) 2007; 8.
systems of hydraulics [In Russian]. Sib. Zh. Ind. [5] Cook SA. The Complexity of Theorem Proving Pro-
Mat.1999; 2(2): 176-184. cedures. Proceedings Third Annual ACM Symposium
[3] Faizullin RT, Khnykin IG, Dulkeyt VI, Salaev EV. on Theory of Computing, May 1971.
Function minimization algorithm for 3-SAT and its
practical applications [In Russian]. Chelyabinsk 2007.