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

lec04

.pdf
Скачиваний:
11
Добавлен:
23.06.2023
Размер:
1.23 Mб
Скачать

Покрытие NL максимальными интервалами называется приводимым, если из этого покрытия можно выбрать хотя бы один максимальный интервал так, что оставшиеся максимальные интервалы покрывают БФ. В противном случае он называется неприводимым.

ДНФ, отвечающая неприводимому покрытию, называется

неизбыточной или тупиковой.

21

Теорема 4.3. Для любой булевой функции Dmin является неизбыточной.

Доказательство: от противного.

1)

Dmin = K1 Ki KS.

Покажем, что все Ki в Dmin отвечают Nmax.

Пусть Ki, которое не отвечает требованиям для максимальных интервалов неприводимого покрытия

:

 

N

N , где |

 

| < |N

| rang K

i

> rang Kʹ,

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т.е. исходная ДНФ не была минимальной.

(Обратное не верно – не всякая тупиковая ДНФ является min).

2) Покрытие NS, отвечающее D1 = K1 Ki KS, не приводимо. Действительно, если бы оно было приводимо, то Ki отбросив которое покрытие не нарушается и получаем некоторое D2: D2 Ki = D1, т.е. rang D2 < rang D1.

22

Пример 4.6.

= (0000 1111); n = 3

n = 3, |NK|=4(=2n-r).n – r = 2. r = 1 т.е.

rang k = 1 DC = x1

(т.к. лишь оно равно 1)

23

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

(т.е. если есть вершина, которая не покрывается другими max интервалами функции ).

Логическая сумма всех ядровых интервалов называется

ядром (ядровый ДНФ) и обозначается

Dφ

24

Теорема 4.4. Все конъюнкции, входящие в состав min ДНФ для функции , содержатся в сокращенной ДНФ, т.е. отвечают max интервалам.

Доказательство. От противного.

Пусть Dmin – некоторая min ДНФ для (возможны несколько min ДНФ), которая содержит Ki конъюнкцию: Ki DC. Тогда:

Dmin = K1 K1 Ki Kn

Т.к. NKi – не является max интервалом, найдется интервал Kʹ такой, что:

NKi NKʹ Nf

Заменив в покрытии интервал NK на NKʹ, покрытие не нарушится и поэтому сохраняется равенство

f = K1 K1 K Kn = D

Сравним Dmin и D . NKi имеет rang Ki > rang K rang Dmin > rang D , ч.т.д.

25

Теорема 4.5. Все ядровые конъюнкции входят в состав любой min ДНФ для функции .

Доказательство. Вытекает из теоремы 4.4 и определения Dφ.

Согласно теореме 4.4 все конъюнкции из Dmin отвечают max интервалу функции . Если какой-нибудь из ядровых интервалов для ядровых конъюнкций Dmin, то оставшиеся интервалы не могут покрыть Nf не выполняется равенство: Dmin = , что противоречит def Dmin.

Эти теоремы можно мнемонически объединить:

Dφ Dmin DC

Замечание 4.3. ! Всегда выполняется Dmin = , DC = , но Dφ = - не всегда. Т.о. необходимо иметь в виду:

Dφ = Dmin = Dφ и других Dmin не существуют.

Общий случай Dφ ; для отыскания Dmin надо дополнить Dφ конъюнкциями из DC, пока не получится покрытие .

26

Пример 4.6б.

= (0000 1111)

Найти Dφ

Dφ = x?1

Dφ = ?

Dmin = x1

27

Пример 4.5б.

Найти Dφ для = (1011 1101)

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

Dφ = ?0

Согласно замечанию 4.2. дополняем Dφ конъюнкциями из DC, пока не получится покрытие

D1

= 1 2 2 3

1 3

(для Nf = I1 I3

I5)

D2

= 1 3 1 2

2 3

(для Nf = I2 I4

I6)

Пример 4.5в.
Обратное же не верно.

Для булевой некоторые ДНФ D называются неизбыточными, если

1) все конъюнкции из DC отвечают Nmax; 2) эти интервалы покрывают NB ; = D;

3) отбрасывание какого-либо из этих интервалов нарушает покрытие (равенство) = D. Очевидно, Dmin является неизбыточный.

NB = I1 I2 I4 I6 ?

избыточное покрытие, т.к. можно отбросить I1

NB = I1 I2 I4 I5 ?

неизбыточное покрытие, никакой интервал нельзя убрать без нарушения покрытия.

Алгоритм получения минимальной ДНФ.

1.Выделяем носитель функции.

2.Выделяем все возможные max интервалы. Для B3 – интервалы:

Ранга 1 - могут быть 4 вершины, лежащие в одной грани. Ранга 2 – любые 2 вершины, соединенные ребром. Ранга 3 – любая отдельная вершина.

3.Выписываем конъюнкции из DC для max интервалов (простые импликанты).

4.Выделяем ядро функции.

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

6.Среди тупиковых ДНФ выбираем минимальную.

30