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

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

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

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

казать, что g = f (f1,…, fm) M, если f, f1,…, fm M. Положим, что функции зависят от следующих наборов переменных:

 

g – от x

 

= (x1, x2,…, xn),

 

 

f1 – от x

 

= (x ,...,x

 

) ,

 

 

 

 

1

 

 

 

11

 

1P1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fm – от x

 

 

= (x

,...,x

 

 

),

 

 

 

 

m

 

 

 

m1

 

 

mPm

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

. Пусть α и β – два набора значений пере-

где {x1, x2,…, xn} = xi

 

 

 

x,

 

 

 

 

 

 

i=1

 

 

 

 

 

менных

 

 

причем

α ≤ β. Эти наборы однозначно определяют

наборы

 

 

 

 

 

 

 

 

 

 

значений переменных x1 ,..., xm , причем

α1

,β1

,...,αm ,βm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

i

= 1,m . Из

 

монотонности б.ф. f1,…, fm

следует, что

αi

≤ βi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выполняется

f1(α1 )

f1(β1 ),..., fm (αm ) fm (βm ). Следовательно,

неравенство и для наборов

(f1(α1 ),..., fm (αm ))(f1(β1 ),..., fm (βm )).

Отсюда в силу монотонности б.ф. f имеем

f (f1(α1 ),..., fm (αm ))f (f1(β1 ),..., fm (βm )),g (α) g (β).

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

Теорема. О монотонности б.ф., отличной от константы.

Б.ф. f (x1, x2,…, xn), отличная от константы, монотонна тогда и только тогда, когда ( ) она представима формулой над множеством {x y, x y}.

Доказательство. Всякая формула над системой {x y, x y} соответствует монотонной функции, так как б.ф. x, x y, x y M (функции переменных нужны для построения формул) и класс монотонных функций замкнут.

Докажем теорему в обратную сторону. Будем говорить, что

конъюнкция ψ выполняется для б.ф. f (x1, x2,…, xn), если

ψ f (x1, x2,…, xn) = ψ. Заметим, что если ДНФ реализует б.ф.

– 31 –

f (x1, x2,…, xn), то любая конъюнкция этой ДНФ выполняется для б.ф. f (x1, x2,…, xn).

Если конъюнкция ψ, содержащая в качестве сомножителя xi , выполняется для монотонной б.ф. f, то для f выполняется и конъюнкция ψ′, полученная из ψ удалением сомножителя xi (остальные

переменные входят в конъюнкции ψ и ψ′ идентично). Таким образом, за конечное число шагов можно из исходной ДНФ получить эквивалентную ДНФ, не содержащую переменных с отрицанием. Что и требовалось доказать.

Определение. Класс A = {f P2 | f = a0 a1x1 a2x2 an xn, n = 1, 2,…} – класс аффинных функций (функций, задаваемых аф-

финными полиномами по mod2).

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

Пример 2. x1 x2, x1 x2 A.

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

Определение. Б.ф., отличные от линейных, называются нели-

нейными б.ф.

Определение. Класс L = A T0 – класс линейных функций.

Класс L состоит из аффинных многочленов с нулевым свободным членом. Замкнутость класса L показывается аналогично замкнутости класса А.

Через T0(n), T1(n), S(n), M(n), A(n), L(n) обозначим множества функций от n переменных из классов T0, T1, S, M, A и L соответственно.

Мощности замкнутых классов T0, T1, S, L, A.

Из определений классов T0(n) и T1(n) (в таблице б.ф. фиксировано одно значение – на наборе (0,…, 0) или (1,…, 1) соответственно) следует, что

|T0(n)| = |T1(n) |= 22n 1 = 12 |P2(n)|.

Для самодвойственной б.ф. f справедливо:

f (x1,...,xn ) = f (x1, x2,…, xn).

Иначе говоря, на любых векторах вида (α1,α2,...,αn ) и (α1,α2,...,αn ) , которые называются противоположными, самод-

– 32 –

войственная б.ф. принимает противоположные значения. Следовательно, самодвойственная б.ф. полностью определяется своими значениями на наборах верхней (или нижней) половины таблицы. Поэтому

|S(n)| = 22n1 = |P2(n–1)|.

Каждый коэффициент аффинной б.ф. может быть задан в двух вариантах независимо от значений других коэффициентов. Поэтому

|A(n)| |= 2n+1= 2|L(n)|.

Проблема определения числа ψ(n) = |M(n)| является нетривиальной, и многие ученые, начиная с XIX в., пытались оценить мощность класса монотонных функций. Приведем наиболее точные оценки – нижнюю оценку Уорда и верхнюю оценку Анселя.

Теорема. Об оценке мощности класса M (без доказательства).

n

2B(n) ≤ ψ(n) 3B(n), где B(n) = Cn 2 .

