4-Variable Boolean Functions Representations Classification in the Form of Nonlinearity Minimal Degree Separating Surfaces

Cover Page

Cite item

Full Text

Abstract

In this paper, a classification study was carried out on the construction of 4-variable Boolean functions representations classification in the form of nonlinearity minimal degree separating surfaces. To construct these surfaces was used an adaptive ellipsoid algorithm based on the Khachiyan algorithm for solving systems of linear inequalities with integer coefficients. To define Boolean functions, we used its graphical representation on the projection of a four-dimensional cube. The classification study carried out was not limited only to the search for a separating surface of the minimum degree of nonlinearity. Additionally, the task was set to find the surface with the smallest number of non-zero nonlinear terms in accordance with a given lexicographic order. Based on the results of the study, a catalog of separating surfaces of the nonlinearity minimum degree with the smallest number of nonlinear terms for Boolean functions of 4 variables is constructed, and it is also determined that 15 classes of geometric equivalence functions have a minimum degree of nonlinearity of 1, 166 - degree 2, 40 - degree 3, and 1 function degree 4.

Full Text

Понятие разделяющей поверхности для булевой функции f(x1, … , xn) введено в работе [1] как равенство в действительной области вида a1x1 + ... + anxn + a12x1x2 + ... + aijxixj + ... + a1...nx1 ... xn = b, (1) где aν, b - целочисленные; xi = {0, 1} - булевы, такое что для всех векторов (x1, … , xn) = (ε1, … , εn), в которых функция f(ε1, … , εn) = 1, выполняется неравенство f(ε1, … , εn) = 1 ⇔ a1ε1 + ... + anεn + a12ε1ε2 + (2) + ... + aijεiεj + ... + a1...nε1 ... εn > b, а на всех наборах (x1, … , xn) = (δ1, … , δn), в которых f(δ1, … , δn) = 0, выполняется неравенство f(δ1, … , δn) = 0 ⇔ a1δ1 + ... + anδn + a12δ1δ2 + (3) + ... + aijδiδj + ... + a1...nδ1 ... δn ≤ b. Выражение (2) будем называть заданием единичных вершин, а выражение (3) заданием нулевых вершин булевой функции с помощью разделяющей поверхности. В работе [1] методы сведения булевых функций и уравнений к равносильным системам неравенств в действительной области названы псевдобулевыми, так как функции с булевыми переменными, принимающие значения в действительной области были названы псевдобулевыми в ранее опубликованных трудах [2]. Известно, что для любой булевой функции разделяющая поверхность всегда существует, более того, для конкретной булевой функции можно построить бесконечное количество разделяющих поверхностей [1]. В левой части выражения (1) стоит полином от переменных x1, … , xn P(x1, … , xn) = a1x1 + ... + anxn + a12x1x2 + (4) + ... + aijxixj + ... + a1...nx1 ... xn, в котором все слагаемые содержат переменные xi в степени не выше первой, так как для булевых переменных xi справедливо очевидное неравенство xi2 = xi. В связи с этим степень нелинейности полинома P(x1, … , xn) - deg P(x1, … , xn) - определяется как наибольшее количество умножающихся переменных в слагаемых представления (4) с ненулевыми коэффициентами. Если для функции f(x1, … , xn) существует разделяющая поверхность с полиномом P(x1, … , xn), степень нелинейности которого равна 1, то такая функция называется пороговой: f(x1, … , xn) = 1 ⇔ a1x1 + ... + anxn > b. (5) Изучению пороговых функций посвящено большое количество работ, составляющих вместе с рассмотрением приложений, самостоятельное направление дискретной математики - пороговую логику. Во многом пороговая логика стала основой для построения систем искусственного интеллекта и автоматизированного управления, базой для решения сложных трудно формализуемых задач. С геометрической точки зрения линейное неравенство (5) задает гиперплоскость, которая разделяет n-мерное пространство на два полупространства так, что единичные вершины функции f(x1, … , xn) лежат по одну сторону плоскости, а нулевые - по другую сторону (вершины, лежащие на самой плоскости относятся к нулевым). В силу этого плоскость, задаваемая неравенством (5), названа разделяющей. Функция действительного переменного, стоящая в левой части выражения (1), дифференцируемая, так как задается полиномом, вследствие чего можно констатировать, что выражение (1) определяет разделяющую поверхность так, что по одну сторону ее лежат единичные вершины (см. (2)), а по другую - нулевые вершины (см. (3)). В связи с этим задание булевой функции f(x1, … , xn) с помощью (1) можно назвать заданием f(x1, … , xn) с помощью разделяющей поверхности. Также как и разделяющая плоскость для пороговых функций, разделяющая поверхность для произвольной булевой функции определяется неоднозначно, причем разные представления для одной и той же функции могут иметь различные степени нелинейности задающего неравенство полинома. В то же время для любой булевой функции однозначно определяется параметр df - минимальная степень нелинейности задающего ее полинома в виде (1). Нахождению параметров df и построению разделяющих поверхностей степени df для всех булевых функций от 4-х переменных посвящена настоящая работа. Величина df для функции f(x1, … , xn) имеет не только теоретическое, но и практическое значение, определяя сложность вычислительных операций при задании функции f(x1, … , xn) в виде полиномиального равенства (1), которое можно назвать нелинейным пороговым степени df. Степень нелинейности df является объективной сложностной характеристикой задания (1), которая проявляет себя как в задачах синтеза, так и анализа булевых функций. Традиционные задачи синтеза булевых функций, как правило, связаны с представлением в каком-либо базисе: ДНФ, КНФ, штрихов Шеффера, многочленов Жегалкина и др. При этом применительно к любому конкретному базису все булевы функции делятся на сравнительно легкореализуемые и труднореализуемые. Задание булевых функций с помощью нелинейных пороговых неравенств дает еще один подход к их синтезу, причем с использованием простых арифметических команд, присутствующих практически во всех вычислительных средах. Представление булевых функций в виде неравенств пусть даже нелинейных, может оказаться крайне полезным и в задачах анализа самих булевых функций и при анализе порождаемых ими систем уравнений, так как в большинстве случаев использование традиционных базисов, как правило, крайне затруднительно. В то же время системы булевых уравнений, трансформированные в системы неравенств, могут изучаться, анализироваться и решаться с помощью естественных арифметических приемов, таких как формирование линейных комбинаций - следствий, привлечение алгоритмов дискретной оптимизации, бионических, эволюционных алгоритмов и др. Во всех этих приемах, как правило, чем меньше степень нелинейности разделяющей поверхности, тем выше их эффективность. Для построения разделяющей поверхности может быть использован полиномиальный алгоритм Л.Г. Хачияна [3]. Действительно, в общем виде желая найти разделяющую поверхность для функции f(x1, … , xn), можно в нелинейный полином P(x1, … , xn) (см. (4)) подставить сначала все единичные вершины функции f(x1, … , xn) и выписать неравенства (6) а затем - нулевые вершины в которых (7) Общая система, состоящая из подсистем (6) и (7) (8) является системой линейных неравенств относительно неизвестных коэффициентов разделяющей поверхности a1, … , a1…n, определяющих полином P(x1, … , xn). Система (8) будет системой c целыми коэффициентами и действительными неизвестными, поэтому для ее решения может быть применен полиномиальный алгоритм Л.Г. Хачияна [3]. Если положить в аналитическом представлении полинома P(x1, … , xn) равными нулю все коэффициенты при степенях строго больших некоторого значения d0 и с таким дополнительным условием составить систему (8), то окажется в случае ее совместности, что df ≤ d0, а в случае несовместности df > d0. Такой путь позволит после проведения определенного числа итераций точно определить значение df и найти разделяющую поверхность с такой степенью нелинейности. Известные трудности при таком подходе сопряжены с тем, что прямое применение алгоритма Хачияна может привести, а в большинстве случаев приводит, к нахождению не целочисленных коэффициентов, а дробных и, как показывает практика к значительному разбросу модулей максимальных и минимальных коэффициентов. В связи с этим, для решения задачи была применена модифицированная версия адаптивного алгоритма эллипсоидов, предложенного в работе [4]. В отличии от классического алгоритма Хачияна в адаптивном алгоритме введены дополнительные критерии выхода, т.е. условия завершения работы алгоритма, а также переоценена величина максимального количества итераций алгоритма: (9) где n - количество неизвестных системы (8); h - максимальный по модулю коэффициент СЛН; Mi - количество ненулевых коэффициентов i-го неравенства системы; N = max {Mi} ; m - число неравенств системы [4]. С целью поиска минимальных коэффициентов разделяющих поверхностей в качестве начальной области локализации решений выбран гипершар с центром в точке x0(0, 0, 0, 0) и радиусом R0. Эмпирически установлено, что для решаемых задач по построению разделяющих поверхностей для функций от 4-х переменных минимальным значением исходной области локализации решений, в которую укладываются коэффициенты разделяющих поверхностей является гипершар радиусом R0 = 10 в условиях решаемых задач. При этом значении были найдены разделяющие поверхности минимальных степеней для всех булевых функций от 4-х переменных. Вышеизложенные положения справедливы и для построения разделяющей поверхности булевой функции от произвольного числа переменных. В то же время конкретный и обозримый полигон для применения предложенных приемов представляют булевы функции от 4-х переменных. Наиболее известным классификационным исследованием булевых функций от 4-х переменных является Гарвардский каталог, перечисляющий по типам все булевы функции и содержащий информацию о мощности типов и оптимальных реализациях классифицируемых функций на конкретной элементной базе [5]. Другой каталог был составлен группой японских ученых по руководством профессора Ниномия [6]. В основе этого каталога, также как и Гарвардского, лежит задача построения оптимальной реализации каталогизируемой функции, но для реализации предлагается другая элементная база. Среди трудов отечественных ученых следует выделить исследование [7], в котором проведена классификация минимальных пороговых представлений всех булевых функций 4-х переменных. В этой работе был использован оригинальный и удобный для пользования каталогом принцип классификации функций на основе графов связности единичных вершин. Еще одним ее достоинством являются приведенные доказательства минимальности найденных пороговых представлений геометрическим способом с помощью так называемых систем существенных вершин. Именно этот каталог послужил основой для данного исследования. В каталоге [7] булевы функции от 4-х переменных сгруппированы в 402 типа на основе графов связности единичных вершин, которые образуют 222 класса геометрической эквивалентности. Напомним, что две функции f1(x1, … , xn) и f2(x1, … , xn) называются однотипными, если одна из них переводится в другую с помощью перестановки переменных и навешивания отрицания на некоторые переменные. Две функции f1(x1, … , xn) и f2(x1, … , xn) лежат в одном классе геометрической эквивалентности, если функция f1(x1, … , xn) однотипна функции f2(x1, … , xn) либо ее отрицанию f̅2(x1, … , xn). Принципиальное отличие классификаций минимальных систем разделяющих плоскостей и разделяющих поверхностей минимальной степени нелинейности заключается в том, что уравнения f(x1, … , xn) = 1 и f(x1, … , xn) = 0 приводят к двум различным системам линейных неравенств, в то время как нелинейная разделяющая поверхность для них одна и та же. Выбор 4-х переменных для построения классификации не случаен, так как при n = 4 еще можно провести полные классификационные исследования, представить их в удобном для опубликования виде, получить необходимые суммарные выводы. Действительно, при n = 4 существует 222 класса, геометрической эквивалентности, а при n = 5 их уже несколько десятков тысяч, что не позволяет дать полное обозримое описание изучаемых параметров для всех функций в виде традиционной научной публикации. В предлагаемом нами каталоге используется графическое задание булевых функций в виде геометрического представления на проекции четырехмерного куба (см. рис. 1). Каждой вершине соответствует определенная комбинация входных значений функции. Закрашенные вершины означают, что в точке (x1, x2, x3, x4) функция равна 1, если вершина не закрашена, то - 0. Рис. 1. Геометрическое представление булевой функции от 4-х переменных заданием вершин на проекции четырехмерного куба Fig. 1. 4-variables Boolean functions geometric representation by specifying vertices on the projection of a four-dimensional cube Проведенное классификационное исследование не было ограничено только поиском разделяющей поверхности минимальной степени нелинейности. Дополнительно была поставлена задача - найти поверхность с наименьшим числом ненулевых нелинейных членов. При построении таких поверхностей определен следующий лексикографический порядок весовых коэффициентов a1, … , a1234 a1 > a2 > a3 > a4 > a12 > a13 > a14 > a23 > (10) > a24 > a34 > a123 > a124 > a234 > a1234. Приведем в виде сводной таблицы (табл. 1) классификацию разделяющих поверхностей булевых функций от четырех переменных минимальной степени нелинейности. В столбцах таблицы представлены порядковый номер функции в нашем каталоге, номер в каталоге [7] по типу графа связности, графическое задание функции (см. рис. 1), минимальная степень разделяющей поверхности для данной функции и непосредственно само задание единичных вершин булевой функции с помощью разделяющей поверхности минимальной степени нелинейности с наименьшим числом нелинейных членов в соответствии с отношением порядка (10). Таблица 1 Каталог разделяющих поверхностей минимальной степени нелинейности с наименьшим числом нелинейных членов для булевых функций от 4-х переменных [Catalog of nonlinearity minimal degree separating surfaces with the smallest number of nonlinear terms for 4 variables Boolean functions] По результатам классификации удалось обнаружить что все простейшие непороговые функции, т.е. функции с пороговой структурой (2, 2), для которых либо уравнение f = 0, либо f = 1, задается двумя неравенствами, имеют разделяющую поверхность второй степени, т.е. обладают простейшим нелинейным представлением. Для всех функций с разделяющей поверхностью 3-й степени по крайней мере в одной минимальной системе линейных неравенств, равносильной или уравнению f(x1, x2, x3, x4) = 1, или f(x1, x2, x3, x4) = 0 содержится не менее 4-х неравенств, при этом общее число неравенств в этих двух системах больше или равно 7. Самая сложная для задания разделяющей поверхностью функция № 222 (8.8.1.1) обладает и самым сложным заданием с помощью систем линейных неравенств (8 неравенств для задания уравнения f(x1, x2, x3, x4) = 1 и f(x1, x2, x3, x4) = 0). Данный каталог можно рассматривать как важный источник для проведения последующих исследований как в области псевдобулевой тематики, так и шире - в целом при изучении свойств булевых функций.
×

