Многоугольники, характеризующие статистические свойства булевых функций в схеме регистра сдвига

С.Ю. Мельников

МНОГОУГОЛЬНИКИ, ХАРАКТЕРИЗУЮЩИЕ СТАТИСТИЧЕСКИЕ СВОЙСТВА БУЛЕВЫХ ФУНКЦИЙ В СХЕМЕ РЕГИСТРА СДВИГА

Булевой функции / от п аргументов ставится в соответствие геометрическое место точек, координаты которых есть пределы относительных частот встречаемости единиц во входной и выходной последовательностях двоичного проходного регистра сдвига с накопителем размера п и функцией выходов /. Это геометрическое место точек является выпуклым многоугольником. Исследуется, как алгебраические свойства функции / отражаются в геометрических свойствах ее многоугольника.

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

Проблематике классификации ¿-значных и булевых функций по различным принципам посвящено значительное количество исследований . Различные принципы классификации, как правило, связаны с различными автоматными схемами, в которых дискретная функция участвует в качестве функции выходов или переходов.

В настоящей работе мы рассматриваем булеву функцию как функцию выходов неавтономного двоичного проходного регистра сдвига. Совместные значковые статистические свойства входной и выходной последовательностей такого автомата можно характеризовать с помощью его многоугольника2. В работе изучается, как свойства булевой функции отражаются в геометрических свойствах такого многоугольника. Работа состоит из пяти параграфов. В первом дается определение, во втором указывается алгоритм построения многоугольников, основанный на перечислении циклов графа де Брейна, в третьем исследуются простейшие геометрические характеристики многоугольника, связанные с отношениями

© Мельников С.Ю., 2010

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

Определение многоугольника булевой функции

Пусть Уп - множество всех п-мерных двоичных векторов, ¥п -множество всех булевых функций от п аргументов, п = 1,2,.... Для булевой функции /(,х^,...,хп) К через Л/ = (X = {0,1}, Уп,Г = = {0,1}, к, /) обозначим автомат Мура, являющийся двоичным регистром сдвига с накопителем размера п, множеством состояний Vп, функцией переходов к, определяемой по правилу

к((,...,а),х) = (,...,а,х) ,где х,а е {0,1} , г = 1,2,...,п.

Графом переходов такого автомата является двоичный граф Оп де Брейна степени п, т. е. ориентированный граф с множеством вершин Vn, содержащий дугу, выходящую из вершины

(а1,а2,...,ап) и заходящую в вершину (Д,Д,...,вп) в том и только в том случае, когда (а2,а3,...,ап) = (Д,Д2,...,Дп-1). Будем считать, что такая дуга помечена «входным» символом /Зп и «выходным» символом / (а1,а2,...,ап ).Через С (Оп) обозначим множество всех простых циклов в Оп.

Предположим, что автомат Л/ , начиная работать из некоторого начального состояния, перерабатывает двоичную последова-

(М) I (0) (1) (N-1) \

тельность х =

1 N-1 1 N-1

соответственно, р - — > X' , П = — > у .

г=0 " г=0

Через Т обозначим множество всех периодических последовательностей (возможно, с подходом) в алфавите {0,1}.

Последовательности /ет с началом ) поставим в соответствие вектор

^ (х) = шр* >).

Предел справа существует в силу периодичности входной и выходной последовательностей и не зависит от начального состояния автомата в силу его сильной связности.

Для автомата Л/ это правило определяет отображение

1Аг : Т^[0,1]х[0,1].

Основным предметом исследования настоящей работы является замыкание (совокупность всех предельных точек) множества 1А[ (Т), которое мы будем обозначать и называть

многоугольником булевой функции f,

Ь = [^

В работе показано, что такое определение можно распространить на более широкий класс входных последовательностей (чезаровские последовательности)3.

Из результатов следуют две теоремы4.

Теорема 1. Я/ - выпуклый многоугольник в квадрате [0,1] х[0,1],

Яг = Сопу л 11 с е С(Оп )[ , где с - цикл из множества

/ I(сУ I(с) У У п,\' щ

С(Оп) всех простых циклов в графе Оп, I (с) - его длина, у(с) и

с) - веса входной и выходной разметок этого цикла.

Здесь для множества Б точек плоскости через СопуБ обозначена его выпуклая оболочка. Под расстоянием р между двумя точками на плоскости будем понимать максимум модулей разностей координат этих точек.

Теорема 2. Справедливо неравенство

Циклы графа де Брейна и строение многоугольников булевых функций

Мы будем пользоваться двояким представлением цикла: как циклической последовательности различных инцидентных вершин графа, так и циклической двоичной последовательности, в которой все участки длины п различны. Например, циклу в Оп с

множеством вершин {(0101...),(1010...)} соответствует двоичная

(рассматриваемая циклически) последовательность (01).

" Л 1/М

I

1Н1 = X Х - вес цикла с (число единиц в его двоичной записи),

Для c е C(Gn) через zf (c) обозначим вектор

где

||//с|| = X /(х1,х2,...,хп) - вес функции / на вершинах

цикла с (обе последние суммы берутся по всем вершинам цикла с), I (с) - длина цикла с.

В частности, вес и длина цикла с = (01) равны соответственно 1 / (0101...) + / (1010...) 2, 2

1 и 2, zf (c) =

Переформулируем теорему 1, чтобы подчеркнуть роль функции / : Теорема 1.

Rf = Conv\

w л IM'

l

где ||c|| - вес цикла c, то есть число единиц в его двоичной записи, ||f (c)|| - вес функции на цикле c, то есть сумма значений функции

на вершинах цикла c.

Вычислительная трудоемкость алгоритма построения многоугольника конкретной булевой функции, основанного на непосредственном использовании выражения (3), связана с тем, что количество |C(Gn)| различных циклов графа Gn быстро возрастает с ростом п. В работе Bryant, Christensen5 приведены следующие

результаты: |С= 3, |С(С2)| = 6, |С(С3)| = 19, |С(С4)| = 179. Очевидно, величина |С (Оп)| имеет дважды экспоненциальный характер роста. Нижней границей может служить, например, число

?п-1 _ 6

2 п полных циклов , а в качестве верхней границы можно использовать число 22 всех подмножеств множества вершин графа. Поэтому непосредственное использование (3) возможно только при нескольких начальных значениях п. Некоторые алгоритмические аспекты построения циклов графов де Брейна освещены в работе Е17юп .

Простейшие свойства многоугольников булевых функций

Утверждение 1. Пусть п > 2 и одна из крайних переменных (ххлибо хп) является несущественной для функции /(,х2,...,хп), то есть / (, Х2,..., хп ) = § (, Х2,..., хп_) либо / (, Х2,..., хп ) = = §(х2,х3,...,хп) для некоторой функции § е ^п-1. Тогда Я/ = Я§.

Сформулированное утверждение, легко следующее из определения многоугольника булевой функции (1), теряет свою справедливость в случае, когда несущественной переменной является «внутренняя» переменная х1, 1 < г < п. Так, например, из изложенных ниже результатов следует, что многоугольники функций х1 © х2 © х3 и х1 © х2 © х4 различны (рис. 7, 9).

Многоугольники функций будем изображать в квадрате 0 < 2Х,< 1, ось (0 2Х) - горизонтальна, ось (0 ¿2) - вертикальна.

Утверждение 2. Многоугольники функций /(,х2,...,хп) и / ((, х2,..., хп) симметричны относительно вертикальной оси

1 Многоугольники функций /

="

2

симметричны относительно горизонтальной оси „ =1. Многоугольник самодвойственной функции центральносимметричен

1 1

относительно точки

2 2

д - самодвойственна

Рис. 1

Доказательство. Докажем, например, первый пункт утверждения. Согласно определению осевой симметрии, точка плоскости А = (хА, уА) симметрична точке В = (хв, ув) относительно оси 1

у = — тогда и только тогда, когда выполняются соотношения

Уа = Ув и ХА =1 -хв. пусть §((Х2,...,хп) = /(Х1,Х2,...,хп). Рассмотрим произвольный цикл с = (,а2,...,а, )е С(Оп), а1 = 0,1, г = = 1,2,..., I, I = 1,2,... и двойственный к нему с = ((, а2,..., а,) .Имеем:

:(с) = (( (с), х?>(с)) =

( I

Та,

г=1

Л (

, ' I

, - х

//

:(1 - $ (с ), Г ?(ё)).

Рассмотрим выпуклую оболочку от правой и левой частей последнего равенства:

Я§ = Сапу{(хе (с)), с 6 С (Оп)} = Сапу{( - / (с), / (с)), с е С (Оп)} .

Учитывая, что множество циклов, двойственных к С(Оп), совпадает с С(Оп), правая часть равна Сапу{(-'(с), / (с)),се С(Оп)},

то есть является многоугольником, симметричным Я/, что и доказывает первый пункт утверждения.

Заметим, что приведенные утверждения в обратную сторону не верны. Например, в имеются несамодвойственные функции,

многоугольники которых симметричны относительно центра квадрата.

Следующее утверждение иллюстрирует связь многоугольника булевой функции с вероятностной функцией автомата Л/.

Нетрудно видеть, что если Л/ перерабатывает бернуллиевскую последовательность двоичных случайных величин с параметром р, то вероятностная функция Ф/ (р) этого автомата, значение которой можно интерпретировать как предельное значение вероятности единицы в выходной последовательности, имеет вид

Ф / (Р ) = I

/ х2,..., хп)

где

/ (х1, Х2 ,..., хп

р

- вес функции / на векторах,

содержащих ровно г единиц, г = 0,1,...,п .

Утверждение 3. Все точки графика вероятностной функции 22 = (г1), 2Х е [0,1] принадлежат многоугольнику Я/ .

Доказательство. Обозначим:

Т =

г] ^ (1 - )п-г, =

/ (

Х1,Х2,...,Хп )

=г

, г = 0,1,...,п .

1

1=0 п

£

Тогда 2Х = , Ф/ (г1 ) = ^(1 - 2Х ) 1 =Ту±Г1, следовательно

1=ОI п

(, Ф/ (^ ))б Сопу

Л

1

I п ^

п

1 = 0,1,..., п

. Рассматривая совокупность

Л 4

я-мерных векторов веса 1,1 = 0,1,...,п как объединение непересекающихся циклов из С (Оп), получаем, что

Сопу

(

\

г_ ^

I п ^

п

1 = 0,1,..., п

V V J

> с Сопу<

л 1М"

/

с6 С(Си^ = й,.,

Заметим, что уже в можно указать как примеры функций с

равными многоугольниками, но различными вероятностными функциями, так и, наоборот, примеры функций с совпадающими вероятностными функциями, но с различными многоугольниками.

Утверждение 4. Если / 6 ^ - равновероятная функция, т. е. ||/|| = 2п-1, п = 1,2,..., то 1) (1/2,1/2)6 й/;

2) Если /(0,0,...,0) = /(1,1,...,1), то (1/2,1/2) - внутренняя точка й,;

3) Если / (0,0,...,0) / (1,1,...,1) ,то (1/2,1/2) - либо внутренняя

точка й,, либо она лежит на диагонали квадрата, являющейся

стороной многоугольника й,.

Доказательство. Первый пункт следует из предыдущего утверждения, поскольку для равновероятной булевой функции / очевидно Ф/ (1/2) = 1/2 . Для доказательства п. 2

предположим, что /(0,0,...,0) = /(1,1,...,1) = 0 . Рассмотрим цикл,

проходящий через все вершины графа Оп, за исключением нулевой и единичной. В многоугольнике Я/ этому циклу

соответствует точка (1/2, 2п-1/(2п -2)). Осталось заметить, что точка (1/2,1/2) является внутренней для треугольника Сот((0,0), (1,0), (1/2, 2п-1 /(2п -2)) Я/. Третий пункт утверждения доказывается аналогично.

Обращение доказанного утверждения неверно. В качестве контрпримера можно указать функцию веса 2, принимающую единичные значения на множестве векторов {(0101...),(1010...)}. Нетрудно убедиться в том, что многоугольник такой функции является треугольником Свпу((0,0), (1,0), (1/2,1)). Однако при

п > 2 указанная функция неравновероятна.

Оказывается, существуют функции сравнительно большого веса, многоугольники которых целиком лежат ниже верхней стороны квадрата. Майкелтвейтом9 доказана следующая гипотеза Голомба: минимальное число вершин, которое нужно удалить из графа Оп, чтобы получился граф без циклов, равно

11ФП)2Л ,

пТГП а

где через ф(п) обозначена функция Эйлера. Воспользо-вавшись представлением (2) для функции, равной нулю на удаляемом множестве и единице на остальных вершинах графа Оп, получаем:

Утверждение 5. Пусть /е ¥п, п = 1,2,....

Если ||/|| > 2" -—1ф(п)2а , то в многоугольнике Я/ имеется

п а / п а

точка с ординатой 1. Среди функций веса к, 0 < к < 2" -—I ф(п)2а

птгп а

существуют такие, многоугольники которых целиком лежат ниже прямой = 1.

Следующий результат показывает, что многоугольники функций веса 1 являются треугольниками. Для я-мерного

двоичного вектора а = (,a2,...,an), п = 1,2,... через t = t(а) обозначим наименьшее целое число с тем свойством, что

а=(,a2,...,an) = (,a2,...,at,...,a1,a2,...,at,a1,a2,...,аг), 0 < г < t.

Обозначим ^(а)= (а^ a2,..., at) Утверждение 6. Пусть (0,0,...,0) Ф аф (1,1,...,1),

/ (х1 , X2 ,..., Хп ) =

1, если (x1, x2,..., xn) = а 0, еслu(x1,х2,...,xn) Ф а

Тогда й, = Сопу{(0,0),(1,0),((а)/1(а),1/1(а))}.

Доказательство проводится тем же методом, что и приводимое ниже доказательство утверждения 12, и поэтому здесь не приводится.

Рис. 3

Заметим, что попытка классификации многоугольников булевых функций по весам этих функций не приводит к успеху: так, при п = 4 многоугольники функций веса 2 могут иметь три, четыре или пять вершин.

Утверждение 7. Если / 6 ¥п, то

; Сопу{(0,/(0,0,...,0)), (1/п, /(0,0,...,0) (1 -1/п, /(1,1,...,1)), (1, /(1,1,...,1))}

Доказательство. Ограничимся случаем / (0,0,...,0 ) = 0, /(1,1,...,1) = 1. Нам надо доказать, что произвольная точка (£,п)б й, принадлежит трапеции {(0,0),(1/п,1),(1-1/п,0),(1,1)}.

Предположим противное. Возможны два варианта: (¡,п)е Сопу{(0,0), (0,1), (1/п,1)} или (¡,п)е Сопу{(1 -1/п,0),

(¡,п)е Сопу{(1 -1/п,0), (1,0), (1,1)}. Рассмотрим первый вариант. Должны выполняться неравенства 01/п , п>. В этом случае в множестве С(Оп) найдется такой цикл с = (а,а2,...,а), а е Уп, г = 1,2,...,I, для которого (с)> тх (с). Из последнего неравенства следует:

Рис. 4

I

Если цикл с не проходит через нулевую вершину, то |ц|| > I,

г=1

и получаем противоречие. Если же цикл с проходит через

I

нулевую вершину, то ^ЩЦ > I -1, и вновь получаем противоречие,

г=1

поскольку /(0,0,...,0) = 0 .

Поэтому многоугольник Я/ не содержит точек левее границы 2г = тх . Аналогичными рассуждениями можно показать, что вариант (¡,п)е Сопу{(1 -1/п,0), (1,0), (1,1)} также невозможен.

Оставшиеся случаи значений /(0,0,...,0) и /(1,1,...,1) рассматриваются аналогично.

Несложно описать класс функций, многоугольники которых

«максимальны». Пусть = Сопу{(0,а),(1/п,а),(1 -1/п,Ь),(1,Ь)}, а, Ь = 0,1.

Утверждение 8. Для / е ¥п равенство Я/ = В^ имеет место тогда и только тогда, когда:

1) /(0,0,...,0) = а, /(1,1,...,1) = Ъ ;

2) значение /(,х2,...,хп) на каждом из векторов веса 1 равно а, на каждом из векторов веса п -1 равно Ъ.

Рис. 5

Доказательство. Достаточность. Пусть / обладает свойствами 1 и 2. Для доказательства того, что Я/ = К^ , достаточно рассмотреть цикл с = (00...01) длины п и двойственный к нему, и применить (4). Для доказательства необходимости условий 1 и 2 рассмотрим случай а = Ъ = 0. Пусть = Очевидно,

/(0,0,...,0) = /(1,1,...,1) = 0, и / удовлетворяет условию 1. Из того, что точка (1,1/п) является вершиной , следует, что в Оп существует такой цикл с = (а1,а2,...,а1) , а е Уп,г = 1,2,...,I, для

I I

которого X / (а ) = XI |а ||, и, кроме того, на этом цикле функция

1=1 1=1

I

/ (х1, Х2 ,..., Хп

) тождественно равна 1. Отсюда XI\а\ = I, и посколь-

1=1

ку а ^ (0,0,...,0) , то ||а|| = 1, г = 1,2,...,I , что означает, что I = п, с = (00...01). Остальные варианты значений а и Ь рассматриваются аналогично.

Приведенный результат относится к тем редким случаям, когда удается описать все функции из Еп с заданным многоугольником.

Другой нетривиальный случай соответствует функциям, многоугольники которых «минимальны»10 (см. также рис. 17). Отметим, что в обоих случаях количество функций, соответствующих одному многоугольнику, растет как двойная экспонента от п.

Утверждение 9. Пусть /е ¥п, п = 3,4,..., V(/) обозначает число вершин многоугольника Я/.

2п 4П

Если /(0,0,...,0) = /(1Д,...Д),то V(/)< 1 + )< —,

к=1 2

2п

если /(0,0,...,0) /(1,1,...,1) ,то V(/)< 2^ф(к)< 4п.

к=1

Доказательство. При /(0,0,...,0) = /(1,1,...,1) абсциссы всех вершин многоугольника должны быть различными в силу его выпуклости. Имеем:

I (с)"

,с е

С (Оп

несократимые дроби вида — ,1 < р < ч < 2п

Ч

+1,

откуда следует первая оценка.

Рис. 6

При /(0,0,...,0) /(1,1,...,1) возможно не более двух вершин с различными абсциссами.

Многоугольники некоторых линейных функций и функций, инвариантных относительно циклического сдвига аргументов

Утверждение 10. Справедливо равенство:

В = IВ°°, п - четно;

Вх1 х2 ©...©хп I г,01

[К , п - нечетно;

Доказательство: по утверждению 8.

Рис. 7

Утверждение 11. При п > 2 справедливо равенство:

Вх1 хп = Сапу{(0,0),(1,0),(1/2,1)} .

Рис. 8

Доказательство. Поскольку /(0,0,...,0) = /(1,1,...,1) = 0 и, кроме того, на цикле с = (00...011...1) длины 2п - 2 и веса п -1 функция / тождественно равна единице, то в силу (3) заключаем, что Кфхп = Сапу{(0,0),(1,0),(1/2,1)} .

Для доказательства обратного включения покажем, что для произвольного цикла с = (ц,аг,..,а1) из С(Оп) справедливы неравенства:

В самом деле,

I I I

||//^ = X(а  а+п-1) =Х(а + а+п-1- 2ал+п-1) = 2||с|| - 2Хаа+»-1 - 211 с1

I=1 /=1 /=1

Второе неравенство получается из первого по двойственности,

поскольку х1 © хп = х1 © хп . Неравенства доказывают обратное

включение и утверждение.

Следующее утверждение показывает, что вид многоугольника линейной функции зависит не только от числа ее существенных переменных.

п-1

Утверждение 12. Пусть многочлен а(х) = Xа1х' е ОЕ(2)[х]

1=0

является примитивным степени п -1. При п > 4 число вершин многоугольника Я/, соответствующего функции / (, х2,..., хп ) =

п

= X а1 -1 х1, не менее шести. Если п = 4, то Я/ - шестиугольник

1=1

Сапу {(0,0), (1/4,3/4), (3/7,1), (4/7,0), (3/4,1/4), (1,1)}.

Рис. 9

Доказательство. Пусть & - число ненулевых коэффициентов многочлена а(х). Очевидно, & нечетно, к > 3. В силу

примитивности а(х) среди С (Оп) только два цикла образованы

п-2

линрйным рекуррентным соотношением Ь+п-1 = X ©аД.+] - это

]=0

(0) и цикл са, проходящий через все остальные вершины графа.

п

Заметим, что функция / х2,..., хп) = X а-1 х равна нулю на тех и

1=1

только тех вершинах графа Оп, через которые проходят циклы (0) и цикл са. Циклу (0) соответствует точка (0,0) множества Я/, а циклу са, как нетрудно видеть, точка (2п-2/(2п-1 -1),0). Так как других циклов с данным свойством нет, то и правее точки (2п-2/(2п-1 -1),0) на прямой 22 = 0 нет точек множества Я/ . В силу нечетности к функция / самодвойственна, поэтому многоугольник Я/ симметричен относительно точки (1/2,1/2) . Это означает, что на прямой = 1 лежит сторона Я/, которая в

точности является отрезком (2п-2 -1/(2п-1 -1),),(1,1) .

Рассмотрим цикл с = (00...01) длины п и веса 1 в С(Оп). Очевидно, ||/ / с|| = к, и циклу с соответствует точка (1/п, к/п)е К-.

Рис. 10

„ к / п 2п-1 -1

Неравенство —— = к > 3 —^ , справедливое при п > 4,

показывает, что точка (1/п, к/п)е Я/ находится над отрезком, соединяющим точки (0,0) и (2п-2 -1/(2п-1 -1),). Однако, как

доказано выше, левее точки (2п-2 -1/(2п-1 -1),1) на прямой г2 = 1 точек Я/ нет. Отсюда следует, что помимо точек (0,0) и

(2п 2 -1/(2п 1 -1),1), являющихся вершинами Я/, треугольник Сапу{(0,0),(0,1),(2-1/(2п-1 -1),1)} содержит еще по крайней

мере одну вершину Я/ , ордината которой отлична от нуля и единицы. В силу симметричности Я/ относительно точки (1/2,1/2) число вершин многоугольника не менее шести. При п = 4 очевидно, к = 3. Существуют лишь два примитивных многочлена третьей степени: а1 (х) = 1 © х© х3, а2 (х) = 1 © х2 © х3. Им соответствуют линейные функции / = х1 © х2 © х4, /2 = х1 © х3 © х4. Нам необходимо показать, что точка (1/4,3/4) является вершиной как Я/ , так и Я/ . Этот факт следует из того, что треугольник Сапу{(1/4,3/4),(1/4,1),(3/7,1)} не содержит ни

одной точки вида

' 'N1 зл

3 = 0,...,I(с)-1 для се С(О4), в

чем

I (с)'I(с)у

легко убедиться непосредственно. Поэтому точка (1/4,3/4) -единственная вершина Я / и Я/ , лежащая выше отрезка [(0,0),(3/7,1)] .

Утверждение 13. Пусть /(х1,х2,...,хп) инвариантна относительно циклического сдвига аргументов, т. е. /(х1,х2,...,хп) = = /(х2,х3,...,хп,х1). Тогда многоугольник Я/ является четырехугольником (в вырожденных случаях - треугольником или отрезком):

1) если /(0,0,...,0) = /(1,1,...,1) = 0, то Я/ = Сапу{(0,0),(1,0), ((/п,1),(/п,1)} ,

где ?1 и ^ - соответственно наименьший и наибольший вес вектора (х1,х2,...,хп),такого, что /(х1,х2,...,хп) = 1;

2) если /(0,0,...,0) = 0, /(1,1,...,1) = 1, то Я/ = Сапу{(0,0), (1,1),(к;/п,1), (к2/п,0)} , где к1 - наименьший вес вектора

(х1, х2 , Хп

) такого, что /(х2,...,Хп) = 1; к2 - ншбтьшш вес вектора (,х2,...,хп),такого, что /(,х2,...,хп) = 0 .

Рис. 11

Доказательство. Ограничимся случаем / (0,0,..., 0 ) = = 0, /(1,1,...,1) = 1. Заметим, что по условию / постоянна на циклах графа Оп, образованных простым сдвиговым регистром. Вектора, через которые проходят эти циклы, имеют один и тот же вес. Поэтому, если к1 =||х1,х2,...,хп|| - вес вектора (х1,х2,...,хп)е Уп и /(х1,х2,...,хп) = 1, то на цикле, порожденном циклическими сдвигами вектора (х1,х2,...,хп), функция / тождественно равна единице. Если г - вес этого цикла, а I - длина, то, как легко видеть, г/1 = к1 /п. Поэтому (( /п,1)е . Аналогично и (к2 /п,0)е .

Отсюда Я/ з Свпу{(0,0),(1,1),(к, /п,1),(к2 /п,0)} .

Для того чтобы доказать обратное включение, покажем, что все точки множества лежат не левее прямой (а), уравнение п

которой есть 2г =—.

к1

Рис. 12

Достаточно показать, что для любого цикла се С(Оп), множество вершин которого есть V = {а1,а2,...,а}, выполняется неравенство:

к1 I

аеУ аеУ

Пусть Л1 - множество всех я-мерных двоичных векторов веса /, I = 0,1,...,п . Тогда, с одной стороны,

п

к1 XI(И- Л пV;

аеV ]=кх

с другой стороны,

XIИ1 = Ъ\Л; п V = ' п V + XX п V - к X |Л, п V ,

а^ .,=0 .,=0 ./=к1 Ц =к

доказывая (5).

Покажем, что все точки множества Я/ лежат не правее прямой (Ь), уравнение которой есть (п - к2 + 1)^2 = пг1 - (к2 -1).

Для этого достаточно показать, что для произвольного цикла се С(Оп) с множеством вершин V = {ци2,...,И} выполняется неравенство

аеУ аеУ

п

Имеем, с одной стороны, (п - к2 +1) XI (а) - (п - к2 +1) X Ц\ЛЦ п V;

аеУ Ц=к2

п

с другой стороны, поскольку I = X Лц п V , то

Ц=0

Xiи- 1 (( -1) = XXц'|Лц п V-XX(к2 - 1)|Л, п V = XXк2 + 1)Лц п V =

j=0 j=0 j=0 kj-1

j=k2 j =0 j=k2

« . «2-1 . "il X (( -k2 + 1)) nv| + X (j-«2 + 1))j Пv| < (n-k2 + 1)X П v|,

доказывая (6). Объединяя (5) и (6), получаем, что Rf ç Conv{(0,0),(1,1),( /n,1),(k2 /n,0)} . .

Следствие 1. Если /к (х1, х2,..., хп) - пороговая функция вида

к ( х,,..., хп ) = I1'есш 1<х" х2".'хп)г к, то [0 в противном случае

Я/ = Сапу {(0,0),(1,1),(к -1/п,0),(к / п,1)}

Следствие 2.

Рис. 1

Я

Я

Рис. 13

= Сапу{(0,0),(1,1),(п -1/п,0)}, = Сапу {(0,0), (1,1), (1/п,1)}. ,

Рис. 14

Многоугольники функций малого числа переменных. Примеры

Все четыре функции одного переменного имеют различные многоугольники (константа «0 » - [(0,0),(1,0)], константа «1» -

[(0,1),(1,1)] , функция «х1» - [(0,0),(1,1)] , функция «х1» -

[(0,1),(1,0)]). Вычисления показывают, что функциям двух

переменных соответствуют 12 различных многоугольников. Имеется 68 различных многоугольников функций трех переменных. Имеется 1520 различных многоугольников функций четырех переменных, среди которых 4 отрезка, 106 треугольников, 576 четырехугольников, 662 пятиугольника, 164 шестиугольника и 8 семиугольников. Максимальное число функций соответствует треугольнику Свиу {(0,0), (1/2,1), (1,0)} и симметричному ему (по 1989 каждому). Отметим неожиданно большое (22) число

функций, многоугольник которых есть отрезок [(0,0),(1,1)] (рис. 17).

Приводимые ниже примеры иллюстрируют соотношение (2) для различных значений N. Компьютерный эксперимент состоял в генерации псевдослучайной двоичной последовательности длины Ь, которая подавалась на на вход автомата А/. Затем эта

последовательность вместе с выходной последоватльностью «нарезалась» на отрезки длины N с шагом 1, т. е. с перекрытием соседних на N -1, так что общее число пар отрезков равно Ь - N +1 - п, как показано на рис. 15.

Рис. 15

Для каждого такого отрезка составлялась пара чисел (вес входа вес выхода Л -

I-—-,-—-I и отображалась точкой в квадрате

[0,1]х[0,1].

На рис. 16 представлены изображения многоугольника пороговой

Г1, если х + х2 + х3 + х4 > 2 функции /(х1, х2, х3, х4 ) = I , который, со-

[ 0 в противном случае

гласно (7), имеет вид Сапу{(0,0), (1/4,0), (1/2,1), (1,1)} для Ь = 10000, длина N рабочего отрезка изменяется в пределах от 5 до 500.

На рис. 17 для диапазона значений Ь = 500 + 50000 представлены многоугольники нескольких функций четырех переменных, иллюстрирующие утверждения 10-13.

Рис. 16

Рис. 17

Примечания

См.: Никонов В.Г. Классификация минимальных базисных представлений всех булевых функций от четырех переменных // Обозрение прикладной и промышленной математики. М., 1994. Т. 1. Вып. 3; Логачев О.А., Сальников А.А., Ященко В.В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004.

Мельников СЮ. Многогранники, характеризующие статистические свойства конечных автоматов // Труды по дискретной математике. М.: Изд-во физико-математической литературы, 2003. Т. 7. С. 126-137.

См.: Мельников СЮ. Регистры сдвига с чезаровским входом // Вестник Московского государственного ун-та леса. Лесной вестник. 2005. № 4 (35). См.: Там же.

Bryant P.R., Christensen J. The enumeration of shift register sequences // Journal of Comb. Theory. Ser. A. 1983. Vol. 35. P. 154-172. См.: Холл М. Комбинаторика. М.: Мир, 1970.

Etzion T. An algorithm for generating shift - register cycles // Theor. Comp. Sci. 1986. Vol. 44. P. 209-224.

См.: Кудрявцев В.Б., Алешин С.В., Подколзин А.С. Введение в теорию автоматов. М.: Наука, 1985.

MykkeltveitJ. A proof of Golomb4s conjecture for the de Bruijn graph // Journal of Comb. Theory. Ser. B. 1972. Vol. 13. P. 40-45.

Мельников С.Ю. О классе двоичных функций, сохраняющих значковые статистические свойства последовательностей при преобразовании сдвигового типа // Обозрение прикладной и промышленной математики. М., 2007. Т. 14. Вып. 6. С. 1123-1124.

2

3

8

9

10