Выбрать главу

8. Комплекс кубов. Несостоятельность графических методов при большом числе переменных компенсируется различными аналитическими методами представления булевых функций. Одним из таких представлений является комплекс кубов, использующий терминологию многомерного логического пространства в сочетании со специально разработанной символикой.

Комплекс кубов K(у) функции у = f(х1, х2, ..., хn) определяется как объединение множеств Ks(у) всех ее s-кубов (s = 0, 1, .... n),

- 544 -

т. е. , причем некоторые из Ks(у) могут быть пустыми. Для записи s-кубов и минитермов функции от n переменных используются слова длины n, буквы которых соответствуют всем n переменным. Входящие в минитерм переменные называются связанными и представляются значениями, при которых минитерм равен единице (1 для xi и 0 для x̅i). Не входящие в минитерм переменные являются свободными и обозначаются через х. Например, 2-куб функции пяти переменных, соответствующий минитерму x23x5 , запишется как (x10x1). 0-кубы, соответствующие конституентам единицы, представляются наборами значений переменных, на которых функция равна единице.

Рис. 219. Комплекс кубов функци трех переменных (а) и его символическое представление (б).

Очевидно, в записи s-куба всегда имеется s свободных переменных. Если все n переменных свободны, что соответствует n-кубу, то это означает тождественность единице рассматриваемой функции. Таким образом, для функций, не равных тождественно единице, Kn(y) = ∅.

Множество всех s-кубов К(у) записывается как совокупность слов, соответствующих каждому s-кубу. Для удобства будем располагать слова s-кубов в столбцы, а их совокупность заключать в фигурные скобки. Например, комплекс кубов, соответствующий представлению функции на трехмерном кубе (рис. 219, а), выражается как K(y) = K0∪K1∪K2, где

; ;

Для сравнения на рис. 219, б изображен комплекс кубов в принятых обозначениях.

Комплекс кубов образует максимальное покрытие функции. Исключая из него все те s-кубы, которые покрываются кубами высшей размерности, получаем покрытия, соответствующие тупиковым

- 545 -

формам. Так, для рассматриваемого примера имеем тупиковое покрытие

которое соответствует y = x̅2x3 ∨ x23 ∨ x̅1. В данном случае это покрытие являетcя и минимальным.

Для двух булевых функций операция дизъюнкции соответствует объединению их комплексов кубов K(y1 ∨ y2) = K(y1) ∪ K(y2), а операция конъюнкции - пересечению комплексов кубов K(y1y2) = K(y1) ∩ K(y2).Отрицанию функции соответствует дополнение комплекса кубов, т. е. K(y̅) = K̅(y), причем K̅(y) определяется всеми вершинами, на которых функция принимает значение 0. Таким образом, имеет место взаимно-однозначное соответствие (изоморфизм) между алгеброй булевых функций и алгеброй множеств, представляющих комплексы кубов.

Представление функций в виде комплексов кубов менее наглядно, однако его важнейшие достоинства состоят в том, что снимаются ограничения по числу переменных и облегчается кодирование информации при использовании вычислительных машин.

9. Реализация в различных формах. Реализация функции в дизъюнктивной нормальной форме представляет собой логическую схему И-ИЛИ. Например, функция y = x̅1x2 ∨ x12 ∨ x2x3 реализуется логической схемой. Более экономичная реализация получается, если общий множитель вынести за скобки: y = x2(x̅1 ∨ x3) ∨ x12. При использовании элементов со многими входами получаем двухуровневую логическую схему И—ИЛИ.

В соответствии с принципом двойственности (2.1), заменяя в дизъюнктивной нормальной форме операции конъюнкции на дизъюнкции, операции дизъюнкции на конъюнкции и беря отрицание

- 546 -

каждой переменной, получаем конъюнктивную нормальную форму, которая выражает функцию y̅, обратную к у. Ее реализация с помощью многовходовых элементов представляет собой двухуровневую логическую схему ИЛИ—И. Для рассматриваемой функции y̅ = (x1 ∨ x̅2)(x̅1 ∨ x2)(x̅2 ∨ x̅3) соответствующая реализация показана на рис. 26, г. Если требуется получить схему для данной функции у, то используется инвертор или элемент, реализующей операцию НЕ—И.