Существует два подхода в минимизации систем булевых функций:
- минимизация каждой функции в отдельности;
- совместная минимизация функций системы.
Рассмотрим первое направление. Если произвести минимизацию булевых функций, входящих в систему, независимо друг от друга, то общая схема будет состоять из изолированных подсхем. Ее можно иногда упростить за счет объединения участков подсхем, реализующих одинаковые члены, входящие в несколько булевых функций системы.
Пусть в результате минимизации функций получены следующие МДНФ:

На рис. 2.57 показана реализация системы функций без учета общих частей (термов). Аппаратурные затраты по критерию Квайна без учета инверсий для данной реализации составляют Cb = 18.
На рис. 2.58 показана реализация системы функций с объединением общих частей
. Аппаратурные затраты по критерию Квайна без учета инверсий для данной реализации составляют Cb = 14.Очевидно, что данная реализация является более простой (экономичной).

Рисунок 2.57 – Реализация системы функций без учета общих частей

Рисунок 2.58 – Реализация система функций с объединением общих частей
Данный метод не всегда эффективен. Ниже это будет проиллюстрировано примером.
Рассмотрим второе направление. Существуют различные методы, в данном случае предлагается метод минимизации системы булевых функций, являющийся модификацией метода Квайна-Мак-Класки. Алгоритм минимизации следующий. (Для КНФ алгоритм аналогичен).
1. Выписать все минтермы функций (можно в кубической форме), входящие в систему. Каждому минтерму присвоить признак, содержащий номера функций системы, в которые входит рассматриваемый минтерм, например, минтерм 0 (f 1, f 3) 0000, минтерм 15 (f 1) 1111.
2. Выполнить склеивание как в методе Квайна-Мак-Класки. Если признаки склеиваемых элементарных произведений (минтермов и далее импликант) не содержат общих номеров, склеивание не выполняется, поскольку эти элементарные произведения не относятся к одной функции. Результату склеивания (импликантам) присваивать признак, состоящий из номеров функций, общих для двух склеиваемых минтермов или импликант. Не участвовавшие в склеивании импликанты и минтермы являются простыми импликантами и все они составляют сокращенную ДНФ системы, записываемой в виде функции
.
3. Построить таблицу покрытий функции
, как в методе Квайна-Мак-Класки, с той лишь разницей, что для каждого минтерма выделяется столько столбцов, сколько различных номеров функций содержит его признак. Далее все аналогично, строится минимальная форма функции
.
4. Произвести получение выражений МДНФ для каждой функции системы по функции
.
Замечание. Если функция не полностью определена, наборы, на которых она не определена, должны участвовать в склеивании, но в таблицу покрытий не вносятся.
Рассмотрим пример. Пусть дана система булевых функций (табл. 2.8). Найдем МДНФ системы булевых функций.
Таблица 2.8 – Таблица истинности системы булевых функций
| |
| 0 0 0 | 1 1 |
| 0 0 1 | 0 0 |
| 0 1 0 | 0 1 |
| 0 1 1 | 0 1 |
| 1 0 0 | 0 0 |
| 1 0 1 | 1 1 |
| 1 1 0 | 1 0 |
| 1 1 1 | 1 0 |
Выполняем склеивания.
| 0-кубы | 1-кубы | ||
| 0 – 000 (f 1, f 2) | v | 0 (f 1, f 2) È 2 (f 2) = 0х0 (f 2) | |
| 2 – 010 (f 2) | v | 2 (f 2) È 3 (f 2) = 01х (f 2) | |
| 3 – 011 (f 2) | v | 2 (f 2) È6 (f 1) нельзя | |
| 5 – 101 (f 1, f 2) | v | 3 (f 2) È 7 (f 1) нельзя | |
| 6 – 110 (f 1) | v | 5 (f 1, f 2) È 7 (f 1) = 1х1 (f 1) | |
| 7 – 111 (f 1) | v | 6 (f 1) È 7 (f 1) = 11х (f 1) |
В склеивании не участвовали все 1-кубы и два 0-куба 000 (f 1) и 101 (f 2). Это простые импликанты. Они составляют сокращенную ДНФ функции
. Все они войдут в таблицу покрытий.
Строим таблицу покрытий (табл. 2.9)
Таблица 2.9 – Таблица покрытий
| Простые импликанты | Минтермы функции | ||||||||
| f 1 | f 2 | f 2 | f 2 | f 1 | f 2 | f 1 | f 1 | ||
| A | 0x0 (f 2) | v | v | ||||||
| B | 01x (f 2) | v | v | ||||||
| C | 1x1 (f 1) | v | v | ||||||
| D | 11x (f 1) | v | v | ||||||
| E | 000 (f 1, f 2) | v | v | ||||||
| F | 101 (f 1, f 2) | v | v |
Ядро функции составляют простые импликанты B, D, E, F. Остальные импликанты являются лишними и не будут входить в тупиковую и минимальную ДНФ. Т.е. МДНФ функции
будет состоять только из ядра.
МДНФ
:
.
По МДНФ функции
строим МДНФ
и МДНФ
.
МДНФ
:
.
МДНФ
:
.
Аппаратурные затраты по критерию Квайна без учета инверсий и с учетом объединения общих частей выражения (
) составляют Cb =16.
Попробуем для минимизации рассмотренной системы воспользоваться первым подходом, предполагающим минимизацию каждой функции отдельно.
Карта Карно для функции
представлена на рис. 2.59

Рисунок 2.59 – Карта Карно для функции 
Карта Карно для функции
представлена на рис. 2.60
МДНФ 
:
.

Рисунок 2.60 – Карта Карно для функции 
МДНФ
:
.
Общих частей у МДНФ функций нет, в результате аппаратурные затраты по критерию Квайна без учета инверсий составляют Cb =20. По оценке аппаратурных затрат видно, что раздельная минимизация функций системы уступает совместной, хотя последняя является более трудоемкой.