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

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

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

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

 

В кубическом представлении булевой функции от 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.