About the authors

Igor I. Lapikov

MIREA - Russian Technological University

Email: lapikov.i.i@yandex.ru
Cand. Sci. (Eng.); аssociate professor at the Cybersecurity and Digital Technologies Institute of the Russian Technological Moscow, Russian Federation

Vladimir G. Nikonov

Russian Academy of Natural Sciences

Email: nikonovu@yandex.ru
Dr. Sci. (Eng.), Professor, Member at the Presidium of the Russian Academy of Natural Sciences Moscow, Russian Federation

Kristina V. Kasyanenko

S.M.Kirov Military Medical Academy

Email: dr.snegur@gmail.com
lecturer Saint-Petersburg, Russian Federation

References

  1. Balakin G.V., Nikonov V.G. Methods of reducing Boolean equations to systems of threshold relations. Review of the appl. Industrial. Math. 1994. Vol. 1. No. 3. Pp. 389-401. (In Rus.)
  2. Ivanescu P.L., Rudeanu S. Boolean methods in operator research and related areas. Berlin; Heidelberg; New York: Springer Verlag, 1968. 331 p.
  3. Khachiyan L.G. Polynomial algorithms in linear programming. ZHVMIMF. 1980. Vol. 20. No. 1. Pp. 51-68. (In Rus.)
  4. Lapikov I.I. On the possibility of constructing a spatial decomposition algorithm based on geometric parallelization of an adaptive ellipsoid algorithm. Computational Nanotechnology. 2018. No. 1. Pp. 140-145. (In Rus.)
  5. Harisson M.A. Introduction to switching and automata theory. NY: McGraw-Hill, 1964. 499 p.
  6. Ninomiya I. A study of the structures of Boolean functions and its application to the synthesis of switching circuits // Mem. Faculty Engineering, Nagoya Univ. 1961. Vol. 13. No. 2. Pp. 149-363.
  7. Nikonov V.G. Classification of minimal basic representations of all Boolean functions from four variables. Review of the Appl. Industrial. Math. 1994. Vol. 1. No. 3. Pp. 458-545. (In Rus.)

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2022 Yur-VAK

License URL: https://www.urvak.ru/contacts/