Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UchebnoePosobie.doc
Скачиваний:
74
Добавлен:
11.11.2019
Размер:
6.36 Mб
Скачать

1.5.8.1.Минимизация днф булевой функции

Если в СДНФ булевой функции произвести всевозможные операции обобщённого склеивания: x×FÚ`x×F=x×FÚ`x×FÚF, а затем операции поглощения F1ÚF1×F2=F1, то будет получена сокращённая ДНФ, каждая элементарная конъюнкция которой есть импликанта длины n или (n-1). На втором этапе выполняется операция обобщённого склеивания для импликант длины (n-1), а в результате операции поглощения будут получены импликанты длины (n-1) и/или (n-2). Операции обобщённого склеивания и поглощения выполняются до тех пор пока можно получать импликанты от меньшего числа булевых переменных.Импликанты минимальной длины для булевой функции называются простыми.

Например,

f(x1; x2; x3; x4)=`x1×`x2×`x3×x4Ú`x1×`x2×x3×x4Ú`x1×x2×`x3×x4Ú`x1×x2×x3×x4Ú Úx1×x2×`x3×`x4 Ú x1×x2×x3×`x4Úx1×x2×x3×x4.

  • первый этап обобщённого склеивания:

f(x1; x2; x3; x4)=`x1×`x2×`x3×x4Ú`x1×`x2×x3×x4 Ú`x1×x2×`x3×x4Ú`x1×x2×x3×x4Ú Úx1×x2×`x3×`x4Ú `x1×`x2×x4Ú`x1×`x3×x4Ú`x1×x3×x4Ú`x1×x2×x4Úx2×x3×x4Úx1×x2×x3 Úx1×x2×x4Úx1×x2×x3×`x4Ú x1×x2×x3×x4;

  • первый этап поглощения:

f(x1; x2; x3; x4)=`x1×`x2×x4Ú`x1×`x2×`x3Ú`x1×x3×x4Ú`x1×x2×x4Úx2×x3×x4Ú

Úx1×x2× x3 Úx1×x2×`x4;

  • второй этап обобщённого склеивания:

f(x1; x2; x3; x4)=`x1×`x2×x4Ú`x1×`x3×x4Ú`x1×x3×x4Ú`x1×x2×x4Úx2×x3×x4 Úx1×x2×x3 Úx1×x2×`x4Ú `x1×x4Ú`x1×x4;

  • второй этап поглощения:

f(x1; x2; x3; x4)=`x1×x4Úx2×x3×x4Úx1×x2×x3Úx1×x2×`x4.

Следующий этап обобщённого склеивания не уменьшает длину ДНФ и числа двоичных переменных. Поэтому на втором этапе получены простые импликанты и тупиковая ДНФ.

Для поиска минимальной ДНФ необходимо удалить из тупиковой ДНФ избыточные простые импликанты. Для этого составляется таблица простых импликант, столбцами которой являются элементарные конъюнкции СДНФ булевой функции - K(i), а строками - простые импликанты тупиковой ДНФ - Kj.

Если Kj входят в число элементов K(i), то на пересечении строки и столбца ставиться 1, в противном случае 0.

Для каждого значения Kj проверяется условие: если Kj(i)®Úl¹jKl(i)º0, то Kj(i) является ядерной импликантой минимальной ДНФ. Этому условию соответствует единственная 1 в столбце для соответствующего Kj. Если в столбце несколько 1, то Kj(i)®Úl¹jKl(i)º1.

Удаляя из таблицы все ядерные импликанты и столбцы K(i), в которых они содержат 1, получим сокращённую таблицу неядерных импликант ДНФ, из числа которых следует выбрать простые импликанты с минимальным набором числа двоичных переменных.

Ядерные импликанты и набор неядерных из числа простых, но покрывающих все “1” таблицы, формирует минимальную ДНФ. В таблице 1.27 представлены простые импликанты тупиковой ДНФ и элементарные конъюнкции СДНФ для рассматриваемого примера.

таблица 1.27

Простые импликанты

Kj

Элементарные конъюнкции СДНФ- K(i)

`x1×`x2××`x3×x4

`x1×`x2× x3×x4

`x1×x2×`x3×x4

`x1×x2×x3×x4

x1×x2×`x3×`x4

x1×x2×x3×`x4

x1×x2×x3×x4

`x1×x4

[1]

[1]

[1]

1

0

0

0

x1×x2×x3

0

0

0

0

0

1

1

x1×x2×`x4

0

0

0

0

[1]

1

0

x2×x3×x4

0

0

0

1

0

0

1

Элементами этой таблицы являются “1”, если простая импликанта входит в состав элементарной конъюнкции СДНФ, и “0” – в противном случае. Квадратными скобками выделены те “1”, для которых выполняется условие ядерной импликанты.

Ядерными импликантами являются `x1×x4 и x1×x2×`x4, которые покрывают элементарные конъюнкции СДНФ: (`x1×`x2×`x3×x4), (`x1×`x2×x3×x4), (`x1×x2×`x3×x4), (`x1×x2×x3×x4), (x1×x2×`x3×`x4) и (x1×x2×x3×`x4).

Из множества элементарных конъюнкций осталась непокрытой только одна - (x1×x2×x3×x4) и две неядерных импликанты: (x1×x2×x3) и (x2×x3×x4). Следовательно, возможны два варианта минимальной ДНФ:

fmin(x1; x2; x3; x4)=`x1×x4Úx1×x2×x3Úx1×x2×`x4

fmin(x1; x2; x3; x4)=`x1×x4Úx2×x3×x4Úx1×x2×`x4.

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