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

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

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

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

Mf .

Поэтому этапы минимизации ДНФ будут выглядеть следующим образом.

1-й этап. Перечисление подкубов. Заключается в перечислении всех максимальных подкубов, содержащихся в графе связности множества Mf .

2-й этап. Нахождение минимальных покрытий. Заключается в нахождении минимальных (по числу подкубов) покрытий множества Mf максимальными подкубами. Они и будут соответствовать МДНФ.

Пример. Пусть б.ф. f (x1, x2, x3, x4) имеет следующее геометрическое задание (рис. 5.2).

Рис. 5.2. Геометрическое задание б.ф. f (x1, x2, x3, x4)

Графическое задание этой б.ф. имеет следующий вид (рис. 5.3).

– 41 –

Рис. 5.3. Графическое задание б.ф. f (x1, x2, x3, x4)

Выпишем сокращенную ДНФ, записывая простые импликанты в том же порядке, в каком они изображены в графе связности:

x1x4 x1x2x3 x2x3x4 x1x3x4 x1x2x4 .

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

Таким образом, им соответствуют следующие ТДНФ:

x1x4 x1x2x3 x1x3x4 x1x2x4 и x1x4 x2x3x4 x1x2x4 .

Рис. 5.4. Максимальные подкубы

Очевидно, что МДНФ является вторая ТДНФ, так как в ней меньше операций и , сложность первой ТДНФ равна 10, а второй – 7.

– 42 –

5.3.Метод Квайна – Мак-Класки нахождения сокращенной ДНФ булевой функции

Пусть б.ф. f задана в виде СДНФ.

Метод Квайна заключается в следующем:

1. Применим к элементарным конъюнкциям СДНФ операцию «неполного склеивания»: xψ xψ = ψ , до тех пор, пока в результа-

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

2. В полученной ДНФ выполняем операции поглощения: ψ ψψ′ = ψ, пока это возможно.

Теорема. О получении сокращенной ДНФ.

В результате выполнения операций из пунктов 1 и 2 получается сокращенная ДНФ б.ф. f.

Доказательство. Из всякой импликанты б.ф. f можно с помощью операции «расклеивания» ψ = xψ xψ получить дизъюнкцию

импликант ранга n. Так как все импликанты ранга n входят в СДНФ, то в результате применения операции «неполного склеивания» в СДНФ на 1-м этапе (п. 1) будут получены все, в том числе и простые, импликанты б.ф. f.

После применения 2-го этапа (п. 2), очевидно, в ДНФ останутся только простые импликанты, т.е. полученная в результате ДНФ будет сокращенной. Что и требовалось доказать.

Интерпретация метода Квайна – Мак-Класки

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

конъюнкции xia11 ... xiakk в виде вектора (a1,…, ak).

k

Определение. Индекс конъюнкции – || a || = ai .

i=1

Разобьем все импликанты, входящие в СДНФ, на группы в соответствии со значениями их индексов. Метод Мак-Класки заключается в заполнении таблицы специального вида. Продемонстрируем работу метода на примере.

– 43 –

Пример. Возьмем б.ф. из предыдущего примера минимизации ДНФ. Ее СДНФ имеет вид:

f (x1,x2,x3,x4 ) = x1x2x3x4 x1x2x3x4 x1x2x3x4 x1x2x3x4x1x2x3x4 x1x2x3x4 x1x2x3x4 x1x2x3x4.

Применяя операцию «неполного склеивания» к импликантам ранга n, входящим в СДНФ, производим заполнение колонки таблицы. При этом в СДНФ звездочкой отмечаются использованные импликанты (они будут поглощаться на 2-м этапе). Затем операция «склеивания» применяется к конъюнкциям ранга n–1. Как только заполнение таблицы прекратилось, выбираются все не отмеченные звездочками импликанты и из них составляется сокращенная ДНФ.

В данном примере сокращенная ДНФ будет

x1x4 x1x2x3 x1x2x4 x1x3x4 x2x3x4 x1x3x4 .

 

 

 

 

 

Таблица 5.1

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

Индекс конъюнкции

СДНФ

Шаг 1

Шаг 2

Шаг 3

1

1 0 0 0

1 _ 0 0

1 _ _ 0

__________

 

1 0 _ 0

 

 

 

 

 

 

2

1 1 0 0

1 1 _ 0

______________

__________

 

1 0 1 0

1 _ 1 0

 

 

 

0 1 0 1

1 0 1 _

 

 

 

0 0 1 1

0 1 _ 1

 

 

 

 

_ 0 1 1

 

 

 

 

0 _ 1 1

 

 

3

1 1 1 0

______________

______________

__________

 

1 0 1 1

 

 

 

 

