Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Булевы функции и их применение. Курс лекций

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

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

Однако каждой б.ф. соответствует бесконечное множество равносильных действительных многочленов, например x = xn при любом натуральном n. Но если отказаться от использования переменных в степенях выше первой, то неоднозначность представления двоичных функций можно исключить. Таким образом, приходим к следующей теореме.

Теорема. О разложении б.ф. в виде действительного многочлена.

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

– 21 –

Лекция 3. Спектральное представление булевых функций

Введение. В данной лекции будут рассмотрены два вида спектральных представлений б.ф., спектры Фурье и Уолша. Вводится разложение б.ф. в спектр Фурье, показывается его существование и единственность. Вводится определение действительно-значного аналога б.ф., показывается, что получается в результате преобразования Адамара-Уолша. Доказывается теорема о связи спектров Фурье и Уолша. Также будут даны: понятие скалярного произведения в поле Галуа из двух элементов, лемма о свойстве скалярного произведения и равенство Парсеваля.

Ключевые слова: скалярное произведение; спектр Фурье; спектр Уолша; матрица Адамара; действительно-значный аналог б.ф.; равенство Парсеваля.

3.1. Скалярное произведение в поле GF(2) и его свойства

Определение. Поставим в соответствие двоичному вектору a = (a1, a2,…, an) Vn линейную б.ф., называемую скалярным про-

изведением в поле GF(2): (a, x) = a1x1 a2x2 an xn.

Определим на Vn функцию (–1)(a, x) с действительными значениями:

( 1)(a,x) 1, если (a,x) = 0;

− =

1, если (a,x) = 1.

Всего имеется 2n функций вида (–1)(a, x), так как вектор a может принимать только 2n различных значений. Например, векторам

(0, 0,…, 0) и (1, 1,…, 1) соответствуют функции 1 и (1)x1 ... xn .

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

Лемма. О скалярном произведении.

Для любых векторов a, b Vn справедливо:

 

2n ,

если a = b;

(1)(a,x) (1)(b,x) =

 

 

n

 

0,

если a b.

x V

 

 

 

 

– 22 –

Доказательство. Заметим, что

 

2n ,

если a = 0;

(1)(a,x) =

 

 

n

 

0,

если a 0.

x V

 

 

 

 

Действительно, при a = 0 каждое слагаемое суммы равно 1, а при a 0 линейная функция (a, x) принимает значения 0 и 1 по 2n–1 раза. Преобразуем исходную сумму и воспользуемся последним равенством для подсчета ее значения:

(1)(a,x) (1)(b,x) = (1)(a,x)+(b,x) = (так как здесь важна

x Vn

x Vn

только четность) = (1)(a,x) (b,x) = (1)(a b,x).

x Vn

x Vn

Что и требовалось доказать.

3.2. Разложение булевой функции в ряд Фурье

Теорема. О разложении в ряд Фурье.

Для любой б.ф. имеется единственное разложение вида

f (x) =

1

caf (1)(a,x) ,

(3.1)

n

2

a Vn

 

где x = (x1, x2,…, xn) Vn и коэффициенты caf

являются целыми

числами, определяемыми равенствами:

 

caf = f (x) (1)(a,x).

(3.2)

x Vn

 

 

Доказательство. Докажем верность разложения.

Подставляя в правую часть равенства (3.1) вместо коэффициен-

тов caf их выражения (3.2), имеем:

21n a Vn caf (1)(a,x) = 21n a Vn y Vn f (y) (1)(a,y)

= 21n y Vn f (y) a Vn (1)(a,y) (1)(a,x) .

(1)(a,x) =

– 23 –

По лемме о скалярном произведении сумма внутри скобок равна 0 при x y и равна 2n при x = y.

21n a Vn caf (1)(a,x) = 21n f (x) 2n = f (x).

Докажем единственность коэффициентов Фурье.

Если коэффициенты caf определены неоднозначно, то существует еще одно разложение б.ф. f (x) вида

f (x) = 21n a Vn caf (1)(a,x).

Тогда, вычитая одно разложение из другого, получим:

(caf caf )(1)(a,x) = 0. a Vn

Умножим обе части этого равенства на (–1)(b, x), где b Vn. Суммируя полученные равенства по x Vn, имеем:

0 =

(caf

caf )(1)(a,x) (1)(b,x) =

x Vn a Vn

 

 

= (caf

caf )

(1)(a,x) (1)(b,x) = (таккакпоследняя скобка

a Vn

 

x Vn

 

равна 0 при (a b) и равна 2n

при (a = b)) = 2n (cbf cbf ).

