Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КДМ / КДМ_Лаб11-14.doc
Скачиваний:
94
Добавлен:
07.02.2016
Размер:
702.46 Кб
Скачать

Практическое занятие №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---

+

+

Для рассматриваемой функции минимальная ДНФ имеет вид:

Соседние файлы в папке КДМ