0 1 1 1

 

 

 

 

 

– 44 –

 

 

5.4. Метод Петрика нахождения тупиковых ДНФ

Для изложения метода нахождения тупиковых ДНФ потребуется доказать следующее утверждение.

Утверждение. О МДНФ монотонной функции.

МДНФ монотонной функции совпадает с ее сокращенной ДНФ.

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

пликанта ψ1 б.ф. f : ψ1 = x1x2a2 ... xkak ; не ограничивая общности

рассуждений, предположим, что с отрицанием в нее входит переменная x1. Данной импликанте соответствует набор (0, a2,…, ak),

причем f (0, a2,…, ak) = 1. Рассмотрим набор (1, a2,…, ak), (0, a2,…, ak) (1, a2,…, ak). Тогда в силу монотонности б.ф. f получаем, что f (1, a2,…, ak) = 1 б.ф. f обязана иметь импликанту ψ1 =

= x1x2a2 ... xkak . Склеивая эти две импликанты, получаем импликан-

ту меньшего ранга, что противоречит с простотой импликанты ψ1. Если покажем, что все простые импликанты входят в МДНФ монотонной б.ф., это будет означать, что МДНФ совпадает с сокращенной ДНФ. Пусть ψ – простая импликанта. Тогда на наборе

11...10...0 импликанта ψ принимает значение 1. Все остальные им-

m nm

пликанты должны быть равны 0 на этом наборе, так как в них обязательно должны входить переменные из множеств {xm+1,…, xn} импликанта ψ должна входить в МДНФ, так как иначе б.ф. f на этом наборе будет равна 0. Что и требовалось доказать.

Метод Петрика

Рассмотрим таблицу, строки которой соответствуют простым импликантам б.ф. f, а столбцы – конъюнкциям СДНФ. В каждую клетку записываем единицу, если соответствующая простая импликанта поглощает элементарную конъюнкцию, и нуль – в противном случае, т.е. если векторное представление импликанты является подвектором векторного представления конъюнкции СДНФ, то 1, иначе – 0. Такая таблица называется импликантной таблицей.

Для б.ф. из предыдущего примера импликантная таблица имеет следующий вид (табл. 5.2).

– 45 –

Таблица 5.2

Импликантная таблица

 

 

 

CДНФ

1000

1100

1010

0101

0011

1110

1011

0111

Сокращенная ДНФ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p1

1 _ _ 0

 

x1x4

1

1

1

0

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

p2

1 0 1 _

 

x1x2x3

0

0

1

0

0

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

p3

_ 0 1 1

 

x2x3x4

0

0

0

0

1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

p4

0 _ 1 1

 

x1x3x4

0

0

0

0

1

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

p5

0 1 _ 1

 

x1x2x4

0

0

0

1

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

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

Пусть в общем случае в импликантной таблице имеется N столбцов и M строк.

Поставим в соответствие простым импликантам сокращенной ДНФ переменные p1, p2,…, pM. Зафиксируем некоторую дизъюнкцию простых импликант. Будем считать, что pi = 1, если i-я импликанта входит в эту дизъюнкцию, и pi = 0 в противном случае.

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

N

 

(a1j p1 a2 j p2 ... aM j pM ) = 1,

(5.2)

j=1

где – конъюнкция, aij – элемент импликантной таблицы, стоящий на пресечении i-й строки и j-го столбца, i = 1,M , j = 1,N.

Эту формулу можно трактовать как КНФ некоторой б.ф. ϕ(p1, p2,…, pM) от переменных p1, p2,…, pM, которая принимает значение

– 46 –

1 только на тех наборах, которые соответствуют некоторым ДНФ исходной б.ф. f, и значение 0 – на наборах, которые соответствуют наборам импликант, не являющихся ДНФ б.ф. f.

Заметим, что б.ф. ϕ(p1, p2,…, pM) монотонна, так как формула (5.1) не содержит переменных с отрицанием. Тогда по утверждению о МДНФ монотонной функции для нахождения сокращенной ДНФ б.ф. ϕ достаточно раскрыть скобки в формуле (5.2), а затем произвести все поглощения. В силу указанного выше свойства б.ф. ϕ, ее простые импликанты и только они будут давать ТДНФ исходной б.ф. f.

Пример. Возьмем б.ф. из предыдущего примера, ее импликантная таблица приведена ранее. Тогда идем по ее столбцам и получаем б.ф. ϕ:

ϕ(p1, p2,..., p5) =

 

столбцы

 

 

 

 

 

 

=

p1 p1 (p1 p2 ) p5 (p3 p4 ) p1 (p2 p3) (p4 p5 ) =

 

I

II

III

IV

V

VI