Отсюда следует, что cbf = cbf . Так как b – произвольный вектор из Vn, то получаем требуемое утверждение.

Определение. Вектор коэффициентов C(f) = (caf ), a Vn, назы-

вается спектром Фурье, а его координаты caf коэффициентами

Фурье б.ф. f (x).

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

– 24 –

Hn = 1

1 [n]

,

1

1

 

где [n] обозначает n-ю тензорную степень матрицы.

3.3. Преобразование Адамара-Уолша

Наряду с б.ф. f (x) рассматривают ее так называемый действи-

тельно-значный аналог fd (x), где

fd (x) = (1)f (x).

Определение. Преобразование вектора табличного задания функции fd (x) с помощью матрицы H2n называется преобразова-

нием Адамара-Уолша б.ф. f (x). Получаемый вектор коэффициентов

Z ( f ) = (zaf ),

a Vn , называют спектром Уолша, а его координаты –

коэффициентами Уолша б.ф. f (x):

 

zaf = (1)f (x) (a,x).

(3.3)

x Vn

 

 

 

 

Спектры Фурье и Уолша всякой б.ф. взаимосвязаны.

 

Теорема. О связи спектров Фурье и Уолша.

 

Для всякой б.ф. f(x) и любого a Vn

 

 

2сf

,a 0;

 

zaf =

n

 

а

f

 

2

 

2са ,a = 0.

 

Доказательство. Из равенств (3.2) и (3.3) при a = 0 соответственно имеем:

с0f =

 

 

 

f

 

 

 

, z0f = 2n 2

 

 

 

f

 

 

 

.

Nε, δ ( f ,g), где ε, δ {0,1},

 

 

 

 

 

 

 

 

Обозначим для б.ф. f (x), g(x) через

число векторов x из Vn, для которых

f (x) = ε, g(x) = δ . Тогда из

(3.2) и (3.3) при a ≠ 0 получаем:

 

сaf

= N0,1( f ,(a,x))N1,1( f ,(a,x)),

 

zaf

= N0,0 ( f ,(a,x))+ N1,1( f ,(a,x))N1,0 ( f ,(a,x))N0,1( f ,(a,x)).

– 25 –

Отсюда следует утверждение теоремы, если учесть, что

N0,0 ( f ,(a,x)) = 2n−1 N1,0 ( f ,(a,x)),

N1,1( f ,(a,x)) = f N1,0 ( f ,(a,x)), N0,1( f ,(a,x)) = 2n f + N1,0 ( f ,(a,x)).

Что и требовалось доказать.

Из (3.2) следует, что с0f = f , т.е. 0с0f 2n , а остальные коэффициенты Фурье б.ф. f (x) – целые числа из интервала [2n−1, 2n−1]. Однако не всякий набор целых чисел с указанными

ограничениями является спектром Фурье некоторой б.ф. Коэффициенты Фурье (следовательно, и коэффициенты Уолша)

любой б.ф. связаны некоторыми соотношениями. Например, из (3.1) следует, что

21n a Vn caf = f (0).

Коэффициенты Уолша любой б.ф. связаны соотношениями ор-

тогональности, т.е. для b Vn

zaf zaf b = 22n , b = 0;

a V

 

0, b 0.

n

 

Отсюда при b = 0 имеем так называемое равенство Парсеваля:

(zaf )2 = 22n. a Vn

– 26 –

Лекция 4. Полнота и замкнутость систем булевых функций

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

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

4.1.Замыкание множества булевых функций, замкнутые классы, полные системы булевых функций

Пусть M P2.

Определение. Замыканием множества б.ф. M называется мно-

жество всех б.ф., представимых в виде формул над M. Обозначение: [M].

Свойства замыкания:

1.[M] M;

2.[[M]] = [M];

3.Если M1 M2, то [M1] [M2];

4.[M1] [M2] [M1 M2].

Примеры замыкания множеств:

1.M = P2, тогда [M] = P2.

2.M = {1, x1 x2}, тогда [M] – множество всех многочленов по

mod 2 вида α0 α1x1 … αn xn, называемых аффинными.

– 27 –

Определение. Класс M называется замкнутым классом б.ф., ес-

ли [M] = M.

Примеры замкнутых и незамкнутых множеств:

1.Класс M = P2 замкнут.

2.Класс M = {1, x1 x2} не замкнут.

3.Класс всех аффинных полиномов по mod 2 замкнут, так как при подстановке аффинных полиномов в аффинный полином вместо переменных получается аффинный полином.

Определение. Система P = {f1, f2,…, fs,…} из P2 называется

(функционально) полной системой, если любая б.ф. представима формулой над P.

Эквивалентное определение полноты системы б.ф.: система P

