Аннотация:
В данной статье изучается задача существования выпуклого продолжения
произвольной булевой функции $f(x_1,x_2,\dots,x_n)$ на множество $[0,1]^n$.
Построено $f_C(x_1,x_2,\dots,x_n)$ – выпуклое продолжение произвольной
булевой функции $f(x_1,x_2,\dots,x_n)$ на множество $[0,1]^n$. На основе
одного конструированного выпуклого продолжения $f_C(x_1,x_2,\dots,x_n)$
доказано, что для любой булевой функции $f(x_1,x_2,\dots,x_n)$ существует
бесконечно много функций, каждая из которых является ее выпуклым продолжением
на $[0,1]^n$. Также конструктивно доказано, что для любой булевой функции
$f(x_1,x_2,\dots,x_n)$ существует единственная функция $f_{DM}(x_1,x_2,\dots,x_n)$,
являющаяся максимальной среди всех ее выпуклых продолжений на множество $[0,1]^n$.
Библиография: 15 названий.
На протяжении многих десятилетий в истории цифровой науки булевы переменные были основными переменными, используемыми в большинстве компьютерных операций. Встречается много основных задач, связанных с булевыми переменными, а некоторые задачи, несмотря на зрелость области, не имеют удовлетворительных методов решения. Среди них проблема решения булевых уравнений и систем булевых уравнений [1]. Эта задача имеет множество приложений, таких как синтез, моделирование и тестирование цифровых сетей и систем СБИС, кодирование выходных данных и назначение состояний конечных автоматов, временной анализ и генерация тестов с задержкой-сбоем для комбинационных схем, автоматическая генерация тестовых шаблонов, определение начального состояния в схемах, содержащих петли обратной связи. В области криптографии у этой задачи есть приложения для анализа и взлома блочных шифров, поскольку их можно свести к проблеме решения крупномасштабной системы булевых уравнений [1]–[3]. И в настоящее время теория булевых функций – увлекательная область исследований в области дискретной математики с приложениями к криптографии и теории кодирования [4]. Булевы функции с высокой нелинейностью могут быть использованы для внесения путаницы в алгоритмы блочного шифрования [4], [5]. В связи с этим развивается множество новых направлений и алгоритмов решения систем булевых уравнений. Одно из направлений заключается в том, что, во-первых, система булевых уравнений, заданная над кольцом булевых полиномов, преобразуется в систему уравнений над полем действительных чисел, а во-вторых, преобразованная система сводится либо к задаче численной минимизации соответствующей целевой функции [6]–[8], либо к задаче MILP или QUBO [9], либо к системе полиномиальных уравнений, решаемой на множестве целых чисел [1], либо к эквивалентной системе полиномиальных уравнений, решаемой символьными методами [10].
Имеется много способов, позволяющих преобразовать систему булевых уравнений в задачу непрерывной минимизации, поскольку принципиальное отличие таких методов от “переборных” алгоритмов локального поиска состоит в том, что на каждой итерации алгоритма сдвиг по антиградиенту производится по всем переменным одновременно [2], [3], [6]–[8], [11]–[14]. Но одна из основных проблем, возникающая при применении этих способов, заключается в том, что минимизируемая целевая функция в искомой области может иметь множество локальных минимумов, что значительно усложняет их практическое использование [2], [3], [6]–[8], [11], [12]. По теореме Баротова полилинейное продолжение булевой функции тоже играет важную роль для уменьшения числа локальных минимумов целевой функции [3], [11]. По данной тематике недавно в работе [11] были найдены явные формы полилинейных продолжений для произвольных функций, определенных на множестве вершин $n$-мерного единичного куба, произвольного куба и параллелепипеда, и в каждом конкретном случае была доказана единственность соответствующего полилинейного продолжения.
В данной работе рассматривается задача существования выпуклого продолжения произвольной булевой функции $f(x_1,x_2,\dots,x_n)$ на множество $[0,1]^n$. Конструируется $f_C(x_1,x_2,\dots,x_n)$ – выпуклое продолжение произвольной булевой функции $f(x_1,x_2,\dots,x_n)$ на множество $[0,1]^n$. На основе одного конструированного выпуклого продолжения $f_C(x_1,x_2,\dots,x_n)$ доказывается, что для любой булевой функции $f(x_1,x_2,\dots,x_n)$ существует бесконечно много функций, каждая из которых является ее выпуклым продолжением на $[0,1]^n$. Также конструктивно доказывается, что для любой булевой функции $f(x_1,x_2,\dots,x_n)$ существует единственная функция $f_{DM}(x_1,x_2,\dots,x_n)$, являющаяся максимальной среди всех ее выпуклых продолжений на множество $[0,1]^n$. В конце работы дается одно из возможных приложений полученных результатов, а именно, конструктивно утверждается, что задача решения системы булевых уравнений может быть сведена к задаче минимизации функции, любой локальный минимум которой в искомой области является глобальным минимумом.
– $n$-мерный куб, натянутый на булевы векторы длины $n$.
Пусть $\mathrm{int}(\mathbb K^n)=\{(x_1,x_2,\dots,x_n)\colon x_1,x_2,\dots,x_n\in(0,1)\}$ – множество внутренних точек куба $\mathbb K^n$.
Пусть $\rho((b_1,b_2,\dots,b_n),(a_1,a_2,\dots,a_n))=|a_1-b_1|+|a_2-b_2|+\dotsb+|a_n-b_n|$ – расстояние (по Хэммингу) между булевыми векторами $(b_1,b_2,\dots,b_n)$ и $(a_1,a_2,\dots,a_n)$.
– $n$-мерная пирамида, прилежащая к вершине $(b_1,b_2,\dots,b_n)\in\mathbb B^n$.
Определение 1. Функцию вида $f\colon\mathbb B^n\to\mathbb B$ назовем булевой функцией.
Пусть $\operatorname{supp}(f)=\{(b_1,b_2,\dots,b_n)\in\mathbb B^n\colon f(b_1,b_2,\dots,b_n)=1\}$ – носитель булевой функции $f(x_1,x_2,\dots,x_n)$, т.е. множество всех булевых векторов, на которых булева функция $f(x_1,x_2,\dots,x_n)$ принимает значение $1$.
Определение 2. Функцию вида $f\colon\mathbb K^n\to\mathbb R$ назовем выпуклой функцией на $\mathbb K^n$, если для любых $x,y\in\mathbb K^n$ и любого $\alpha\in[0,1]$ выполняется
Определение 3. Непрерывную функцию вида $f_C\colon\mathbb K^n\to\mathbb R$ назовем выпуклым продолжением булевой функции $f(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$, если она на $\mathbb K^n$ выпуклая и
Определение 4. Функцию вида $f_{DM}\colon\mathbb K^n\to\mathbb R$ назовем суммарно-максимально выпуклым продолжением булевой функции $f(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$, если справедливы следующие утверждения:
Тогда существует единственная функция $f^{(b_1,b_2,\dots,b_n)}_C(x_1,x_2,\dots,x_n)$, являющаяся суммарно-максимально выпуклым продолжением этой функции $f_{(b_1, b_2,\dots,b_n)}(x_1,x_2, \dots,x_n)$ на $\mathbb K^n$.
Доказательство.Существование. Пусть $g_C(x_1,x_2,\dots,x_n)$ – произвольное выпуклое продолжение булевой функции $f_{(b_1,b_2,\dots,b_n)}(x_1,x_2,\dots,x_n)$. Идея построения суммарно-максимально выпуклого продолжения будет заключаться в том, что во-первых, исходя из выпуклости функции $g_C(x_1,x_2,\dots,x_n)$ оцениваем ее значение сверху с помощью неравенства Йенсена [15], а во-вторых, благодаря оценке сверху строим $f_{DM}(x_1,x_2,\dots,x_n)$ – суммарно-максимально выпуклое продолжение булевой функции $f_{(b_1,b_2,\dots,b_n)}(x_1,x_2,\dots,x_n)$. Пусть $(x_1^*,x_2^*,\dots,x_n^*)\in\mathbb K^n\setminus\mathbb P^n_{(b_1,b_2,\dots,b_n)}$. В этом случае покажем, что
ii) Непрерывность очевидна, поэтому проверим только выпуклость. Видно, что $f^{(b_1,b_2,\dots,b_n)}_C(x_1,x_2,\dots,x_n)\equiv F(L(x_1,x_2,\dots,x_n))$, где
Теперь легко видеть, что из выпуклости функции $F(y)$ и линейности функции $L(x_1,x_2,\dots,x_n)$ следует выпуклость суперпозиции $F(L(x_1,x_2,\dots,x_n))$.
iii) Действительно, поскольку, с одной стороны, из i) и ii) следует, что функция $f^{(b_1,b_2,\dots,b_n)}_C(x_1,x_2,\dots,x_n)$ является одним из выпуклых продолжений функции $f_{(b_1,b_2,\dots,b_n)}(x_1,x_2,\dots,x_n)$ и, следовательно,
которая является суммарно-максимально выпуклым продолжением $f_{(b_1, b_2,\dots ,b_n)}(x_1, x_2,\dots,x_n)$ на $\mathbb K^n$. Тогда, с одной стороны, в силу (3.6)
На этом этапе уместно конструировать выпуклое продолжение произвольной булевой функции $f(x_1,x_2,\dots,x_n)$. Для этого, во-первых, сначала на основе теоремы 2 в [11] и формы СДНФ заметим, что для любой булевой функции $f(x_1,x_2,\dots,x_n)$ выполняется следующее вспомогательное тождество:
Далее сформулируем и докажем следствие теоремы 1, утверждающее, что для любой булевой функции $f(x_1,x_2,\dots,x_n)$ соответствующая ей вещественная функция $f_C(x_1,x_2,\dots,x_n)$ вида (3.11) является ее выпуклым продолжением на $\mathbb K^n$.
Следствие 1. Для любой булевой функции $f(x_1,x_2,\dots,x_n)$ соответствующая ей вещественная функция $f_C(x_1,x_2,\dots,x_n)$ вида (3.11) является ее выпуклым продолжением на $\mathbb K^n$.
Доказательство. Сначала заметим, что функция $f_C(x_1,x_2,\dots,x_n)$ выпукла по построению как сумма некоторых выпуклых (непрерывных) функций на множестве $\mathbb K^n$. Пусть $x,y\in\mathbb K^n$, $\alpha\in[0,1]$. Тогда в силу теоремы 1 и $f(b_1,b_2,\dots,b_n)\in\{0,1\}$ имеем
Замечание 1. Конструированное выпуклое продолжение вида (3.11) булевой функции $f(x_1,x_2,\dots,x_n)$, вообще говоря, не является суммарно-максимально выпуклым. В качестве иллюстрирующего примера можно привести булеву функцию вида $f(x_1,x_2)=x_1\wedge x_2\vee\overline{x_1}\wedge x_2$.
Теорема 2. Для любой булевой функции $f(x_1,x_2,\dots,x_n)$ существует бесконечно много функций, каждая из которых является ее выпуклым продолжением на $\mathbb K^n$.
Доказательство.Существование. Согласно следствию 1 для любой булевой функции $f(x_1,x_2,\dots,x_n)$ функция вида
так как существует минимум среди конечного числа чисел, являющихся интегральными значениями непрерывно выпуклых функций. Теперь рассмотрим специальную функцию вида
где $A$ – любое положительное число. Докажем, что функция $g_{\mathrm{new}}(x_1,x_2,\dots,x_n)$ также является выпуклым продолжением булевой функции $f(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$. Для этого достаточно показать справедливость следующих свойств:
так как, во-первых, $g_{N_0}(x_1,x_2,\dots,x_n)$ – одно из выпуклых продолжений булевой функции $f(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$, во-вторых, $a_k\in\{0,1\}$ для всех $k\in\{1,2,\dots,n\}$ и, следовательно,
Следовательно, в силу (3.13) выполняется равенство (3.14). Отсюда в силу (3.12) и (3.14) предъявленное выпуклое продолжение $g_{\mathrm{new}}(x_1,x_2,\dots,x_n)$ булевой функции $f(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$ не принадлежит множеству $S_C$. Получили противоречие. Теорема доказана.
4. Суммарно-максимально выпуклое продолжение произвольной булевой функции
В этом пункте, во-первых, обоснуем справедливость одной вспомогательной леммы, а во-вторых, для булевой функции $f(x_1,x_2,\dots,x_n)$ сопоставим соответствующую ей вещественную функцию $f_{DM}(x_1,x_2,\dots,x_n)$ и докажем, что $f_{DM}(x_1,x_2,\dots,x_n)$ является ее единственным суммарно-максимально выпуклым продолжением на $\mathbb K^n$.
Лемма 1. Для любого $(b_1,b_2,\dots,b_n)\in\mathbb B^n$ множество $\boldsymbol\Lambda(b_1,b_2,\dots,b_n)$ состоит из одного элемента, в котором на месте $\lambda_{(b_1,b_2,\dots,b_n)}$ стоит единица, а на остальных местах стоят нули.
так как если предположить, что существует $(a_1^*,a_2^*,\dots,a_n^*)\in\mathbb B^n\setminus\{(0,0,\dots,0)\}$ такой, что $\lambda_{(a_1^*,a_2^*,\dots,a_n^*)}>0$, то хотя бы одна координата вектора
приравняв $k$-е координаты обеих частей, заметим, что $\lambda_{(a_1,a_2,\dots,a_{k-1},0,a_{k+1},\dots,a_n)}=0$ для всех $(a_1,a_2,\dots,a_{k-1},a_{k+1},\dots,a_n)\in\mathbb B^{n-1}$ и, следовательно, в силу произвольности $k\in\{1,2,\dots,n\}$ справедливо
Теперь, во-первых, исходя из рассуждения, аналогичного рассуждению в случае 1, получим, что если хотя бы одна из этих $a_{i_1},a_{i_2},\dots,a_{i_p}$ координат вектора $(a_1,a_2, \dots,a_n)$ равна единице, то $\lambda_{(a_1,a_2,\dots,a_n)}=0$, во-вторых, исходя из рассуждения, аналогичного рассуждению в случае 2, получим, что если хотя бы одна из этих $a_{j_1},a_{j_2},\dots,a_{j_q}$ координат вектора $(a_1,a_2,\dots,a_n)$ равна нулю, то $\lambda_{(a_1,a_2,\dots,a_n)}=0$. Отсюда
и теоремы Вейерштрасса функция $f_{DM}(x_1,x_2,\dots,x_n)$, $(x_1,x_2,\dots,x_n)\in\mathbb K^n$, корректно определена.
Далее сформулируем и докажем теорему, утверждающую, что для любой булевой функции $f(x_1,x_2,\dots,x_n)$ функция $f_{DM}(x_1,x_2,\dots,x_n)$ является единственным суммарно-максимально выпуклым продолжением на множестве $\mathbb K^n$.
Теорема 3. Для произвольной булевой функции $f(x_1,x_2,\dots,x_n)$ ее единственным суммарно-максимально выпуклым продолжением на $\mathbb K^n$ является функция $f_{DM}(x_1,x_2,\dots,x_n)$ вида (4.1).
Доказательство. Сначала покажем, что если $g_C(x_1,x_2,\dots,x_n)$ – произвольное выпуклое продолжение булевой функции $f(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$, то
В силу произвольности $(x_1^*,x_2^*,\dots,x_n^*)$ из последнего неравенства получим справедливость (4.2).
Остается показать, что функция $f_{DM}(x_1,x_2,\dots,x_n)$ также является выпуклым продолжением булевой функции $f(x_1,x_2,\dots,x_n)$. Для этого достаточно показать справедливость следующих свойств:
так как в силу леммы 1 множество $\boldsymbol\Lambda(a_1,a_2,\dots,a_n)$, $(a_1,a_2,\dots,a_n)\in\mathbb B^n$, состоит из одного элемента, в котором на месте $\lambda_{(a_1,a_2,\dots,a_n)}$ стоит единица, а на остальных местах – нули.
ii) Непрерывность $f_{DM}(x_1,x_2,\dots,x_n)$ очевидна, поэтому проверим только выпуклость. Пусть $x^*,x^{**}\in\mathbb K^n$, $\alpha\in[0,1]$ и
Из произвольности $(x_1^*,x_2^*,\dots,x_n^*)$ и $(x_1^{**},x_2^{**},\dots,x_n^{**})$ следует выпуклость функции $f_{DM}(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$.
iii) В силу пунктов i) и ii), исходя из рассуждения, аналогичного рассуждению доказательства свойства iii) в теореме 1, получим
где $p_i(x_1,x_2,\dots,x_n)$ и $q_i(x_1,x_2,\dots,x_n)$ – произвольные булевы функции для любого $i\in\{1,2,\dots,n\}$. Легко заметить, что система (5.1) эквивалентна системе вида
Введем обозначения. Пусть $ f_{DM}^*(x_1,x_2,\dots,x_n)$ – суммарно-максимально выпуклое продолжение булевой функции $f(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$, а $(b_1^*,b_2^*,\dots,b_n^*)\in\mathbb B^n$ – решение системы (5.1). Тогда справедливо следующее утверждение, устанавливающее связь между системой (5.1) и суммарно-максимально выпуклым продолжением $f_{DM}^*(x_1,x_2,\dots,x_n)$.
Утверждение 1. Если $(x_1,x_2,\dots,x_n)\in\mathbb K^n$, то $f_{DM}^*(x_1,x_2,\dots,x_n)=0$ тогда и только тогда, когда $(x_1,x_2,\dots,x_n)=(b_1^*,b_2^*,\dots,b_n^*)$.
Доказательство. В одну сторону очевидно, так как во-первых, система (5.1) и уравнение (5.3) эквивалентны, во-вторых, $f_{DM}^*(x_1,x_2,\dots,x_n)$ – одно из выпуклых продолжений булевой функции $f(x_1,x_2,\dots,x_n)$ и, следовательно, если $(x_1,x_2, \dots,x_n)=(b_1^*,b_2^*,\dots,b_n^*)$, то $f_{DM}^*(x_1,x_2,\dots,x_n)=0$.
Проведем доказательство в другую сторону. Пусть $(x_1,x_2,\dots,x_n)\in\mathbb K^n$ и $f_{DM}^*(x_1, x_2,\dots,x_n)=0$. В этом случае мы покажем, что $(x_1,x_2,\dots,x_n)=(b_1^*,b_2^*,\dots,b_n^*)$. Из следствия 4 теоремы 3 вытекает, что суммарно-максимально выпуклое продолжение булевой функции
Теперь, благодаря (5.4), из $(x_1,x_2,\dots,x_n)\in\mathbb K^n$ и $f_{DM}^*(x_1,x_2,\dots,x_n)=0$ следует $(x_1,x_2,\dots,x_n)=(b_1^*,b_2^*,\dots,b_n^*)$, так как $0\leqslant b_i^*-(2b_i^*-1)\cdot x_i\leqslant 1$ при всех $i\in\{1,2,\dots,n\}$. Утверждение доказано.
Замечание 2. В утверждении 1 важно, что $f_{DM}^*(x_1,x_2,\dots,x_n)$ – суммарно-максимально выпуклое продолжение булевой функции $f(x_1,x_2,\dots,x_n)$ на $\mathbb K^n$, так как если в качестве $f_{DM}^*(x_1,x_2,\dots,x_n)$ взять другое выпуклое продолжение булевой функции $f(x_1,x_2,\dots,x_n)$, то легко привести пример того, что из $(x_1,x_2,\dots,x_n)\,{\in}\,\mathbb K^n$ и $f_{DM}^*(x_1,x_2,\dots,x_n)=0$ не следует $(x_1,x_2,\dots,x_n)=(b_1^*,b_2^*,\dots,b_n^*)$.
Автор искренне благодарит рецензента за ряд существенных замечаний, которые помогли улучшить содержание статьи.
СПИСОК ЦИТИРОВАННОЙ ЛИТЕРАТУРЫ
1.
A. H. Abdel-Gawad, A. F. Atiya, N. M. Darwish, “Solution of systems of Boolean equations via the integer domain”, Inform. Sci., 180:2 (2010), 288–300
2.
D. N. Barotov, R. N. Barotov, “Polylinear transformation method for solving systems of logical equations”, Mathematics, 10:6, 918
3.
D. N. Barotov, “Target function without local minimum for systems of logical equations with a unique solution”, Mathematics, 10:12 (2022), 2097
4.
J. A. Armario, “Boolean functions and permanents of Sylvester–Hadamard matrices”, Mathematics, 9:2 (2021), 177
5.
L. G. Valiant, “The complexity of computing the permanent”, Theoret. Comput. Sci., 8:2 (1979), 189–201
6.
Р. Т. Файзуллин, В. И. Дулькейт, Ю. Ю. Огородников, “Гибридный метод поиска приближенного решения задачи $3$-выполнимость, ассоциированной с задачей факторизации”, Тр. ИММ УрО РАН, 19:2 (2013), 285–294
7.
J. Gu, “Global optimization for satisfiability (SAT) problem”, IEEE Trans. Knowledge and DataEng., 6:3 (1994), 361–381
8.
J. Gu, Q. Gu, D. Du, “On optimizing the satisfiability (SAT) problem”, J. Comput. Sci. Tech., 14:1 (1999), 1–17
9.
A. I. Pakhomchik, V. V. Voloshinov, V. M. Vinokur, G. B. Lesovik, “Converting of Boolean expression to linear equations, inequalities and QUBO penalties for cryptanalysis”, Algorithms, 15:2 (2022), 33
10.
D. N. Barotov, R. N. Barotov, V. Soloviev, V. Feklin, D. Muzafarov, T. Ergashboev, Kh. Egamov, “The development of suitable inequalities and their application to systems of logical equations”, Mathematics, 10:11 (2022), 1851
11.
Д. Н. Баротов, Р. Н. Баротов, “Полилинейные продолжения некоторых дискретных функций и алгоритм их нахождения”, Выч. мет. программирование, 24:1 (2023), 10–23
12.
D. N. Barotov, A. Osipov, S. Korchagin, E. Pleshakova, D. Muzafarov, R. Barotov, D. Serdechnyy, “Transformation method for solving system of Boolean algebraic equations”, Mathematics, 9:24 (2021), 3299
13.
G. Owen, “Multilinear extensions of games”, Management Sci., 18(5-part-2) (1972), 64–79
14.
D. M. Wittmann, J. Krumsiek, J. Saez-Rodriguez, D. A. Lauffenburger, S. Klamt, F. J. Theis, “Transforming Boolean models to continuous models: methodology and application to T-cell receptor signaling”, BMC Systems Biology, 3:1 (2009), 1–21
15.
J. L. W. V. Jensen, “Sur les fonctions convexes et les inégalités entre les valeurs moyennes”, Acta Math., 30:1 (1906), 175–193
Образец цитирования:
Д. Н. Баротов, “О существовании и свойствах выпуклых продолжений булевых функций”, Матем. заметки, 115:4 (2024), 533–551; Math. Notes, 115:4 (2024), 489–505