Научная статья на тему 'О длине булевых функций в классе полиномиальных форм с аффинными множителями в слагаемых'

О длине булевых функций в классе полиномиальных форм с аффинными множителями в слагаемых Текст научной статьи по специальности «Математика»

CC BY
173
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БУЛЕВА ФУНКЦИЯ / BOOLEAN FUNCTION / ПОЛИНОМИАЛЬНОЕ ПРЕДСТАВЛЕНИЕ БУЛЕВОЙ ФУНКЦИИ / POLYNOMIAL REPRESENTATION OF A BOOLEAN FUNCTION / ПОЛИНОМИАЛЬНАЯ ФОРМА / POLYNOMIAL FORM / ПОЛИНОМ ЖЕГАЛКИНА / ZHEGALKIN POLYNOMIAL / ДЛИНА / LENGTH / ВЕРХНЯЯ ОЦЕНКА / НИЖНЯЯ ОЦЕНКА / LOWER BOUND / UPPER BOUND

Аннотация научной статьи по математике, автор научной работы — Селезнева С. Н.

В работе изучается представление булевых функций полиномиальными формами (по модулю два) с аффинными множителями в слагаемых. Полиномиальная форма с аффинными множителями в слагаемых (п.ф.а.м.) это сумма по модулю два произведений аффинных (линейных) булевых функций. В англоязычной литературе такие полиномиальные формы называются EXOR Sums of Pseudoproducts (ESPPs). Вводится понятие длины п.ф.а.м. как числа ее слагаемых и длины булевой функции в классе п.ф.а.м. как минимальной длины среди всех п.ф.а.м., представляющих эту функцию. Рассматривается функция Шеннона $L^{\text{p.f.a.}}(n)$ длины булевых функций в классе п.ф.а.м, равная максимальной длине в классе п.ф.а.м. среди всех булевых функций, зависящих от $n$ переменных. Найдены нижняя и верхняя оценки функции Шеннона $L^{\text{p.f.a.}}(n)$. При доказательстве верхней оценки функции Шеннона предложен алгоритм, который может применяться при построении полиномиальных форм с аффинными множителями в слагаемых для конкретных булевых функций.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «О длине булевых функций в классе полиномиальных форм с аффинными множителями в слагаемых»

УДК 519.7

С. Н. Селезнева1

О ДЛИНЕ БУЛЕВЫХ ФУНКЦИЙ В КЛАССЕ ПОЛИНОМИАЛЬНЫХ ФОРМ С АФФИННЫМИ МНОЖИТЕЛЯМИ В СЛАГАЕМЫХ*

В работе изучается представление булевых функций полиномиальными формами (по модулю два) с аффинными множителями в слагаемых. Полиномиальная форма с аффинными множителями в слагаемых (п.ф.а.м.) — это сумма по модулю два произведений аффинных (линейных) булевых функций. В англоязычной литературе такие полиномиальные формы называются EXOR Sums of Pseudoproducts (ESPPs). Вводится понятие длины п.ф.а.м. как числа ее слагаемых и длины булевой функции в классе п.ф.а.м. как минимальной длины среди всех п.ф.а.м., представляющих эту функцию. Рассматривается функция Шеннона Lp'f'a'(n) длины булевых функций в классе п.ф.а.м, равная максимальной длине в классе п.ф.а.м. среди всех булевых функций, зависящих от п переменных. Найдены нижняя и верхняя оценки функции Шеннона Lp'f'a'(n). При доказательстве верхней оценки функции Шеннона предложен алгоритм, который может применяться при построении полиномиальных форм с аффинными множителями в слагаемых для конкретных булевых функций.

Ключевые слова: булева функция, полиномиальное представление булевой функции, полиномиальная форма, полином Жегалкина, длина, верхняя оценка, нижняя оценка.

1. Введение. Полиномиальные формы — один из способов представления булевых функций, находящих практическое применение, например при синтезе программируемых логических матриц (ПЛМ) [1] (Programmable Logic Arrays, PL As [2, 3]) на основе элемента сложения по модулю два (элемента EXOR). Эффективность ПЛМ зависит от количества слагаемых в полиномиальной форме, по которой она построена. В ряде работ изучается сложность представления булевых функций в различных классах полиномиальных форм: поляризованных, или формах Рида-Мюллера с фиксированной поляризацией (Fixed Polarity Reed-Muller expressions) [3-5], нормальных (ESOPs) [6] и других [7]. Во всех этих представлениях число слагаемых в полиномиальной форме самых сложных булевых функций уменьшается или в константное число раз, или даже по порядку (при увеличении числа переменных) по сравнению с числом слагаемых в обычных полиномах по модулю два.

