Смекни!
smekni.com

Конспект лекций по дискретной математике (стр. 3 из 14)

_ _ _ _ _ _

y=(x1Úx2Úx3) (x1Úx2Úx3) (x1Úx2Úx3) (x1Úx2Úx3) (*)

Преобразование произвольной аналитической формы Булевой функции в нормальную

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

Пример:

_ _ _ _ _ _

y=f4(x)=(x1x2Úx2x3)(x1|x4)=(x1x2Úx2x3)(x1x4)=(x1x2Úx2x3)(x1Úx4)=

_ _ _ _ _ _ _ _ _ _

=x1x2Úx1x2x4Úx1x2x3Úx2x3x4=x1x2Úx1x2x3Úx2x3x4=x1(x2Úx2x3)Úx2x3x4=

_ _ _ _

=x1(x2Úx3) Úx2x3x4=x1x2Úx1x3Úx2x3x4 (КДНФ)

Замечания:

1) В общем случае любая Булева функция может иметь несколько КДНФ, отличающихся либо количеством термов, либо количеством букв в этих термах.

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

3) По сравнению со схемой, построенной по ДНФ, схема, построенная по скобочной форме (*), является более предпочтительной т.к. при одном и том же числе логических элементов (И, ИЛИ) содержат меньшее число входов (9 вместо 10).

Задача преобразования нормальной формы Булевой функции в скобочной форме называют задачей фактеризации.

4) Сущность конструктивного подхода при получении ДНФ состоит в следуюшем:

а) преобразование операций не-Булевого базиса к операциям Булевого базиса (см. последние строки таблицы)

б) снятие отрицаний над выражениями с применением законов двойственности

в) раскрытие скобок с применением дистрибутивного закона

г) упрощения выражения с применением закона поглощения

Приведение произвольных нормальных форм Булевой функции к каноническим

Для приведения произвольной ДНФ к КНФ необходимо использовать правило дизъюнктивного развертывания применительно к каждому из неполных конъюнктивных термов.

_ _

P=P(xiÚxi)=PxiÚPxi, где P-неполный конъюнктивный терм (ранг этого терма

меньше n), а xi - недостающий в терме аргумент.

Пример:

_ _ _ _ _ _ _ _ _ _

y=x1Úx2x3(ДНФ)=x1(x2Úx2)(x3Úx3) Úx2x3(x1Úx1)=x1x2x3Ú x1x2x3Ú

_ _ _ _ _ _ _ _ _

Úx1x2x3Úx1x2x3Ú x1x2x3Ú x1x2x3 (КДНФ)

Замечание:

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

y=

(0,1,2,3,5)=f3

Преобразование КНФ к ККНФ реализуется путем применения правила конъюнктивного развертывания к каждому неполному дизъюнктивному терму.

_ _

P=PÚxixi=(PÚxi)(PÚxi)

_ _ _ _ _ _ _ _ _ _

y=x1Úx2x3(ДНФ)=(x1Úx2)(x1Úx3)(КНФ)=(x1Úx2Úx3x3)(x1Úx3Úx2x2)=

_ _ _ _ _ _ _ _

=(x1Úx2Úx3)(x1Úx2Úx3)(x1Úx2Úx3)(x1Úx2Úx3)(ККНФ)

y=

(4,6,7)

Минимизация булевых функций на картах Карно(см. Практику).

Метод Квайна-МакКласски базируется на кубическом представлении булевых функций.

Кубическое представление булевых функций.

В кубическом представлении булевой функции от n переменных все множество из 2n наборов ее аргументов рассматривается как множество координат вершин n-мерного куба с длинной ребра равной 1. В соответствии с этим наборы аргументов, на которых булева функция принимает значение равное 1 принято называть существенными вершинами.

Существенные вершины образуют так называемые ноль-кубы (0-кубы). Между 0-кубами существует отношение соседства и определена операция склеивания. Два 0-куба называются соседними если они отличаются только по одной координате.

Пример :n=4 0101

0001 - два соседних 0-куба

результат склеивания : 0x01 (*)

Склеивание 2-х соседних 0-кубов дает в результате 1-куб. Координата, отмечаемая символом х, называется свободной (независимой, несвязанной), а остальные (числовые) координаты называются зависимыми (связанными). Аналогичное отношение соседства существует между 1-кубами, в результате склеивания которых получается 2-куб.

0х01

0х11 - 0хх1 (**)

В продолжении аналогии два r-куба называются соседними если они отличаются только по одной (естественно зависимой) координате.r-куб содержит r независимых и n-r зависимых координат. В результате склеивания 2-х соседних r-кубов образуется (r+1)-куб содержащий r+1 независимую координату.

