- •1.Основы теории множеств Введение
- •1.1.Основные понятия
- •1.2.Способы задания множеств
- •1.3.Отношения между множествами
- •1.4.Алгебра множеств
- •1.4.1Операции над множествами
- •1.4.2Основные тождества (законы) алгебры множеств
- •1.4.31.4.3 Способы доказательства тождеств
- •1.5.Упорядоченные множества
- •1.5.1Понятие вектора
- •1.5.2Прямое (декартово) произведение множеств
- •1.5.3 Декартова степень множества
- •Контрольные вопросы Основные понятия, положения и формулировки
- •Контрольные задачи
- •2.Приложение булевой алгебры к синтезу комбинационных схем Введение
- •2.1.Элементы булевой алгебры
- •2.2.Разнообразие булевых функций
- •2.3.Нормальные формы булевых функций
- •2.4.Числовая и символическая формы представления булевых функций
- •2.5.Преобразование произвольной аналитической формы булевой функции в нормальную
- •2.6.Приведение произвольных нормальных форм булевой функции к каноническим
- •2.7.Разнообразие двоичных алгебр
- •2.8.Задача минимизации булевых функций и методы ее решения
- •2.8.1. Постановка задачи минимизации
- •2.8.2. Методы минимизации булевых функций
- •Минимизация булевых функций, представленных в других базисах:
- •2.9.Кубическое представление булевых функций
- •2.10. Графическое представление булевых функций. Геометрическая интерпретация кубов малой размерности
- •2.11.Покрытия булевых функций
- •2.11.1. Построение покрытий булевых функций из кубов различной размерности. Соответствие между покрытием и днф булевой функции
- •2.11.2. Цена покрытия
- •2.11.3. Нулевое покрытие булевой функции и получение мкнф
- •2.12. Минимизация булевых функций на картах Карно
- •2.12.1. Представление булевых функций на картах Карно
- •2.12.2. Образование кубов различной размерности на картах Карно
- •2.12.3. Определение минимальных покрытий и мднф
- •2.12.4. Минимизация частично определенных булевых функций
- •2.13.Импликанты булевой функции. Системы импликант
- •Аналогия между импликантами и кубическим представлением булевой функции
- •2.14.Минимизация булевых функций методом Квайна-Мак-Класки
- •2.14.1Нахождение множества максимальных кубов (простых импликант) булевой функции
- •2.14.2Определение ядра покрытия
- •2.14.3Определение множества минимальных покрытий
- •2.15.Функциональная полнота системы булевых функций
- •2.15.1Теорема о функциональной полноте (теорема Поста)
- •Другая формулировка теоремы Поста:
- •2.15.2 Замечательные классы булевых функций
- •2.15.3Конструктивный подход к доказательству функциональной полноты системы булевых функций
- •Контрольные вопросы и задачи
- •3. Синтез комбинационных схем
- •3.1. Типовые логические элементы и их обозначения на функциональных схемах
- •Способы кодирования логических сигналов
- •Понятие логической схемы. Типы логических схем
- •Основные параметры комбинационных схем
- •Задачи анализа и синтеза комбинационных схем
- •Построение комбинационных схем по минимальным нормальным формам в различных базисах
- •Булев базис (и, или, не)
- •Сокращенный булев базис (и, не)
- •Сокращенный булев базис (или, не)
- •Универсальный базис (и-не)
- •Универсальный базис (или-не)
- •Задача факторизации булевых функций
- •Оценка эффекта факторизации
- •3.9. Декомпозиция булевых функций
- •3.10. Синтез многовыходных комбинационных схем
- •3.11. Минимизация системы булевых функций
- •Раздельная минимизация функций системы
- •Совместная минимизация функций системы
- •3.12. Факторизация системы булевых функций
- •3.13. Декомпозиция системы булевых функций
- •Раздельная минимизация
- •Раздельная факторизация
- •Декомпозиция системы булевых функций
- •Контрольные вопросы и задачи
- •Вопросы к рубежному контролю
- •Литература
- •3.Мальцев и.А. Дискретная математика. СПб.:Изд. "Лань", 2011. – 304 с.
- •4.Шевелев ю.П. Дискретная математика. СПб.:Изд. "Лань", 2008. – 592 c.
- •Кафедра вычислительной техники
- •Основы теории множеств и приложение булевой алгебры к синтезу комбинационных схем
2.11.3. Нулевое покрытие булевой функции и получение мкнф
Выше было рассмотрено покрытие булевой функции на наборах аргументов, для которых функция равна единице. Такие покрытия можно назвать единичными. Наряду с единичными покрытиями существуют и нулевые, покрывающие наборы аргументов, на которых функция равна нулю, то есть покрытие строится для существенных вершин, но не самой функции, а ее отрицания (инверсии).
Принципы построения нулевого покрытия такие же, как и для единичного.
Пример 2.14. Для булевой функции из примера 2.11. найти минимальное нулевое покрытие и составить МКНФ.
Числовое представление булевой функции по единичным значениям имеет вид:
Альтернативное числовое представление булевой функции по нулевым значениям имеет вид:
Определим множество максимальных кубов нулевого покрытия. Над 0-кубами кубического комплекса
Sa=9
Sb=12;
выполним единственную операцию склеивания, в результате чего получим кубический комплекс
Поскольку
0-куб (101) не склеивался с другими 0-кубами,
а 1-куб – единственный (К2(
)=),
то множество максимальных кубов:
Sa=5
Sb=7.
Минимальное
нулевое покрытие совпадает с множеством
максимальных кубов:
Замечания.
1. Для того, чтобы отличать нулевое покрытие от единичного в обозначениях кубических комплексов различной размерности, а также покрытий используется знак инверсии над функцией.
Цена минимального нулевого покрытия оказалась меньше цены минимального единичного покрытия.
Так как предсказать какое из минимальных покрытий данной функции, единичное или нулевое, будет иметь меньшую цену заранее невозможно, то для построения схемы, обладающей минимальной ценой по Квайну, целесообразно решать задачу минимизации в отношении обоих покрытий.
2.12. Минимизация булевых функций на картах Карно
2.12.1. Представление булевых функций на картах Карно
Одним из способов графического представления булевых функций от небольшого числа переменных являются карты Карно. Карты Карно были изобретены в 1952 г. Эдвардом В. Вейчем (диаграммы Вейча) и усовершенствованы в 1953 г. Морисом Карно, физиком лаборатории Белла (Bell Labs).
Идея построения карт Карно различной размерности и представление булевых функций на них изложены в разделе 2.8.2.
На рис. 2.4. приведены булевы функции от трех переменных из примеров 2.10 (а) и 2.11 (б).
а)
х2х3
х1
00
01
11
10
0
1
1
1
1
1
1 |
б)
х2х3
х1
00
01
11
10
0
1
1
1
1
1
1 |
||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||
Рис.2.4. Карты Карно функций от трех переменных
В связи с тем, что в основе формирования кубов различной размерности k (k>0) положены отношения соседства и операции склеивания, порядок проставления координат (х2 х3) в столбцах карты {(00), (01), (11), (10)} принят таким, чтобы соседние 0-кубы размещались в геометрически соседних клетках карты.
На рис. 2.5. приведен пример карты Карно для булевой функции от четырех переменных, заданной в числовой форме:
|
x3x4 |
||||
x1x2 |
|
00 |
01 |
10 |
10 |
00 |
1 |
|
|
|
|
01 |
1 |
|
|
|
|
11 |
|
1 |
|
1 |
|
10 |
|
|
|
1 |
|
Рис.2.5. Карта Карно функции от четырех переменных
Карты Карно являются удобным средством для минимизации булевых функций от небольшого числа переменных. С использованием карт Карно находится минимальное покрытие функции, по которому строится ее минимальная ДНФ (КНФ).