В настоящей работе мы рассматриваем полиномиальную форму для булевых функций, которую назовем полиномиальной формой с аффинными множителями в слагаемых. Полиномиальная форма с аффинными множителями в слагаемых (п.ф.а.м.) — это сумма по модулю два слагаемых, каждое из которых является произведением некоторых аффинных (линейных) булевых функций. В англоязычной литературе такие полиномиальные формы называются EXOR Sums of Pseudoproducts (ESPPs) [8].

В качестве сложностной характеристики рассмотрим длину полиномиальной формы с аффинными множителями в слагаемых. Длиной п.ф.а.м. называется число ее слагаемых. Понятно, что каждую булеву функцию можно записать какой-то п.ф.а.м., например ее полиномом по модулю два (полиномом Жегалкина). Под сложностью булевой функции в классе полиномиальных форм с аффинными множителями в слагаемых понимается минимальная длина среди всех п.ф.а.м., ее представляющих. Мы вводим функцию Шеннона сложности булевых функций в классе полиномиальных форм с аффинными множителями в слагаемых как сложность самой сложной функции, зависящей от п переменных. Мы находим нижнюю и верхнюю оценки функции Шеннона длины булевых функций в классе п.ф.а.м.

2. Основные понятия. Пусть В = {0,1}. Рассмотрим множество И" со следующим частичным порядком: если а = (а\,..., а,„) € Вп и /3 = (Ь\,..., Ьп) G Вп, то а ^ ¡3 при ai ^ Ь\,..., а,п ^ Ьп. Это частично упорядоченное множество называется п-мерным булевым кубом. Весом |а| набора a G Вп назовем число единиц в нем. Расстоянием dist(a, (3) между наборами а € Вп и ¡3 € Вп называется число координат, в которых эти наборы отличаются. Шаром радиуса г с центром в точке a G Вп

1 Факультет ВМК МГУ, доц., к.ф.-м.н., e-mail: seleznQcs.msu.su

* Работа поддержана РФФИ, гранты № 12-01-00786-а, 13-01-00684-а, 13-01-00958-а.

называется множество Ва11г(а) = {/3 € Вп\ (^(а,/3) ^ г}. Для набора а € Вп введем также понятия его тени "вверх" §(а) и его тени "вниз" §(а):

§(а) = {/3 е Вп| |/3| = |а| + 1, а < /3}, 5(а) = {/3 € Бп| |/3| = |а| - 1, /3 < а}.

Понятно, что ВаП^а) = {а} и §(а) и §(а). Если а = («1,..., ап) ^ И" и ::> (¿>1,..., Ьп) € В", то

обозначим как а Ф /3 набор («1 Ф Ь\,... ,ап Ф Ьп) € П". т.е. покоординатную сумму по модулю два

наборов а и /3. Заметим, что если сНя^а, /3) = г, то |а Ф /3| = г.

Моном (монотонную элементарную конъюнкцию) Л х$ назовем соответствующим набору а =

а4 = 1

= («1,..., ап) € Вп и обозначим через Ха. По определению положим, что константа 1 соответствует набору из всех нулей. Рангом \Ха\ монома Ха назовем число |а|. Отметим, что если (^(а,/3) = 1, то \Хафр| = 1, т.е. в этом случае Хафр — некоторая переменная.

Отображение /: Вп ^ В называется булевой функцией, зависящей от п переменных, п = 0,1,... . Каждая булева функция /(х\,... ,хп) может быть задана формулой вида

/(ж 1,..., хп) = СЕ) ,

а£Вп: Cf(a) = 1

где с/(а) = ф /(/3) £ В — коэффициенты, а € Вп, и ф обозначает сложение по модулю 2. Это

представление булевых функций называется полиномом Жегалкина, или алгебраической нормальной формой (АНФ). Известно [9], что каждая функция задается полиномом Жегалкина однозначно. Будем говорить, что моном Ха входит в полином Жегалкина (или является слагаемым полинома Жегалкина) функции /(ж1,... ,жп), если Cf(a) = 1.

Степенью с^(/) булевой функции /(х\,..., хп) назовем величину тах |а|, т. е. максималь-

ааВп: с/ (ск)т^О

ный ранг слагаемых ее полинома Жегалкина. Функция / называется аффинной, если ее степень не больше единицы, т.е. с^(/) ^ 1. Выражение вида

еп*„

г= 1 з = 1

где <7гц • • • -,9гг- — некоторые аффинные функции, ^ 1, г = 1,...,назовем полиномиальной формой с аффинными множителями в слагаемых (п.ф.а.м.). Несложно заметить, что каждая булева функция задается какой-то п.ф.а.м., например своим полиномом Жегалкина. Длиной РЛ-а-(Р) п.ф.а.м. Р назовем число различных ее слагаемых. Длиной РХа'(/) булевой функции / в классе п.ф.а.м. назовем минимальную длину среди всех п.ф.а.м., реализующих эту функцию. Понятно, что для произвольной булевой функции п переменных верно РЛ-а-(/) ^ 2". Введем функцию Шеннона ЬрЛ-а-(п) длины булевых функций в классе п.ф.а.м. как максимальную длину в классе п.ф.а.м. среди всех функций, зависящих от п переменных.

3. Нижняя оценка функции Шеннона. Булева функция /{.г\......г„) называется мультиаф-

финной, если она представима в виде произведения аффинных функций.

Лемма 1. Число мулътиаффинных функций, зависящих от переменных х\,... ,хп, не превосходит величины 2 ( 2+ ).

Доказательство. Пусть /(х\,... ,хп) — мультиаффинная функция и

I

/(жь ...,хп) = Д дг(хъ ...,хп) г=1

— ее представление в виде произведения аффинных функций 51,...,^, I ^ 1. Рассмотрим систему линейных уравнений

дг{х 1, ... ,хп) = 1, 1 5$ г 5$ I.

Множество решений этой системы задает множество наборов куба И", на которых функция /(х\,... ,хп) принимает значение 1. Из линейной алгебры [10] известно, что такая система может

быть преобразована к системе линейных уравнений, имеющей такое же множество решений и вид

'hi (ж!,ж2, • • • ,xn-i,xn) = О, h2 ( х2, • • .,xn-i,xn) = О,

< ............................ (1)

hn—\ ( xn—i7xn) — О,

К ( хп) =0,

где hi, ti2, ■ ■ ■, hn — некоторые аффинные функции.

Следовательно, каждая мультиаффинная функция, зависящая от переменных х\,... ,хп, задается системой линейных уравнений вида (1). А таких систем не больше, чем

2п+1-2п-...-23-22 = 21^. Теорема 1. Имеет место неравенство Lp-f-a-(n) ^ (1 —

Доказательство. Для доказательства этой оценки применим мощностную технику. Подсчитаем число г/(п, L) п.ф.а.м., зависящих от переменных xi,...,xn и имеющих длину, не превосходящую L. Каждое слагаемое такой формы — это некоторая мультиаффинная функция, зависящая от переменных х\,... ,хп, число слагаемых не превосходит L. Поэтому

/ n(n+3) \ L n2L+3nL

v{n,L) ^ Í2 2 J ^2-5-.

Для L = Lp-f-a-(n) должно выполняться неравенство г/(п, Lp-f-a-(n)) ^ 22". Отсюда получаем Lp-f-a-(n) ^

4. Верхняя оценка функции Шеннона. В этом разделе мы опишем алгоритм, который для произвольной булевой функции строит некоторую ее п.ф.а.м. Кроме того, мы покажем, что для произвольной функции, зависящей от п переменных, длина полученнной по этому алгоритму ее п.ф.а.м. не превосходит значения (1 + о( 1))2га ■ Отметим, что наш алгоритм является развитием и усложнением алгоритма построения полиномиальных нормальных форм булевых функций из [6].

Основная идея нашего алгоритма состоит в применении к группе слагаемых полинома Жегалкина булевой функции правил Щ и 11 • >. Правило Щ имеет вид

: ф СрХр = Ха ■ Í ф СрХрфа J,

í3G{a}US(a) /3e{a}U5(a)

где a G Вп, ср €. В — произвольные коэффициенты. Несложно заметить, что равенство Щ является тождеством. Рассмотрим выражение

П2 : А'(1 0 г,.V,. ( Л {Хафрфср)\ ф 0 с7Х7,

где a G Вп, G В. Несложно проверить, что для произвольного набора a G Вп и произвольных

коэффициентов ср, где /3 G S(a), найдутся такие однозначные коэффициенты с7 G В, где j G В". М ^ Ы — 2, что равенство П2 является тождеством. Под правилом П2 будем понимать именно такое равенство П2, являющееся тождеством.

Для описания алгоритма нам нужно построить специальное множество наборов. Для этого рассмотрим покрытие куба И" шарами радиуса 1. Множество Г. Г С И", называется покрытием шарами радиуса 1 куба И". если |J Balli(a) = Вп.

а£Т

Теорема 2. Пусть Т, ТС В". — покрытие шарами радиуса 1 куба Вп. Тогда для произвольной булевой функции f(xi,... ,хп) можно построить полиномиальную форму с аффинными множителями в слагаемых, которая представляет функцию f и имеет длину, не превосходящую 2 • |Т|.

Доказательство. Пусть Т = {«i,... ,«|т|} — покрытие шарами радиуса 1 куба И". причем при всех i < j для i,j = 1,..., |Т| верно, что \щ\ ^ \ctj\. Пусть нам задана булева функция /(жi,... ,хп).

Мы будем последовательно выполнять шаги 1, 2,..., |Т|. После шага j мы будем получать п.ф.а.м. Qj и полином Жегалкина Pj, такие, что /(жi,..., хп) = Qj®Pj. Кроме того, для каждого j будет верно,

з

что если моном Хр, ¡3 € Вп, является слагаемым полинома Pj, то ¡3 ^ |J Balli(a¿). Перед началом

г= 1

работы алгоритма положим, что Qq = 0, a Pq — это полином Жегалкина функции f(x\,... ,хп).

Шаг j, j = 1,2,..., |Т|. Пусть f(x\,... ,хп) = Qj-i ®Pj-1, где Qj-i — п.ф.а.м., a Pj-i — полином

з-1

Жегалкина, для каждого слагаемого Хр которого верно, что ¡3 ^ |J Balli(a¡¿).

i= 1

Выделим в полиноме Жегалкина Pj-i группу слагаемых вида Хр, где /3 € Balli(aj). Пусть каждое из этих слагаемых встречается в полиноме Жегалкина Pj-i с коэффициентом ср € В. Положим, что Pj(ttj) — это полином Жегалкина ф срХр.

/ЗеВаЩ (щ)

Возможны две ситуации: г,1; = 1 или caj = 0.

В первом случае положим, что Pj(ttj) — это полином Жегалкина ф срХр, a Pj(ttj) — это

peS(a3)

полином Жегалкина Pj(ttj) Ф Pj(aj).

Во втором случае положим, что Pj(ttj) — это полином Жегалкина А',1; ф ф срХр, a Pj(ttj) —

pesia,)

это полином Жегалкина Pj(ttj) Ф Pj(aj).

Очевидно, что в обоих случаях Pj(ocj) Ф Pj(ttj) = Pj(ocj).

Применим к полиному Жегалкина Pj(a,j) правило Щ, получим произведение аффинных множителей, которое обозначим как Y:j. Применим к полиному Жегалкина Pj(ctj) правило П2, получим произведение аффинных множителей, которые обозначим как Yj, и некоторую функцию, полином Жегалкина которой обозначим как Pjest. Каждое слагаемое полинома Жегалкина PJest имеет ранг, не больший

Правила Щ и П2 являются тождествами, поэтому Pj(ocj) = Yj и Pj(ocj) = Yj ф PJest. Обозначим

п.ф.а.м. Qj—i Ф Yj Ф Yj как Qj, а полином /Когалкина функции Pj—i Ф Pj(cxj) Ф Pjesi как Pj. Напомним, что для каждого слагаемого Хр полинома Жегалкина Pj-i было верно, что з-1

¡3 ^ IJ Balli(a¿). Полином Жегалкина Pj получается из полинома Жегалкина Pj-i удалением всех

г= 1

слагаемых Хр, для которых ¡3 € Balli(a:,'), а также, возможно, добавлением некоторых слагаемых Хр, для которых \f3\ ^ \ctj\ — 2. Кроме того, \ctj\ ^ \щ\ для всех г = 1, 2,..., j — 1. Поэтому для каждого

з

слагаемого Хр полинома Жегалкина Pj будет верно, что [3 ^ |J Balli(a¡¿).

i= 1

Заметим, что

/(ж i, ...,хп) = Qj-1 ф Pj-1 = Qj-1 ф (Pj(a) ф Pj{a) ф Pj{a)) ф Pj-1 =

= (Qj-1 ф Yj ®Yj)® (Pfst Ф Pj(a) Ф Pj-i) = Qj Ф Pj.

Теперь если j < |T|, то перейдем к шагу (j + 1). Если j = |Т|, то алгоритм завершает свою работу. После шага |Т| мы получим, что для каждого слагаемого Хр полинома Жегалкина Рщ верно,

\т\

что /3 ^ U Balli(a¡¿). Но так как множество Т является покрытием шарами радиуса 1 куба И". г= i

в полиноме Жегалкина Рщ нет ни одного слагаемого, т.е. Рщ = 0. Но f(x\,... ,хп) = Q\t\ Ф -Р|г|-Отсюда получаем, что

\т\

f(Xl, ...,хп) = Qm ф Рщ = Qm = 0(1} Ф Yj).

3 = 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Следовательно, найдена п.ф.а.м. функции f(x\,... ,хп) с длиной, не превосходящей 2 • |Т|.

Для того чтобы найти верхнюю оценку функции Шеннона Lp-f-a-(n), нам надо найти оценку мощности покрытия шарами радиуса 1 куба Вп. Если воспользоваться кодом Хэмминга (см., например, [11]),

то мы получим, что при каждом п куб В" можно покрыть не более чем шарами. Отсюда получается верхняя оценка Lp'f'a'(n) ^ . Однако в [12] доказано более сильное утверждение, а именно что существует покрытие куба И" (1 + о(1))Щ- шарами радиуса 1. Поэтому получаем следующую теорему о верхней оценке функции Шеннона Lp'f'a'(n).

Теорема 3. Имеет место неравенство Lp'f'a'(n) ^ (1 + о( 1))^—.

Отметим, что в [13] была доказана точная оценка функции Шеннона Lp'f'a'(n, 2) длины булевых функций степени два в классе п.ф.а.м.: Lp'f'a'(n, 2) = |_fj + 1.

Автор благодарит М. А. Башова за информацию о работе [12].

СПИСОК ЛИТЕРАТУРЫ

1. Угрюмов Е. П. Цифровая схемотехника. СПб.: БХВ-Петербург, 2004.

2. Astola J.Т., Stankovieh R. S. Fundamentals of Switching Theory and Logic Design. Dordreehht, Netherlands: Springer, 2006.

3. Sasao Т., Besslich P. On the complexity of mod-2 sum PLA's // IEEE Trans, on Comput. 1990. 39. N 2. P. 262-266.

4. Супрун В. П. Сложность булевых функций в классе канонических поляризованных полиномов // Дискретная математика. 1993. 5. № 2. С. 111-115.

5. Пер я зев Н. А. Сложность булевых функций в классе полиномиальных поляризованных форм // Алгебра и логика. 1995. 34. № 3. С. 323-326.

6. Кириченко К. Д. Верхняя оценка сложности полиномиальных нормальных форм булевых функций // Дискретная математика. 2005. 17. № 3. С. 80-88.

7. Селезнева С. Н. О сложности fc-значных функций в одном классе полиномов / / Проблемы теоретической кибернетики: Мат-лы XVI Междунар. конф. Нижний Новгород: Изд-во Нижегородского гос. ун-та, 2011. С. 430-434.

8. Ishikawa R., Hirayama Т., Koda G., Shimizu К. New three-level Boolean expression based on EXOR gates // IEICE Trans. Inf. & Syst. 2004. E87-D. N 5. P. 1214-1222.

9. Яблонский С. В. Введение в дискретную математику. М.: Высшая школа, 2001.

10. Курош А. Г. Курс высшей алгебры. М.: Наука, 1971.

11. Мак-Вилъямс Ф. Дж., Слоэн Н.Дж. А. Теория кодов, исправляющих ошибки. М.: Связь, 1979.

12. Кабатянский Г. А., Панченко В.И. Упаковки и покрытия пространства Хэмминга шарами единичного радиуса // Проблемы передачи информации. 1988. XXIV. № 4. С. 3-16.

13. Mirwald R., Schnorr S.P. The multiplicative complexity of quadratic boolean forms // Theoretical Computer Science. 1992. 102. P. 307-328.

Поступила в редакцию 06.11.13

ON THE LENGTH OF BOOLEAN FUNCTIONS IN THE CLASS OF EXOR SUMS OF PSEUDO-PRODUCTS

Selezneva S. N.

In this paper, we study representations of Boolean functions in the class of EXOR Sums of Pseudoproducts. An EXOR Sum of Pseudoproducts (an ESPP) is an EXOR sum of affine (linear) Boolean functions. We introduce a length of an ESPP as the number of its terms, and a length of a Boolean function in the class of ESPPs as the minimal length among all ESPPs which represent this function. We consider the Shannon function LP-f-a- (n) for the length of Boolean functions in the class of ESPPs that is equal the maximal length in the class of ESPPs among all Boolean functions which depend on n variables. We obtain a lower and an upper bounds of Lp-f'a'(n). To prove the upper bound we propose an algorithm, by which we can construct an ESPP for an arbitrary Boolean function.

Keywords: Boolean function, polynomial representation of a Boolean function, polynomial form, Zhegalkin polynomial, length, upper bound, lower bound.

i Надоели баннеры? Вы всегда можете отключить рекламу.