- •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.12.2. Образование кубов различной размерности на картах Карно
Две соседние клетки образуют 1-куб. При этом имеется в виду, что клетки, лежащие на границах карты, также являются соседними по отношению друг к другу. Примеры образования 1-кубов приведены на рис. 2.6 а),б).
а)
|
б)
|
Рис. 2.6. Образование 1- кубов на картах Карно для функций от трех (а) и
четырех (б) переменных
Карты позволяют для функций f1 и f2, заданных комплексами K0(f1) и K0(f2)
с ценами Sа(f1) = 15, Sb(f1) = 20 и Sa(f2) = 24, Sb(f2)=30 определить покрытия
с ценами Sa(f1) = 6, Sb(f1) = 9, Sa(f2) = 12, Sb(f1) = 16. Эти покрытия являются минимальными и им соответствуют минимальные ДНФ:
Четыре клетки карты могут объединяться, образуя 2-куб, содержащий две независимые координаты. Примеры образования 2-кубов приведены на рис. 2.7.
Карты построены для функций f1, f2 и f3, заданных в числовой форме:
а) |
б) |
в) |
|
|
|
Рис. 2.7. Образование 2-кубов
На картах определены покрытия, состоящие из 2-кубов:
и имеющие цены Sa(f1) = 6, Sb(f1) = 9, Sa(f2) = 4, Sb(f2) = 6, Sa(f3) = 4, Sb(f3) = 6.
Покрытия являются минимальными. Составленные по ним МДНФ имеют вид:
Объединение восьми клеток карты приводит к образованию 3-куба. Примеры образования 3-кубов для функций от четырех переменных f1, f2, f3, заданных в числовой форме:
приведены соответственно на рис. 2.8, а), б), в).
Рис. 2.8. Образование 3-кубов
Функциям f1, f2, f3 соответствуют покрытия с одинаковыми ценами Sа = 2, Sb = 4.
2.12.3. Определение минимальных покрытий и мднф
Для получения минимальной ДНФ функции с использованием карты Карно определяется покрытие функции, имеющее минимальную цену Sа. Минимальное покрытие выбирается интуитивным путем на основе анализа различных вариантов покрытий минимизируемой функции. Покрытие с минимальной ценой формируется, если каждая существенная вершина функции будет покрыта кубом максимальной размерности (с наибольшим числом независимых координат) и для покрытия всех существенных вершин будет использовано наименьшее число кубов.
Примеры минимизации функций приведены на рис. 2.9.
а) |
б) |
Рис. 2.9. Минимизация булевых функций от трех а) и четырех б) переменных
|
|
а на рис. 2.9 (б) - минимальное покрытие для функции от четырех переменных:
М
инимальному
покрытию функции f1
с
ценами Sа
=3, Sb=
5, соответствует МДНФ
Минимальному покрытию функции f2 Сmin(f2) =
с ценами Sа = 15, Sb = 20, соответствует МДНФ
Для минимизации функций от пяти и шести переменных используются соответственно две и четыре четырехмерные карты Карно.
Н
а
рис 2.10. приведен пример минимизации
функции пяти переменных
Рис. 2.10. Минимизация булевой функции от пяти переменных
Разделение четырехмерных карт Карно производится по значению аргумента х1: для левой карты х1=0, для правой - х1=1. Каждая клетка Карно для функции от пяти переменных имеет пять соседних, четыре из которых размещаются в пределах своей четырехмерной карте, а одна расположена в соседней карте и имеет в ней одинаковые с исходной клеткой координаты х2, х3, х4, х5, отличаясь только по координате х1.
Кубы, используемые в покрытии функции, могут располагаться:
а) целиком в одной из четырехместных карт (при х1=0 - в левой, при х1=1 – в правой);
б) в обеих четырехместных картах (при этом координата х1 - независимая: х1=Х).
Минимальное покрытие функции:
имеет цены Sа = 13, Sb = 17. Ему соответствует МДНФ:
Принцип размещения карт для представления функций шести переменных показан на рис. 2.11. На этом рисунке представлена функция от шести переменных, заданная комплексом с ценой Sа = 48:
Минимальное покрытие этой функции имеет цену Sа = 8.
При минимизации функций от большого числа переменных карты Карно неудобны, в этом случае для решения задач минимизации используются алгебраические методы. Минимальным ДНФ и КНФ функций соответствуют минимальные двухуровневые логические схемы.
Рис. 2.12. Минимизация булевой функции от шести переменных
