Минимизация булевых функций на картах Карно
Одним из способов графического представления булевых функций от небольшого числа переменных являются карты Карно, которые строят как развертки кубов на плоскости. При этом вершины куба представляются клетками карты, координаты которых совпадают с координатами соответствующих вершин куба. Карта заполняется так же, как таблица истинности: значение 1 указывается в клетке, соответствующей набору, на котором функция имеет единичное значение. Значения 0 на карте обычно не отмечаются. Пример использования карт Карно для представления функций: которым соответствуют комплексы: приведен на рис.1. Клетки отмеченные на картах значениями 1, соответствуют 0-кубам (конституентам единицы) булевых функций.
а) f1 б) f2
в) f3
Рис.1. Карты Карно функций двух (а), трех (б) и четырех (в) переменных. Карты Карно являются удобным средством для выполнения действий с булевыми функциями и, в частности, используются для минимизации булевых функций от небольшого числа переменных. С использованием карт Карно легко выделяется минимальное покрытие функции, по которому строится ее минимальная ДНФ или КНФ. Две соседние клетки образуют 1-куб. При этом имеется в виду, что клетки, лежащие на границах карты, также являются соседними по отношению друг к другу. Примеры образования 1-кубов приведены на рис. 2 а,б.
Рис. 2. Образование 1- кубов.
Карты позволяют для функций f1 и f2 заданных комплексами 000 0000 001 0010 K0(f1) = 011; K0(f2) = 1101 100 1111 110 1110 с ценами Sа (f1) = 15 и Sa (f2) = 24, определить покрытия X00 X000 С(f1) = 0X1; C (f2) = 00X0 1X0 11X1 111X с ценами Sa(f1) = 6, Sa(f2) = 12, которым соответствуют аналитические выражения, являющиеся минимальными ДНФ функций: Четыре вершины могут объединяться, образуя 2-куб, содержащий две независимые координаты. Примеры образования 2-кубов приведены на рис. 3.
Рис. 3. Образование 2-кубов.
Карты построены для функций f1, f2 и f3, заданных комплексами K0(f1), K0(f2), K0(f3) с ценами Sa(f1) = 40, Sa(f2) = 24, Sa(f3) = 32.
На картах определены покрытия состоящие из 2-кубов и имеющие цены Sa (f1) = 6, Sa (f2) = 4, Sa (f3) = 4. Объединение восьми вершин приводит к образованию 3-куба. Примеры минимизации функций f1, f2, f3, заданных комплексами 0000 0001 0000 0001 0011 0001 0011 0101 0011 0010 0111 0010 0100 1101 1000 K0(f1) = 0101; K0(f2) = 1111; K0(f3) = 1001, 0111 1001 1011 0110 1011 1010 1100 0100 0111 1101 1100 0110 1111 0110 1111 1110 1110 1110 цена каждого из которых равна Sa = 48, приведены соответственно на картах рис. 4, а, б, в. Функциям f1, f2, f3 соответствуют минимальные покрытия с ценой Sа = 2
Рис. 4. Образование 3-кубов.
С точки зрения аналитических представлений образование (r +1)-кубов из r - кубов происходит в соответствии с правилом поглощения . Итак, для получения минимальной ДНФ функции с использованием карты Карно определяется покрытие функции, имеющее минимальную цену. Минимальное покрытие выбирается интуитивным путем на основе анализа различных вариантов покрытий минимизируемой функции. Покрытие с минимальной ценой формируется, если каждая существенная вершина будет покрыта кубом с наибольшим числом независимых компонент и для покрытия всех существенных вершин будет использовано наименьшее число кубов. Примеры минимизации функций приведены на рис.5. На рис. 5, а определяется минимальная форма для функции от трех переменных:
имеющей цену Sа = 15. Минимальному покрытию С(f1) = с ценой Sа = 3 соответствует минимальная ДНФ
На рис. 5,б приведен пример минимизации функции от четырех переменных:
с ценой Sа = 32. Минимальному покрытию функции С(f2) = с ценой Sа = 15 соответствует минимальная ДНФ:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|