- •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.7).
Общая идея минимизации булевых функций, представленных в других базисах, описана в [4, стр. 69-71]. В [3, стр. 207-210] и [4, стр. 77 -84] описаны методы минимизации булевых функций, представленных в монофункциональных базисах (базисы Вебба (Пирса) и Шеффера). Минимизация функций в базисе Жегалкина рассматривается в [4, стр. 71-77], а в базисе (, &, ) – в [3, стр. 203-207].
Замечание. Считается, что схемы, характеризуемые малым значением S, являются минимальными по количеству используемого оборудования. Задача минимизации булевых функций по критерию минимальности числа букв, входящих в ДНФ функции, называется канонической задачей минимизации. Схема, получаемая в результате ее решения, не является абсолютно минимальной. Поэтому, используя скобочные формы функций, можно провести дальнейшее упрощение схемы, но абсолютный минимум оборудования в большинстве случаев так и не достигается.
2.9.Кубическое представление булевых функций
В кубическом представлении булевой функции от n переменных все множество из 2n наборов ее аргументов рассматривается как множество координат вершин n-мерного куба с длиной ребра, равной 1. В соответствии с этим наборы аргументов, на которых булева функция принимает значение, равное 1, принято называть существенными вершинами.
Существенные вершины образуют так называемые ноль-кубы (0-кубы). Между 0-кубами существует отношение соседства и определена операция склеивания. Два 0-куба называются соседними, если они отличаются только по одной координате и, соответственно, могут вступать в операцию склеивания, в результате которой получается 1-куб.
Пример 2.8. Для функции f 4(X) определить, являются ли ее 0-кубы (0101) и (0001) соседними и, если являются, то выполнить операцию их склеивания.
Заданные кубы являются соседними, так как они различаются только по одной координате. Результатом их склеивания является 1-куб (0Х01).
Координата, отмечаемая символом Х, называется свободной (независимой, несвязанной), а остальные (числовые), координаты называются зависимыми (связанными).
Аналогичное отношение соседства существует между 1-кубами, в результате склеивания которых получается 2-куб.
Пример 2.9. Для функции f 4(X) определить, являются ли ее 1-кубы (0Х01) и (0Х11) соседними и, если являются, то выполнить операцию их склеивания.
Заданные кубы являются соседними, так как они различаются только по одной координате. Результатом их склеивания является 2-куб (0ХХ1).
В порядке обобщения: два r-куба называются соседними, если они отличаются только по одной (естественно, зависимой) координате. Каждый r-куб содержит r независимых и (n – r) зависимых координат. В результате склеивания двух соседних r-кубов образуется (r+1)-куб содержащий (r+1) независимую координату.
Замечания.
Размерность куба определяется количеством свободных координат.
В соседних r-кубах (r > 0) все свободные координаты являются одноименными.
Операция склеивания над кубами различной размерности соответствует применению закона склеивания к конъюнктивным термам, отождествляемым с этими кубами.
Так,
для примера 2.8 0-кубу (0101) соответствует
терм
,
а 0-кубу (0001) – терм
.
Эти термы склеиваются по переменной
х2.
Результат склеивания:
в
котором отсутствует переменная х2,
отождествляется
с 1-кубом (0Х01).
Аналогично,
для примера 2.9 1-кубу (0Х01) соответствует
терм
,
а 1-кубу (0Х01) – терм
.
Эти термы склеиваются
по переменной х3.
Результат склеивания:
,
отождествляется с 2-кубом (0ХХ1).
Кубическим
комплексом K0(f)
булевой функции f
называется
множество 0-кубов этой функции. В общем
случае, кубическим
комплексом K(f)
булевой функции f
называется
объединение множеств кубов всех
размерностей этой функции
,
m
- максимальная размерность кубов функции
f.
Пример 2.10. Получить кубический комплекс функции
Д
ля
получения кубического комплекса K(f)
необходимо провести всевозможные
операции склеивания над 0-кубами, 1-кубами
и т.д. до тех пор, пока при склеивании
r-кубов
не получится K
r+1(f)=
.
K
3(f)=
(пустое множество).
K(f)=K0(f) U K1(f) U K2(f). Естественно, что в комплексе K2(f) останется только один куб (Х1Х).
Пояснения. Получение 1-кубов осуществляется на основе попарного сравнения 0-кубов с целью выявления всевозможных пар соседних 0-кубов и образования 1-кубов из каждой пары. Для сокращения числа попарных сравнений можно учесть следующий факт: соседними могут являться только такие два 0-куба, в которых число единичных координат отличается ровно на единицу. В связи с этим целесообразно разделить 0-кубы на группы, различающиеся числом единичных координат, и проводить попарные сравнения только для 0-кубов, принадлежащих соседним группам.
Замечания.
Для данного примера в записи 0-кубов в кубическом комплексе K0(f) в порядке возрастания их десятичных эквивалентов уже присутствует их упорядочеие и разделение на группы.
При полном попарном сравнении пяти 0-кубов потребовалось бы выполнить 4!=24 операции сравнения, а при целенаправленном (сравниваются только кубы из двух соседних групп) – число операций сравнения равно шести.
Подобный принцип рационального сравнения кубов можно распространить и на кубы большей размерности. При этом добавляется еще одно условие: два r-куба могут быть соседними, если все r их независимых координат являются одноименными.
При склеивании 1-кубов 2-кубы представлены в двух экземплярах как результаты склеивания двух различных пар 1-кубов. Распространяя этот принцип на кубы большей размерности, можно утверждать, что r-кубы как результат склеивания (r-1)-кубов получаются в r-кратном количестве экземпляров.
Куб, входящий в состав кубического комплекса K(f), называется максимальным, если он не вступает ни в одну операцию склеивания.
Множество максимальных кубов функции f обозначается Z(f). Это множество является окончательным результатом операции склеивания кубов. Из кубов этого множества (и только из них) строится минимальное покрытие булевой функции.
В
примере 2.10 максимальными кубами являются
кубы