Операция склеивания над кубами соответствует применению закона склеивания к конъюнктивным термам, отождествляемым с этими кубами.

_ _ _ _ _ _ _

х1х2х3х4Ú х1х2х3х4= х1х3х4

(0101) (0001) (0х01)

_ _ _ _

для (**) х1х3х4Ú х1х3х4= х1х4

(0х01) (0х11) (0хх1)

Определения.

Кубическим комплексом K0(f) булевой функции f называется множество 0-кубов этой функции. В общем случае кубическим комплексом Kr(f) булевой функции f называется объеденение множеств кубов всех размерностей этой функции

m

k(f)=UKr(f) m-максимальная размерность кубов функции f.

r=0

Пример получения кубических комплексов

f3(x)=V(1,2,3,6,7) |001 (1) |0x1 (1-3) (1)

(f=1) |010 (2) |01x (2-3) (2)

K0(f)=|011 (3) K1(f)=|x10 (2-4) (3) K2(f)=|x1x (2-5)

|110 (4) |x11 (3-5) (4)

|111 (5) |11x (4-5) (5)

K3(f)=пустому множеству

K(f)=K0(f)UK1(f)UK2(f)

Для получения кубического комплекса K(f) необходимо провести всевозможные операции склеивания над 0-кубами, 1-кубами и т.д. до тех пор пока на очередном шаге не получится Kr+1(f)=пустому множеству. При склеивании 1-кубов 2-кубы представлены в 2-х экземплярах как результаты склеивания 2-х различных пар 1-кубов.

Распространяя этот принцип можно утверждать, что r-кубы как результат склеивания (r-1)-кубов получаются в r-кратном количестве экземпляров.

Куб, входящий в состав кубического комплекса K(f) называется максимальным, если он не вступает ни в одну операцию склеивания.

В приведенном примере максимальными кубами являются х1х и 0х17.

Геометрическая интерпретация кубов малой размерности. Графическое представление булевых функций.

Подобный подход носит ограниченный характер и как правило является наглядным для булевых функций от 2-х и 3-х переменных.


F3(x)=V(1,2,3,6,7)

(f=1)

Геометрическим местом 0-куба является точка, представляющая существенную вершину.

Два соседних 0-куба являются концами какого-либо ребра.

Геометрическим местом 1-куба является ребро, замыкаемое склеивающимися 0-кубами, образующими данный 1-куб.

Два параллельных ребра, образующих грань, являются образами склеивающихся 1-кубов. В соответствии с этим геометрической интерпретацией 2-куба является грань, образуемая парой параллельных ребер. Так как любую грань можно определить одной из пар параллельных ребер, 2-куб может быть получен как результат склеивания двух различных пар 1-кубов, то есть представляется в двух экземплярах.

Геометрическим образом 3-куба можно считать 3-х мерный куб. Так как он может быть образован 3-мя способами как пара параллельных граней, то при склеивании он получается в трех экземплярах.

Покрытия булевых функций.

Между кубами различной размерности, входящих в кубический комплекс K(f), существует отношение включения или покрытия. Принято говорить, что куб А меньшей размерности покрывается кубом Б большей размерности, если куб А включается в куб Б. Это означает, что при образовании куба Б хотя бы в одном склеивании учавствует куб А.

Отношение включения (покрытия) между кубами принято обозначать АÌБ. В теории множеств отношение включения связывает между собой некоторое множество и его подмножества.

Для рассмотренного примера отношения включения имеют место между 001Ì0х1; 011Ìx11Ìx1x... любой 1-куб покрывает 2 0-куба, 2-куб - 4 0-куба и 2 1-куба, 3-куб покрывает 8 0-кубов, 12 1-кубов и 6 2-кубов.

Покрытием булевой функции f называется такое подмножество кубов из кубического комплекса K(f), которое покрывает все существенные вершины функции.

В связи с тем, что любому кубу комплекса K(f) можно поставить в соответствие конъюнктивный терм, для любого покрытия можно представить некоторую ДНФ булевой функции.

Частным случаем покрытия булевой функции является кубический комплекс K0(f), покрытие c0(f)=K0(f). Этому покрытию соответствует КДНФ.

Для примера покрытием является также

|0x1

|01x

c1(f)=K1(f)=|x10

|x11

|11x

этому покрытию соответствует ДНФ вида

_ _ _ _ _ _ _ _ _ _

f=x1x3vx1x2vx2x3vx2x3vx1x2 приведенная ДНФ не является минимальной.