4.3. Критерий полноты системы булевых функций

Лемма. О несамодвойственной функции.

Если f (x1, x2,…, xn) S, то из нее с помощью подстановки функций x и x можно получить несамодвойственную функцию одной переменной, т.е. константу.

Доказательство. Так как f (x1, x2,…, xn) S,

то найдется набор

(α1,α2,...,αn ) такой,

что f (α1,α2,...,αn ) = f (α1,α2,...,αn ).

В соот-

ветствии

с этим

набором

построим

функцию

ϕ(x) =

= f (xα1,xα2 ,...,xαn ). Заметим, что ϕ(0) = ϕ(1), так как

 

f (0α1,...,0αn )= f (α1,...,αn )= f (α1,...,αn )= f

(1α1 ,...,1αn ),

 

 

0

α

 

0,αi = 1,

α

1,α1 = 1,

 

 

 

 

 

i =

1 i

=

0,αi = 0;

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

 

 

 

 

1,αi = 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– 33 –

 

Лемма. О немонотонной функции.

 

 

Если f (x1, x2,…, xn) M, то из нее путем подстановки констант 0

и 1 и функции x можно получить функцию x.

 

Доказательство. Покажем, что найдется пара соседних наборов

 

 

 

α

и β таких, что α ≤ β и f (α)> f (β).

 

 

 

 

 

 

Действительно, если f (x1, x2,…, xn) M, то найдутся наборы α1

 

 

 

 

Если эти наборы соседние, то

и β1 такие, что α1 ≤ β1 и f (α)> f (β).

 

 

 

 

 

утверждение доказано. Если они несоседние, то α1 и β1 отличают-

ся в t

 

 

 

координатах, где t > 1. Причем эти t координат в наборе α1

 

 

 

 

 

имеют значение 0, а в наборе β1 – значение 1 (так как α1 ≤ β1 ). По-

 

 

 

 

 

этому между α1 и β1 можно вставить t –1 не совпадающих друг с

 

 

 

 

 

другом промежуточных наборов α2,...,αt таких, что выполняется

цепочка соотношений

 

 

 

 

 

 

 

α1

≤ α2 ...≤ αt ≤ β1 .

 

 

Наборы, стоящие в цепочке рядом, являются соседними. Так как

f

 

 

то хотя бы на одной из этих пар соседних наборов

(α)

> f (β),

(обозначим их через α и β , где α ≤ β) выполняется неравенство

f

 

 

 

 

(α)

> f (β).

 

 

Пусть наборы α и соседние по i-й координате:

α = (α1,…, αi–1, 0, αi+1,…, αn), β = (α1,…, αi–1, 1, αi+1,…, αn).

Построим б.ф. ϕ(x) = f (α1,…, αi–1, x, αi+1,…, αn). Эта б.ф. равна

x , так как

f (α1,…, αi–1, 0, αi+1,…, αn) = f (α)> f (β) = f (α1,…, αi–1, 1, αi+1,…,

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

Лемма. О нелинейной функции.

Если f (x1, x2,…, xn) A, то из нее путем подстановки констант 0 и 1 и функций x и x, а также, может быть, путем навешивания от-

рицания над f можно получить функцию x1 x2.

– 34 –

Доказательство. Рассмотрим полином Жегалкина для б.ф. f (x1, x2,…, xn):

f (x1, x2,…, xn) =

 

αi1...is xi1 ... xis .

 

{i1,...,is } {1,2,...,n}

 

Так как f нелинейна, то в ее многочлене Жегалкина имеется конъюнкция ранга 2 или более. Не ограничивая общности рассуждений, допустим, что ее сомножителями являются x1 и x2. Тогда полином функции можно привести к следующему виду:

f (x1, x2,…, xn) = x1 x2 f1(x3,…, xn) x1 f2(x3,…, xn)x2 f3(x3,…, xn) f4(x3,…, xn),

где б.ф. f1(x3,…, xn) отлична от константы 0. Пусть набор (α3,…, αn) таков, что f1(α3,…, αn) = 1. Построим б.ф.

ϕ(x1, x2) = f (x1, x2, α3,…, αn) = x1 x2 α x1 β x2 γ, где α = f2(α3,…, αn), β = f3(α3,…, αn), γ = f4(α3,…, αn).

Из нее получим б.ф. ψ(x1, x2) = ϕ(x1 β, x2 α) α β γ. Легко видеть, что ψ(x1, x2) = x1 x2. Что и требовалось доказать.

Заметим, что классы T0, T1, S, M, A попарно различны. Чтобы в этом убедиться, достаточно привести следующую таблицу принадлежности функций 0, 1, x данным классам.

 

 

 

 

 

 

Таблица 4.1

Обоснование попарной различности классов T0, T1, S, M, A

 

 

 

 

 

 

 

 

Класс

Функция

T0

T1

S

M

 

A

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

Докажем критерий полноты функций из P2.

Теорема. Критерий полноты.

Система б.ф. P полна тогда и только тогда, когда ( ) она не содержится ни в одном из классов T0, T1, S, M, A.

– 35 –

Доказательство.

Необходимость. Пусть P полна. Если P содержится в одном из пяти указанных классов (обозначим его через N), то в силу свойств замыкания

P2 = [P] [N] = N

N = P2, что противоречит определению класса N.

Достаточность. Если P не содержится ни в одном из классов T0, T1, S, M, A, то в P можно выделить подсистему Pиз пяти б.ф., не содержащуюся ни в одном из этих классов. Пусть f0 T0, f1 T1 , fs S, fm M, fa A. Тогда P= {f0, f1, fs, fm, fa}.

Можно считать, что б.ф. из Pзависят от одних и тех же переменных x1, x2,…, xn.

1. Построим при помощи б.ф. f0, f1, fs функции-константы 0 и 1. Для значений б.ф. f0 возможны два случая:

1) f0 (1, 1,…, 1) = 1. Тогда б.ф. ϕ(x) = f0(x, x,…, x) есть константа

