
- •Белорусский государственный университет
- •2 Переключательные функции
- •3 Способы представления логических функций
- •3.1 Техническая интерпретация логических функций
- •4 Логический базис
- •5 Минимизация логических функций
- •5.1 Аналитический способ
- •5.2 Табличный метод Квайна - МакКласки
- •5.2.1 Пример минимизации функции четырех переменных методом Куайна - Мак-Класки
- •5.3 Использование специальных методов
- •5.3.1 Карты Карно
- •5.3.2 Карты и прямоугольники Карно
- •5.3.3 Алгоритм "ниирта" графической минимизации булевых функций
- •Примечание
- •5.3.4 Пример решения задачи
- •5.3.4.1 Математическая модель цифрового устройства
- •5.4.5 Основные правила
- •6 Практическое задание
5.2 Табличный метод Квайна - МакКласки
Для булевых функций с числом переменных больше 6 целесообразно использовать аналитические или табличные методы минимизации. Следует отметить, что табличные методы как правило легко алгоритмизируемы и более пригодны для реализации в компьютерных программах.
Любой аналитический (табличный) метод минимизации состоит из следующих шагов.
Выполняются все неполные склеивания и находятся все простые импликанты (имплиценты).
Выполняется задача покрытия всех значений функции (минтермов или макстермов) набором простых импликант (имплицент), в результате чего получается множество тупиковых форм функции.
Среди множества тупиковых форм выбирается одна, которая по определенным критериям признается минимальной. Чаще всего это критерий минимального количества переменных (букв) в аналитическом выражении одной из тупиковых форм функции.
Дальнейшее изложение аналитических (табличных) методов минимизации будем вести относительно ДНФ булевой функции, имея ввиду, что абсолютно аналогичные рассуждения применимы и к КНФ.
Среди всего множества таких методов можно выделить два направления в решении задач минимизации. Первое состоит в определении всех простых импликант, построении из них тупиковых форм и определении путем перебора минимальной ДНФ.
Второе состоит в определении всех существенных импликант, отыскании всех недостающих для реализации заданной функции простых импликант и построении тупиковой ДНФ. Наиболее распространенным среди табличных методов является относящийся к первому направлению метод Квайна-МакКласки.
Задача определения множества простых импликант является переборной и разумная организация вычислений может привести к значительному сокращению вычислений. Основной идеей метода Квайна-МакКласки является разбиение множества минимизируемых кубов на группы с равным количеством единиц в каждой. При выполнении склеивания сравниваются только кубы из соседних групп (различающихся на одну единицу). Это приводит к значительному сокращению числа переборов при выполнении склеиваний.
Метод Квайна-МакКласки для кубического представления булевых функций рассмотрим на примере минимизации функции четырех переменных.
5.2.1 Пример минимизации функции четырех переменных методом Куайна - Мак-Класки
Минимизируем логическую функцию S(a,b,c,d) методом Куайна - Мак-Класки.
1. Пусть функция S(a,b,c,d) задана таблицей истинности (символ 'означает операцию отрицания):
2.
Сгруппируем минтермы по количеству в
них единиц:
3. Произведем первое объединение строк каждых предыдущих и последующих групп:
4. Объединим строки с совпадающими позициями "крестиков":
5. Из двух строк с идентичными значениями минтермов оставляем только одну:
S(a,b,c,d) = bc' + ab'd' + ac'
d'+ bd
5.3 Использование специальных методов
5.3.1 Карты Карно
Рассмотрим кратко метод карт Карно, как самый удобный метод, позволяющий быстро решать задачи минимизации булевых функций до 6 аргументов. При этом получается минимальная форма в базисе И, ИЛИ, НЕ. Существуют карты Карно на 2 , 3 , 4 , 5 и 6 переменных. Причем последние стали использоваться достаточно недавно. На рисунке 6 представлены карты Карно для 2, 3, 4, 5 и 6 аргументов.
|
Рисунок 6 |