Дискретка_Экзамен_Ответы / булевы / 5 скобочная минимизация булевых функций
.docx5.6.3. Скобочная минимизация булевых функций
Скобочная минимизация булевых функций (факторизация) в ряде случаев позволяет получить скобочную форму, значительно более простую, чем минимальная ДНФ. Процесс факторизации заключается в многократном выполнении операции вынесения за скобки общих членов. Работу факторного алгоритма рассмотрим на примере.
Пусть минимальная ДНФ функции f имеет вид:
Обозначим каждую элементарную конъюнкцию буквами А, В, С, D. Тогда функцию f можно представить множеством: F = (A, B, C, D).
На первом этапе работы алгоритма ищутся все попарные пересечения элементов множества F. B нашем случае имеем:
AB=x1; AC=; AD=;
BC=x1; BD=x1x5; CD=.
Выбирается та пара элементов множества F, пересечение которых дает конъюнкцию наибольшей длины. Для рассматриваемого примера выберем либо пару (А, С), либо (А, D), либо (C, D), что с точки зрения результатов работы алгоритма безразлично. Выберем пару (C, D) и запишем функцию f аналитически, вынося общий элемент за скобки по отношению к C и D. Получим:
Обозначим A1=; B1=; C1=.
Получим F1=(A1, B1, C1).
На втором этапе алгоритма ищутся все попарные пересечения элементов множества F1. В нашем случае имеем:
A1B1=x1; A1C1=; B1C1=x1.
Вновь выбирается пара элементов множества F1, пересечение которых дает конъюнкцию наибольшей длины. Выберем пару (A1, C1) и запишем функцию f аналитически, вынося общий элемент за скобки по отношению к A1 и C1. Получим:
.
Обозначив А2=, В2=, получим множест-во F2=(A2, B2). Ищем пересечение элементов множества F2. Получаем A2B2=x1. Окончательно имеем:
.