- •Практическое занятие №11 Тема: Минимизация булевых функций методом Квайна.
- •Теоретическая часть
- •1. Нахождение первичных импликант.
- •2. Расстановка меток ().
- •3. Нахождение существенных импликант.
- •Практическое занятие №12 Тема: Минимизация булевых функций методом Мак-Класки.
- •Теоретическая часть
- •Контрольные вопросы
- •Индивидуальные задания
- •Практическое занятие №13 Тема: Минимизация булевой функции методом Карно-Вейча.
- •Теоретическая часть
- •Диаграмма Карно-Вейча для 7-и переменных
- •Контрольные вопросы
- •Методические указания
- •Индивидуальные задания
- •Практическое занятие №14 Тема: Геометрический метод нахождения минимальной днф и кнф.
- •Теоретическая часть Геометрическое представление функций алгебры логики
- •Тупиковость на основе геометрических представлений
- •Методические указания
- •Контрольные вопросы
- •Индивидуальные задания
Практическое занятие №12 Тема: Минимизация булевых функций методом Мак-Класки.
Цель работы: овладение минимизацией булевых функций методом Мак-Класки
Теоретическая часть
В рассмотренном ранее методе Квайна есть один существенный недостаток. Он связан с необходимостью полного попарного сравнения всех минитермов на этапе нахождения простых импликант. С ростом числа минитермов, определяющих СДНФ данной функции, растёт число сравнений. Этот рост характеризуется факториальной функцией. Поэтому при достаточно большом числе минитермов применение метода Квайна, становится затруднительным.
В 1956 г. Мак-Класки предложил модификацию первого этапа метода Квайна, дающую существенное уменьшение числа сравнений минитермов. Идея заключается в следующем:1) записать минитермы в виде двоичных наборов;
2) разбить все наборы по числу единиц в них на непересекающиеся группы.
При этом в і-ю группу войдут все номера, имеющие в своей двоичной записи ровно і-единиц. Попарное сравнение можно проводить только между соседними по номерам группам, так как только эти группы отличаются для входящих в них минитермов в одном разряде. При образовании минитермов с рангом выше нулевого, в разряды соответствующие исключенным переменным, пишется знак тире. Такая минимизация, кроме того, на практике чрезвычайно удобна, т.к. позволяет избегать выписывания громоздких минитермов и импликант, заменяя их выписывание вычислением их двоичных номеров.
Пример: Функция задана в СДНФ минитермами с номерами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 15.
Найти минимальную ДНФ методом Мак-Класки.
Решение:
Запишем минитермы в двоичном коде по группам:
1. 0-я группа: 0000
2. 1-я группа: 0001, 0010, 0100, 1000
3. 2-я группа: 0011,0110,1001,0101
4. 3-я группа: 0111,1011
5. 4-я группа: 1111
Сравнивая соседние группы, получим минитермы третьего ранга:
0-я группа: 000-, 00-0, 0-00,-000
1-я группа: 00-1, -001, 001-, 0-10, 01-0, 100-, 0-01, 010-
2-я группа: 0-11,011-,01-1,-011 ,10-1
3-я группа: -111,1-11
Теперь найдём минитермы второго ранга:
0-я группа: 00--, -00-, 0--0,0-0-
1-я группа: -0-1, 0-1-, 0--1
2-я группа: --11
Сравнивая ещё раз 0-ю группу с 1-й, получим: 0 - - - .
2. Составим таблицу меток:
|
0000 |
0001 |
0010 |
0011 |
0100 |
0110 |
0111 |
1000 |
1001 |
1011 |
1111 |
00-- |
+ |
+ |
+ |
+ |
|
|
|
|
|
|
|
-00- |
+ |
+ |
|
|
|
|
|
+ |
+ |
|
|
0--0 |
+ |
|
+ |
|
+ |
+ |
|
|
|
|
|
-0-1 |
|
+ |
|
+ |
|
|
|
|
+ |
+ |
|
0--- |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
|
|
|
--11 |
|
|
|
+ |
|
|
+ |
|
|
+ |
+ |
Дальнейшая минимизация по методу Мак-Класки совпадает с минимизацией по методу Квайна.
3. Для нашего случая существенными являются импликанты: -00- и --11.
Выписываем оставшуюся таблицу меток:
|
0110 |
0100 |
00-- |
+ |
|
0--0 |
+ |
+ |
0--- |
+ |
+ |
Для рассматриваемой функции минимальная ДНФ имеет вид: