- •Дискретная математика
- •© Омский государственный технический университет, 2009
- •Содержание
- •1. Введение в теорию множеств
- •1.1. Основные понятия теории множеств
- •1.2. Способы задания множеств
- •1.3. Операции над множествами
- •1.4. Геометрическое моделирование множеств. Диаграммы Венна
- •1.5. Алгебра множеств. Основные тождества алгебры множеств
- •1.6. Двойственность в алгебре множеств
- •1.7. Количество элементов объединения множеств
- •1.8. Эквивалентность множеств
- •1.9. Счетные множества
- •1.10. Множества мощности континуума
- •2. Отношения. Функции
- •2.1. Отношения. Основные понятия и определения
- •2.2. Операции над отношениями
- •2.3. Свойства отношений
- •2.4. Отношения эквивалентности и разбиения на классы
- •2.5. Отношение порядка
- •2.6. Функции. Основные понятия и определения
- •2.7. Способы задания функций
- •3. Графы
- •3.1. Основные характеристики графов
- •3.2. Матричные способы задания графов
- •3.3. Основные свойства матриц смежности и инцидентности
- •3.4. Графы и отношения
- •3.5. Изоморфизм графов
- •3.6. Маршруты, циклы в неориентированном графе
- •3.7. Пути, контуры в ориентированном графе
- •3.8. Связность графа
- •3.9. Деревья. Основные определения
- •3.10. Минимальные остовные деревья нагруженных графов
- •3.11. Построение дерева кратчайших путей
- •4. Булевы функции
- •4.1. Определение булевой функции
- •4.2. Формулы логики булевых функций
- •4.3. Равносильные преобразования формул
- •4.4. Основные равносильности булевых формул
- •4.5. Двойственность. Принцип двойственности
- •4.6. Булева алгебра (алгебра логики). Полные системы булевых функций
- •4.7. Нормальные формы
- •4.8. Разложение булевой функции по переменным
- •4.9. Кубическое представление булевых функций
- •4.10. Графическое представление булевых функций.
- •4.11 Покрытия булевых функций
- •4.12. Минимизация формул булевых функций с помощью карт Карно
- •4.13. Применение алгебры булевых функций к переключательным схемам
- •Библиографический список
4.12. Минимизация формул булевых функций с помощью карт Карно
Для минимизации булевых функций вручную удобно применять так называемые карты Карно. Карты Карно позволяют графически представить булеву функцию и обеспечивают наглядность процесса минимизации.
Карта Карно представляет прямоугольник, образованный одинаковыми ячейками. В общем случае карта строится по следующим правилам:
Число ячеек карты соответствует всем возможным комбинациям входных аргументов булевой функции, т. е. равно 2n, где n – число аргументов функции.
Каждая переменная делит карту на две равные непрерывные области: область истинных значений и область ложных значений. Для этого удобно использовать код Грея. Для разных переменных области не должны совпадать. При этом считается, что края карты склеены, т. е., например, первая и последняя ячейки строки являются соседними.
Карта для функций трех аргументов изображена на рисунке 4.2.
x2 x3 |
0 0 |
0 1 |
1 1 |
1 0 |
0 |
|
|
|
|
1 |
|
|
|
|
Рис. 4.2.
Карта для функции четырех аргументов изображена на рисунке 4.3.
x4 x1 x2 |
0 0 |
0 1 |
1 1 |
1 0 |
0 0 |
|
|
|
|
0 1 |
|
|
|
|
1 1 |
|
|
|
|
1 0 |
|
|
|
|
Рис. 4.3.
При минимизации функции с помощью карт Карно поступают следующим образом:
Минимизируемую функцию представляют на карте Карно, для этого помечают единицами ячейки карты, соответствующие 0-кубам.
Отыскивают группы смежных единиц с числом единиц в группе 2, 4, 8,, 2k, где k=1,2,3, Две смежные единицы образуют 1-куб, четыре смежные единицы - 2-куб, восемь смежных единиц 3-куб и т.д. Одиночная единица соответствует 0-кубу.
Покрываем все единицы минимальным количеством групп. Группы могут пересекаться. Следует учитывать, что края карты считаются склеенными. По найденному покрытию записывается минимальная форма как дизъюнкция 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-куб:
.
Соответствующая
ДНФ имеет вид

x1
x3