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

4.12. Минимизация формул булевых функций с помощью карт Карно

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

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

  1. Число ячеек карты соответствует всем возможным комбинациям входных аргументов булевой функции, т. е. равно 2n, где n – число аргументов функции.

  2. Каждая переменная делит карту на две равные непрерывные области: область истинных значений и область ложных значений. Для этого удобно использовать код Грея. Для разных переменных области не должны совпадать. При этом считается, что края карты склеены, т. е., например, первая и последняя ячейки строки являются соседними.

Карта для функций трех аргументов изображена на рисунке 4.2.

x1

x2

x3

0

0

0

1

1

1

1

0

0

1

Рис. 4.2.

Карта для функции четырех аргументов изображена на рисунке 4.3.

x3

x4

x1 x2

0

0

0

1

1

1

1

0

0 0

0 1

1 1

1 0

Рис. 4.3.

При минимизации функции с помощью карт Карно поступают следующим образом:

  1. Минимизируемую функцию представляют на карте Карно, для этого помечают единицами ячейки карты, соответствующие 0-кубам.

  2. Отыскивают группы смежных единиц с числом единиц в группе 2, 4, 8,, 2k, где k=1,2,3, Две смежные единицы образуют 1-куб, четыре смежные единицы - 2-куб, восемь смежных единиц 3-куб и т.д. Одиночная единица соответствует 0-кубу.

  3. Покрываем все единицы минимальным количеством групп. Группы могут пересекаться. Следует учитывать, что края карты считаются склеенными. По найденному покрытию записывается минимальная форма как дизъюнкция i-кубов, соответствующих выделенным группам смежных единиц.

Пример 4.27. Найдем минимальную ДНФ для функции трех переменных из примера 4.26. Составим карту Карно для функции (рисунок 4.4).

Рис. 4.4.

Группы смежных единиц образуют 4 максимальных куба, выпишем их множество . Единицы, покрытые только одним кубом помогают выписать ядро . Мы видим, что вершина 100 остается не покрытой ядром, поэтому для получения минимального покрытия надо добавить к ядру либо куб 1x0, либо куб x00. В результате получим два минимальных покрытия, как и в примере 4.26.

Пример 4.28. Найдем с помощью карты Карно минимальную ДНФ функции четырех переменных из примера 4.25. Соответствующая карта изображена на рисунке 4.5.

Рис. 4.5.

Группы смежных единиц образуют один 3-куб и два 2-куба. Множество максимальных кубов . Единицы, покрытые только одним кубом показывают, что ядро совпадает с множеством Z(f ) и является минимальным покрытием. Оно совпадает с покрытием полученным в примере 4.25.

Пример 29. Для функции

карта Карно изображена на рисунке 4.6.

Рис. 4.6.

В данном случае одна единица не имеет смежных, поэтому минимальная форма содержит 0-куб:

.

Соответствующая ДНФ имеет вид

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