полна, если [P] = P2.

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

Теорема. О связи полноты систем.

Пусть система P = {f1, f2,…} функций из P2 полна и каждая ее функция выражается формулой над системой Q = {q1, q2,…}. Тогда система Q полна.

Доказательство. Произвольная б.ф. h в силу полноты системы P выражается формулой над P:

h = C [f1, f2,…].

По условию теоремы f1 = C1[q1, q2,…], f2 = C2[q1, q2,…],… . В формуле для h исключаем вхождения функций из системы P, за-

меняя их формулами над Q. В результате получаем

h = C [C1[q1, q2,…], C2[q1, q2,…],…] = C [q1, q2,…]. Что и требова-

лось доказать.

Утверждение 1. О полноте системы функций K0.

Система функций K0 ={x,x1 x2,x1 x2} является полной системой функций.

Доказательство. Следует из существования СДНФ для каждой б.ф. Что и требовалось доказать.

Утверждение 2. О полноте системы функций K1.

Система функций K1 ={x,x1 x2} является полной системой функций.

– 28 –

Доказательство. Следует из утверждения 1 и теоремы о связи полноты систем, так как x1 x2 = x1 x2 . Что и требовалось доказать.

Утверждение 3. О полноте системы функций K2.

Система функций K2 = {x,x1 x2} является полной системой функций.

Доказательство. Следует из утверждения 2 и теоремы о связи полноты систем, так как x1 x2 = x1 x2 . Что и требовалось доказать.

Утверждение 4. О полноте системы функций K3.

Система функций K3 = {x1 | x2} является полной системой функций.

Доказательство. Следует из утверждения 2 и теоремы о связи полноты систем, так как x | x = x x = x и (x1 | x2 )|(x1 | x2 ) =

= x1 x2 = x1 x2 или x1 x2 = x1 x2; x1 x2 = x1 x2. Что и требовалось доказать.

Утверждение 5. О полноте системы функций K4.

Система функций K4 = {1,x1 x2,x1 x2} является полной системой функций.

Доказательство. Следует из утверждения 2 и теоремы о связи полноты систем, так как x = x 1. Что и требовалось доказать.

Утверждение 6. О полноте системы функций K5.

Система функций K5 = {x1 x2} является полной системой функций.

Доказательство. Следует из утверждения 3 и теоремы о связи полноты систем, так как x x = x и (x1 x2) (x1 x2) = x1 x2 или x1 x2 = x1 x2; x1 x2 = x1 x2. Что и требовалось доказать.

Определение 4. Б.ф. f (x1, x2,…, xn), образующая полную систе-

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

Примеры. Штрих Шеффера, стрелка Пирса.

– 29 –

4.2.Важнейшие замкнутые классы булевых функций

ВP2 к замкнутым относятся классы, описанные ниже.

Определение. Класс Т0 = {f P2 | f (0, 0,…, 0) = 0} – класс б.ф.,

сохраняющих константу 0.

Пример 1. 0, x, x1 x2, x1 x2, x1 x2 Т0.

Пример 2. 1, x Т0.

Покажем, что класс Т0 замкнут. Так как x Т0, достаточно пока-

зать, что f (f1,…, fm) Т0, если f, f1,…, fm Т0.

Справедливость этого утверждения следует из цепочки равенств:

f (f1(0,…, 0),…, fm(0,…, 0)) = f (0,…, 0) = 0.

Определение. Класс Т1 = {f P2 | f (1, 1,…, 1) = 1} – класс б.ф.,

сохраняющих константу 1.

Пример 1. 1, x, x1 x2, x1 x2 Т1.

Пример 2. 0, x, x1 x2 Т1.

Класс T1 состоит из б.ф., двойственных к функциям из Т0. Его замкнутость показывается аналогично.

Определение. Класс S = {f P2 | f = f*} – класс самодвойственных функций.

Пример. x, x, x1 x2 x1 x3 x2 x3 S.

Докажем замкнутость класса S. Пусть g = f (f1, f2,…, fm), где f, f1, f2,…, fm S. Тогда

g* = f *( f1*, f2*,..., fm*) = f ( f1, f2,..., fm ) = g .

Определение. Класс M = {f P2 | если a b, то f (a) ≤ f (b)} –

класс монотонных функций, где ≤ – отношение частичного по-

рядка.

Определение. Вектор a = (a1, a2,…, an) не превосходит вектор b = (b1, b2,…, bn), a, b Vn, если ai bi для любого i =1,n .

Обозначение: a b.

Пример 1. 0, 1, x, x1 x2, x1 x2 M.

Пример 2. x , x1 x2 M.

– 30 –

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]