Методические указания
Логическая функция называется импликантой функции, если на любом наборе значение переменных, на котором значение функции g равно 1 (единице), значение функции f тоже равно единице. Простой импликантой р функции f называется элементарная конъюнкция, являющаяся импликантой функции f и такая, что никакая её собственная часть не является импликантой. Дизъюнкция любого множества импликант булевой функции является импликантой этой функции.
Дизъюнкция всех простых импликант булевой функции совпадает с этой функцией и называется сокращённой дизъюнктивной нормальной формой (СкДНФ) этой функции.
Сокращенная ДНФ является, в общем случае, более экономным способом представления булевой функции, чем СДНФ. Однако зачастую и она допускает дальнейшие упрощения за счет того, что некоторые из простых импликант могут поглощаться дизъюнкциями других простых импликант. Появляется задача минимизации логических функций.
Дизъюнкция всех простых импликант, составляющих систему S, называется тупиковой дизъюнктивной нормальной формой (ТДНФ) функции f. Всякая тупиковая ДНФ функции f совпадает с этой функцией. Если сокращенная ДНФ однозначно определяема логической функцией, то для одной и той же функции может существовать несколько различных тупиков ДНФ.
ДНФ логической функции называется минимальной, если сумма рангов образующих её элементарных конъюнкций будет не больше, чем в любой другой ДНФ этой функции.
Метод Квайна-Мак-Класки. Минимизация логических функций методом Квайна-Мак-Класки проводится в два в два этапа. На этапе 1 из СДНФ получают сокращенную ДНФ. На этапе 2 из сокращенной ДНФ получают систему тупиковых ДНФ, их которой затем выбирают минимальную ДНФ.
Этап 1. Сокращенная ДНФ – форма представления функции, которая получается из ДНФ путем склеивания вначале конституент единицы между собой (склеиваются «соседние» по той или иной переменной) по всем переменным, а затем конъюнкции ранга n-1, n-2 и т.д. Простая импликанта есть элементарная конъюнкция, которая не склеивается ни с какой другой конъюнкцией, входящей в данную логическую функцию.
При реализации этого метода удобно конституенты единиц задавать в виде условных чисел, рассматривая набор, на котором они обращают в единицы, как двоичную запись этого числа. Индексом условного числа будем называть число единиц в двоичном представлении этого числа. Очевидно, что склеивать легче только те конституенты единиц, для которых индексы различные только на единицу.
Часто сокращенная ДНФ допускает дальнейшие упрощения, т.к. содержит простые импликанты, которые поглощаются дизъюнкцией других простых импликант. Упрощение сокращенной ДНФ и составляет второй этап минимизации функции.
Этап 2. Отыскивается система тупиковых ДНФ. Выбор из них минимальных ДНФ можно реализовать методом Петрика. В соответствии с этим методом строим импликантную матрицу - булеву матрицу, строки которой соответствуют импликантам тупиковых ДНФ, а столбцы – конституентам единиц СДНФ. Элемент матрицы равен 1, если простые импликанты являются составной частью соответствующей конституенты единицы. Затем отыскивают кратчайшее строчное покрытие этой матрицы. Тупиковая ДНФ с наименьшей суммой рангов составляющих её простых импликант и является минимальной ДНФ.
Решение
Знаком (*) отметим конъюнкции, которые склеиваются в процессе решения (рис. 4).
0 | 0000* | 000- |
|
1 | 0001* | -001 |
|
2
| 1100* 1001*
| 11-0* 110-* 1-01 | 11--
|
3 | 1110* 1101* | 111-* 11-1* |
|
4 | 1111* |
|
|
Рис. 4
Строим импликантную матрицу. Она дополнена строкой, содержащей дизъюнкцию тех простых импликант, которые соответствуют строкам, покрывающим тот или иной столбец матрицы (табл. 6).
Таблица 6
|
| 0000 | 0001 | 1100 | 1001 | 1110 | 1101 | 1111 |
p1 | 000- | 1 | 1 |
|
|
|
|
|
p2 | -001 |
| 1 |
| 1 |
|
|
|
р3 | 1-01 |
|
|
| 1 |
| 1 |
|
р4 | 11-- |
|
| 1 |
| 1 | 1 | 1 |
vpi |
| p1 | p1 v p2 | p4 | p2 v p3 | р4 | p3 v p4 | р4 |
Далее находится конъюнкция из элементов последней строки данной матрицы и отыскивается минимальная ДНФ. Каждая ее составляющая будет соответствовать тупиковой ДНФ исходной функции. Из полученной системы тупиковых ДНФ выбирается та, у которой суммарный ранг составляющих ее элементарных конъюнкций наименьший.
p1p4(p1 v p2)(p2 v p3)(p3 v p4) = p1p4(p2 v p1p3)(p3 v p4) = p1p4(p2p3 v p1p3 v p2p4 v v p1p3p4) = p1p4(p2p3 v p1p3 v p2p4) = p1p2p3p4 v p1p3p4 v p1p2p4
Как видно из последней формулы, исходная функция имеет три тупиковых ДНФ. Минимальная ДНФ соответствует слагаемым p1p3p4 и p1p2p4 и представляет собой дизъюнкцию импликант, входящих в эти слагаемые. Таким образом, первая минимальная ДНФ имеет следующее характеристическое множество {000-, 1-01, 11--}, т.е. имеет вид , а вторая минимальная ДНФ – множество {000-, -001, 11--} и вид .
- Литература
- Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- 1.2.Операции над множествами
- 1.3. Булева алгебра множеств
- 1.4. Разбиения и покрытия
- 2. Отношения бинарные и n-арные
- 2.1. Декартово произведение
- 2.2. Бинарные отношения (соответствия)
- 2.3. Операции над бинарными отношениями
- 2.4. Функциональные отношения
- 2.5. Бинарные отношения на множестве
- 2.6. Алгебраические системы
- 3. Основные понятия теории графов
- 3.1. Абстрактный граф
- 3.2. Графическое представление бинарного отношения
- Множеств а и в
- 3.3. Матричные представления графа
- 3.4. Части графа
- 3.5. Достижимость и связность
- 3.6. Доминирующие множества графа
- 3.7. Независимые множества графа
- 3.8. Раскраска графа
- 3.9.Планарность графов
- 3.10. Инварианты графов
- 4. Булевы функции
- 4.1. Способы задания булевой функции
- 4.2. Элементарные булевы функции и алгебраические формы
- 4.3. Интерпретации булевой алгебры
- 4.4. Нормальные формы булевых функций
- 4.4.1. Дизъюнктивные нормальные формы
- 4.4.2. Конъюнктивные нормальные формы
- 4.5 Полнота и замкнутость системы логических функций
- 4.6. Локальные упрощения днф
- 4.6.1. Удаление избыточных элементарных конъюнкций
- 4.6.2. Удаление избыточных литералов
- 4.7. Графическое представление булева пространства и булевых функций
- 4.7.1. Булев гиперкуб
- 4.7.2. Развертка гиперкуба на плоскости. Карта Карно
- 4.8. Минимизация днф
- 4.8.1. Метод Квайна-МакКласки
- 4.8.2. Метод Блейка-Порецкого
- 4.8.3. Визуально-матричный метод минимизации
- 5. Элементы математической логики
- 5.1 Алгебра высказываний
- Всякое высказывание логично следует из самого себя.
- 2. Закон противоречия:
- Если из а следует b, а b ложно, то а тоже ложно.
- 5.2. Логические отношения
- 5.3.Проверка правильности рассуждений
- 5.4. Решение логических задач методом характеристического уравнения
- 5.6. Кванторы
- 5.7 Эквивалентные соотношения. Префиксная нормальная форма
- 6. Основы теории алгоритмов
- 6.1. Интуитивное понятие об алгоритме
- 6.2. Три типа алгоритмических моделей
- 6.3. Кризис теории множеств антиномии. Выводы из антиномий
- 6.4. Машины Тьюринга как модели алгоритмов
- 6.5. Алгоритмы решения некоторых задач теории графов на графах
- 7. Конечный автомат и его описание.
- 7.2. Представления автомата
- 7.3. Связь между моделями Мили и Мура
- 7.4. Автомат с абстрактным состоянием. Булев автомат
- 7.5. Понятие о регулярных выражениях алгебры событий.
- 7.6. Задачи абстрактной теории конечных автоматов
- 8. Комбинаторные задачи и методы комбинаторного поиска
- 8.1. Задачи подсчета числа комбинаторных решений
- 8.2. Особенности оптимизационных комбинаторных задач
- 8.3. Вычислительная сложность
- 8.4. Методы комбинаторного поиска
- 8.5. Задача о кратчайшем покрытии и методы ее решения
- 8.5.1. Постановка задачи
- 8.5.2. Приближенные методы решения задачи
- 8.5.3. Точный метод
- Вопросы к зачету
- 28. Нормальные формы булевых функций. Дизъюнктивные нормальные формы
- 44. Эквивалентные соотношения. Префиксная нормальная форма
- Практический раздел Контрольная работа Указания по выбору варианта
- Контрольное задание №1. Используя диаграммы Эйлера-Венна, решить задачу
- Методические указания
- Задачи для самостоятельного решения
- Контрольное задание №2. Получить сднф, скнф, используя таблицу истинности. Построить днф, кнф, упростив выражение.
- Методические указания
- Задачи для самостоятельного решения
- Контрольное задание №3. Упростить схему (рис. 2)
- Методические указания
- Задачи для самостоятельного решения
- Задачи для самостоятельного решения
- Методические указания
- Задачи для самостоятельного решения
- Контрольное задание №6. Найти инварианты неориентированного графа, заданного матрицей смежности
- Методические указания
- Задачи для самостоятельного решения