VII

VIII

= p1 (p1 p2 ) p5 (p3 p4 ) (p2 p3) (p4 p5).

 

 

 

Применим

закон

поглощения

x (x y) = x и

равенство

(x y) (z x) = x yz,

 

 

 

 

 

ϕ(p1, p2,..., p5) = p1 p5 (p3 p2 p4 ) = p1 p3 p5 p1 p2 p4 p5 .

Таким образом, получили две ТДНФ:

1) p1 p3 p5 f = x1x4 x2x3x4 x1x2x4 ,

2) p1 p2 p4 p5 f = x1x4 x1x2x3 x1x3x4 x1x2x4 .

Подсчитываем их сложности и получаем, что МДНФ равна первой ТДНФ:

f = x1x4 x2x3x4 x1x2x4 .

– 47 –

Лекция 6. Классификация булевых функций

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

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

6.1.Эквивалентность булевых функций относительно группы преобразований

Подход к исследованию множества P2(n), заключающийся в разбиении его на классы, носит название классификации. Б.ф. можно классифицировать по различным характеристикам: по весам, по степеням нелинейности и т.д. Одним из наиболее важных с точки зрения криптографических приложений является подход, основанный на использовании групп преобразований.

Пусть G – некоторая группа преобразований множества Vn. Очевидно, порядок группы удовлетворяет неравенствам 1G (2n )!.

Определение. Б.ф. f (x1,...,xn ) и h(x1,...,xn ) называются эквива-

лентными относительно группы G, если в группе G найдется пре-

образование g, при котором верно тождество h(x) f (g(x)).

– 48 –

G

h, если ясно, какая

Обозначим это отношение f h или f

группа G подразумевается. Данное бинарное отношение на множестве P2(n) при любой группе G является отношением эквивалентности, так как оно:

1)

рефлексивно:

G

(в это случае g = e);

f f

2)

симметрично:

G

G

 

f h,

тогда h f ;

3)

транзитивно:

G

G

G

f h,

h z, тогда

f z.

Таким образом, множество P2(n) разбивается на классы эквивалентности относительно рассмотренного отношения.

Обозначим класс эквивалентности, содержащий функцию f, через [ f ]G . Очевидно, 1≤ [ f ]G G .

Определение. Если [ f ]G =1, то f неизменна при всех преобра-

зованиях g G; говорят, что функция f инвариантна относительно группы G.

Степень инвариантности f относительно преобразований группы G характеризуется понятием группы инерции.

Определение. Группа инерции функции f в группе G – это множество преобразований группы G (обозначим его через Jf (G)), не изменяющих функцию f, т.е. JG ( f ) ={g G : f (g(x)) = f (x)}.

Множество Jf (G) является подгруппой группы G.

Определение. Если | Jf (G)| = 1, то говорят, что функция f имеет

тривиальную группу инерции в группе G.

Теорема. О связи мощности класса эквивалентности и порядков группы инерции и группы преобразований области определения булевой функции. Для всякой функции f P2 справедливо

G

[ f ]G = | JG ( f )|.

Доказательство. Класс [ f ]G состоит из функций [ f ]G = ={h(x):h(x) = f (g(x)), g G}.

– 49 –

Пусть g – произвольное преобразование из G. Определим, сколько преобразований gиз G дают ту же функцию, что и пре-

образование g:

f (g(x)) = f (g(x)).

 

Сделаем в этом равенстве замену переменной: у = g(x).

Тогда

x = g1(y) и

из последнего равенства получаем

f (y) =

= f (gg1(y)).

Последнее равенство выполняется в том и только том случае, когда g′′ = gg1 JG ( f ). Следовательно, gимеет вид g′ = g′′ g,

и всего таких преобразований | Jf (G)|. Так как это число не зависит от выбора g, получаем утверждение теоремы.

6.2.Основные группы преобразований, используемые для классификации булевых функций

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

1. Группа Sn перестановок переменных. Она состоит из n! преобразований вида

g = x1

x2

... xn ,

xj1

xj2

...xjn

где ( j1, j2 ,..., jn ) – перестановка чисел (1,2,..., n).

Определение. Б.ф. называется симметрической, если она инвариантна относительно группы Sn, т.е. JSn ( f ) = Sn .

2.

Группа Σn

инвертирования переменных (группа сдвигов).

Она состоит из 2n преобразований вида

g

= x1

x2 ... xn

, (a1,a2,...,an ) Vn .

 

x1 a1 x2

a2 ...xn an

3. Группа Джевонса Qn (группа преобразований однотипности, группа геометрической эквивалентности), являющаяся произведением групп Sn и Σn . Группа Qn состоит из преобразований вида

– 50 –

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