УДК 512.55 Б01 10.17223/2226308Х/10/63
О ВОЗМОЖНОСТИ ПРИМЕНЕНИЯ МЕТОДА ЭЛЛИПСОИДОВ ДЛЯ РАСПОЗНАВАНИЯ ПОРОГОВЫХ ФУНКЦИЙ
И. И. Лапиков
Для распознавания принадлежности произвольной булевой функции к классу пороговых предлагается использовать модификацию метода эллипсоидов, предложенную Л. Г. Хачияном. Полиномиальная сложность данного алгоритма позволяет сделать вывод о полиномиальной сложности задачи распознавания принадлежности произвольной булевой функции к классу пороговых.
Ключевые слова: пороговые функции, метод эллипсоидов, алгоритм Хачияна.
Предложенный в 1979 году Л. Г. Хачияном алгоритм решения систем линейных неравенств с целочисленными коэффициентами и действительными неизвестными
ааЖ1 + ... + ^ Ь», г = 1,..., т, (1)
позволил классифицировать сложность данной задачи как полиномиальную [1]. Сложность алгоритма характеризуется значением максимального количества итераций
т = 6п2Ь,
где Ь
+ 1 —длина входа алгоритма,
Е 1 + 1) + Е^О^! + 1) +1о§2 тп
¿,.7 = 1 ¿=1
т.е. количество битов, необходимых для записи системы (1) в двоичном виде.
Алгоритм основан на построении последовательности эллипсоидов убывающего объёма. Важно подчеркнуть, что после выполнения указанного числа итераций алгоритм либо обнаруживает искомое решение, либо позволяет заключить, что система (1) несовместна. Метод эллипсоидов допускает множественное применение для решения различных прикладных математических задач.
Рассмотрим важную проблему пороговой логики — задачу распознавания принадлежности произвольной булевой функции к классу пороговых [2 - 4].
Определение 1. Булева функция т(ж1,...,жга) называется пороговой, если для неё существует линейное неравенство с действительными коэффициентами
+ ... + а„ж„ > Ь, (2)
которое выполняется на тех и только тех наборах (ж1,...,жга), для которых т(х1,..., хп) = 1. Коэффициенты а» называются весами, а Ь — порогом.
Задача проверки, является ли произвольная булева функция f (х1,... , хп) пороговой, несмотря на простоту постановки, является сложной. Для её решения предложены итеративные алгоритмы [5, 6]. Стоит отметить, что данная задача может быть сведена к анализу и решению систем линейных неравенств вида (1). Действительно, произвольная булева функция f (х1,... , хп) может быть задана таблично. В предположении, что f — пороговая, подстановка в неравенство (2) наборов (е^,... , е^), на которых функция равна 1, приведёт к выполнению неравенства, а наборов ($1г),... , $1г)), на которых функция равна 0, — к его невыполнению. Таким образом, будет построена система
а»^ + ... + а„еПг) ^ Ь, + ... + < Ь,
164 Прикладная дискретная математика. Приложение
которая по существу является системой вида (1). Таким образом, применение метода эллипсоидов позволяет решить задачу характеризации пороговой функции с полиномиальной и заведомо известной сложностью.
Отмечая высокую принципиальную значимость этого результата, следует, тем не менее, признать, что для пороговых функций, как показывают эксперименты, итеративные алгоритмы, как правило, выигрывают у метода эллипсоидов. Однако ни один из известных на сегодняшний день итеративных алгоритмов не позволяет дать отрицательного ответа, то есть что заданная произвольная булева функция не является пороговой, в то время как метод эллипсоидов эту задачу решает. Практические примеры применения алгоритма Хачияна и его модификаций выявили ещё одну особенность этого метода — рост модуля коэффициентов а] в ходе работы алгоритма.
п - № С целью получения дискретных значений текущие действительные выражения для а]
требуют корректировки, для которой необходимо построение самостоятельной процедуры. Корректировка может включать процедуры деноминации текущих значений и их округления.
Определение 2. Под деноминацией будем понимать снижение значения а^ за счёт деления на 10^ при подходящим образом выбранном ё. Коэффициент ё будем называть порядком деноминации.
Рассмотрим процедуры распознавания принадлежности булевой фукции к классу пороговых и деноминации на примере. Пусть булева функция f от трёх переменных задана таблично:
Х1 Х2 х3 / (Ж1,Ж2,Х3) Х1 Х2 хз / (Х1,Х2,Х3)
0 0 0 1 1 0 0 1
0 0 1 0 1 0 1 1
0 1 0 0 1 1 0 0
0 1 1 0 1 1 1 0
По описанной выше методике сформируем систему линейных неравенств:
' Ьо ^ 0, аз - Ьо ^ -1, а2 - Ьо ^ -1,
а2 + аз - Ьо ^ -1, (3)
' -а1 + Ьо ^ 0, (3)
-а1 - аз + Ьо ^ 0, а1 + а2 - Ьо ^ -1, а1 + а2 + аз - Ьо ^ -1.
Решим систему (3) модифицированным методом эллипсоидов [7]. Алгоритм находит решение системы за 6 итераций и получает вектор решений X = (а1, а2, а3, Ьо) = = (411789793,477, -445309873,255, -207254306,819, -5919482,343). Проведём процедуру деноминации полученного решения с порядком ё = 6 и округление. В результате получим вектор X = (а1, а2, а3, Ьо) = (411, -445, -207, -6) и пороговое представление булевой функции f:
f (^1,^2, £з) = 0 ^ ¿(^1, £2, £з) < -6.
Здесь Ь(е1 ,е2,ез) = 411е1 - 445е2 - 207ез.
В данном примере порядок деноминации равен только 6, но практические эксперименты показывают значительный рост порядка деноминации при увеличении количества аргументов функции. Это обусловливает необходимость проверки принадлежности полученного в результате деноминации и округления решения к многограннику решений рассматриваемой системы неравенств. Поскольку в примере найдено решение системы (3), принадлежащее многограннику её решений, можно сделать вывод, что функция f принадлежит к классу пороговых; если бы метод эллипсоидов показал несовместность системы (3), то можно было бы утверждать, что функция не является пороговой.
Таким образом, сделаем вывод о возможности применения метода эллипсоидов для распознавания пороговых булевых функций. Детальное изучение процесса его работы и сравнительный анализ с итеративными алгоритмами, в том числе в к-значной области, представляет актуальное направление для дальнейших исследований.
ЛИТЕРАТУРА
1. Хачиян Л. Г. Полиномиальные алгоритмы в линейном программировании // ЖВМиМФ. 1980. Вып. 20. №1. С. 51-68.
2. Зуев А. Ю. Пороговые функции и пороговые представления булевых функций // Математические вопросы кибернетики. 1994. №5. С. 5-61.
3. Никонов В. Г. Пороговые представления булевых функций // Обозрение прикл. и про-мышл. математики. 1994. Вып. 1. №3. С. 458-545.
4. Кудрявцев Л. Г. Теория тестового распознавания // Дискретная математика. 2006. Вып. 18. №3. С. 3-34.
5. Бурделев А. В., Никонов В. Г., Лапиков И. И. Распознавание параметров узла защиты информации, реализованного пороговой к-значной функцией // Труды СПИИРАН. 2016. Вып. 46. С. 108-127 .
6. Дертоузос П. Пороговая логика. М.: Мир, 1967. 344 с.
7. Лапиков И. И., Никонов В. Г. Адаптивный алгоритм решения систем неравенств с к-знач-ными неизвестными // Труды Военно-космической академии им. А. Ф. Можайского. 2016. Вып.1. С. 88-94.
УДК 512.55 Б01 10.17223/2226308Х/10/64
ПРИМЕНЕНИЕ ПОРОГОВЫХ ПРИБЛИЖЕНИЙ ДЛЯ РЕШЕНИЯ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ В МЕТОДЕ РАЗДЕЛЯЮЩИХ ПЛОСКОСТЕЙ
В. Г. Никонов, А. Н. Шурупов
В методе разделяющих плоскостей предлагается перейти от системы линейных неравенств, эквивалентной нелинейному булеву уравнению, к системе линейных неравенств, являющейся следствием исходного уравнения. Вводится понятие им-пликативного к-приближения в пороговом базисе, которое характеризуется, с одной стороны, числом к линейных неравенств, а с другой стороны, дефицитом — мерой близости импликативного приближения к исходной системе неравенств. Предельный случай — 1-приближение, как и остальные, не является однозначным. Отказ от свойства импликативности позволяет ввести понятие статистического порогового приближения для булевой функции. Введённые понятия могут быть использованы для сокращения числа линейных неравенств в системе, порождённой исходным нелинейным уравнением, с сохранением возможности её решения.