1, так как ϕ(0) = f0 (0, 0,…, 0) = 1 (так

как f0 T0), ϕ(1) = f0 (1,

1,…, 1) = 1.

 

Вторая константа получается из f1:

 

f1 (ϕ(x),…, ϕ(x)) = f1 (1,…, 1) = 0.

 

2) f0 (1, 1,…, 1) = 0. Тогда ϕ(x) = x,

так как ϕ(0) = f0 (0, 0,…,

0) = 1, ϕ(1) = f0 (1, 1,…, 1) = 0.

 

Теперь из б.ф. fs и ϕ(x), используя лемму о несамодвойственной функции, можно получить константу. Так как мы располагаем функцией ϕ(x) = x, то из нее получаем и другую константу. Итак, в обоих случаях имеем константы 0 и 1.

2.При помощи констант 0 и 1 и б.ф. fm строим функцию x, что можно осуществить в силу леммы о немонотонной функции.

3.При помощи констант 0 и 1 и б.ф. x и fa строим функцию

x1 x2, что можно осуществить в силу леммы о нелинейной функции.

Итак, построена система {0, 1, x, x1 x2}, которая является пол-

ной. Отсюда получаем, что система полна. Что и требовалось доказать.

– 36 –

Следствие 1. Всякий замкнутый класс функций из P2, не являющийся полным, содержится хотя бы в одном из классов T0, T1, S,

M, A.

Следствие 2. Всякая полная в P2 система P содержит полную подсистему, содержащую не более четырех б.ф.

Доказательство. Рассмотрим систему P{f0, f1, fs, fm, fa}. В доказательстве достаточности теоремы при построении функцийконстант рассмотрены два возможных случая: f0 (1, 1,…, 1) = 1 и f0 (1, 1,…, 1) = 0.

В первом случае f0 S, так как f0(1, 1,…, 1) = f0 (0, 0,…, 0). Тогда искомая система имеет вид {f0, f1, fm, fa}.

Во втором случае f0 T1 и f0 M, так как f0 (1, 1,…, 1) = 0, f0 (0, 0,…, 0) = 1. Тогда искомая подсистема имеет вид {f0, fs, fa}. Что и требовалось доказать.

Замечание. Константу 4 из следствия 2 нельзя уменьшить, что вытекает из примера: система функций {0, 1, x1 x2, x1 x2 x3} полна, что следует из утверждения о полноте системы K4, но по критерию полноты не полна любая ее подсистема.

– 37 –

Лекция 5. Минимизация булевых функций

Введение. Вопрос упрощения представления б.ф. носит сугубо практический характер, упрощающий анализ систем б.ф., которые могут использоваться в частности, в криптографических примитивах. На занятии ставится задача минимизации б.ф., приводятся этапы ее решения. Дается геометрическая интерпретация минимизации дизъюнктивной нормальной формы б.ф. Также задача минимизации решается алгоритмическими методами, а именно при помощи метода Квайна – Мак-Класки нахождения сокращенной дизъюнктивной нормальной формы б.ф. и метода Петрика нахождения тупиковых дизъюнктивных нормальных форм б.ф.

Ключевые слова: сложность представления булевой функции; минимизация булевых функций; МДНФ; сокращенная ДНФ; ТДНФ.

5.1. Постановка задачи минимизации булевых функций

Пусть б.ф. представлена в виде ДНФ:

f (x1, x2,…, xn) = xa1

...

xak

...

xb1

...

xbm .

(5.1)

i1

 

ik

 

j1

 

jm

 

Определение. Сложностью представления б.ф. f (x1, x2,…, xn)

называется число операций и в записи ее ДНФ (5.1).

Замечание. При этом операции отрицания не учитываются.

Определение. Задача минимизации б.ф. f (x1, x2,…, xn) заключа-

ется в нахождении заданий f в виде ДНФ, сложности которых минимальны.

Определение. Минимальные ДНФ (МДНФ) – ДНФ с минималь-

ной сложностью.

Определение. Импликантами б.ф. f (x1, x2,…, xn) называются элементарные конъюнкции, входящие во всевозможные ДНФ б.ф. f.

Определение. Импликанта ψ = xa1

... xak

б.ф. f (x1, x2,…, xn)

i1

ik

 

называется простой, если все элементарные конъюнкции, полу-

– 38 –

ченные из нее удалением некоторых переменных, не являются импликантами б.ф. f.

Утверждение. Об импликанте.

Пусть ψ = xia11 ... xiakk . Следующие утверждения эквивалентны:

1.ψ является импликантой б.ф. f ;

2.ψ f = f ;

3.ψ f = ψ (т.е. конъюнкция ψ выполняется для f ).

Доказательство. Покажем эквивалентность утверждений 1 и 2 (1 2). Если ψ – импликанта, ψ1 ψk = f – та ДНФ, в которую входит ψ, например ψ = ψ1, то

ψ f = ψ (ψ1 ψk) = ψ1 ψk = f.

Обратно, если ψ1 ψk – некоторая ДНФ б.ф. f, то в силу тождества ψ f = f конъюнкцию ψ можно дописать в качестве (k+1)-й импликанты в эту ДНФ, не нарушая равносильности, т.е. f = f ψ = ψ1 ψk ψ, что означает, что ψ – импликанта, так как она входит в ДНФ.

(2 3). Следует из тождеств:

f ψ = (f ψ) ψ = f ψ ψ ψ = f ψ ψ = ψ, так как f = 1 ψ ψ = ψ, f = 0 0 ψ = ψ; f ψ = f ψ f = f. Что и требовалось доказать.

Утверждение. О МДНФ.

В МДНФ б.ф. f (x1, x2,…, xn), отличной от константы, все импликанты являются простыми.

Доказательство. От противного: пусть ψ1 ψm – МДНФ б.ф. f. Не ограничивая общности рассуждений, предположим, что импликанта ψ1 – непростая. Тогда ее можно представить в виде конъюнкции двух элементарных конъюнкций: ψ1 = ψ1′ ψ1′′, одна из которых, например ψ1, является импликантой б.ф. f. По утверждению 1, ψ1f = f или иначе:

f= ψ1′ ψ1′′ ψ2 ψm = (ψ1′ ψ1′′ ψ1) ψ2 ψm =

=ψ1′ ψ2 ψm.

39 –

Таким образом, получено противоречие с тем, что исходная ДНФ минимальная. Что и требовалось доказать.

Из этого утверждения вытекает, что задачу минимизации ДНФ можно решать в два этапа.

1-й этап. Находят все простые импликанты б.ф. f.

Опредение 6. Дизъюнкция всех простых импликант б.ф. f назы-

вается сокращенной ДНФ.

Сокращенная ДНФ б.ф. f действительно является ДНФ, так как, повторяя доказательство утверждения 2, можно в произвольной ДНФ заменить все импликанты на простые.

2-й этап. Находят все такие ДНФ б.ф. f, состоящие из простых импликант, из которых нельзя удалить ни одной импликанты.

Определение. Такие ДНФ называют тупиковыми ДНФ (ТДНФ) или несократимыми.

Подсчитав сложности ТДНФ, из них можно выбрать ДНФ с минимальной сложностью, которая и есть МДНФ.

5.2. Геометрическая интерпретация минимизации ДНФ

Зададим б.ф. на n-мерном двоичном кубе. При таком задании элементарным конъюнкциям ранга k соответствуют такие множества вершин, графы связности которых имеют вид (n k)-мерных кубов.

 

 

Пример.

Пусть задана

б.ф.

 

 

f (x1, x2, x3) =

x1x2 x1x3 .

Тогда

 

 

элементарной конъюнкции x1x2

Рис. 5.1. Куб, соответствующий

ранга 2 соответствует одномерный

куб (рис. 5.1), так как k = 2, n = 3.

элементарной конъюнкции

x1x2

 

 

 

Замечание. Нульмерный куб – это точка.

Поскольку дизъюнкции элементарных конъюнкций соответствует объединение множеств вершин таких подкубов, то каждой ДНФ б.ф. f соответствует некоторое покрытие Mf множества истинности б.ф. f подмножествами, имеющими в качестве графов связности подкубы. Простым импликантам будут соответствовать

– 40 –

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