Полиномы Жигалкина. Построение полиномов Жигалкина.

Каждую логическую функцию можно представить в виде полинома Жигалкина, представляющего собой элементарные конъюнкции соединены операцией исключающего или Å. Например: f(x,y,z) = (y & z) Å (x & z) Å (x & y & z)

Процедура построения Полинома Жигалкина

По таблице истинности строим СДНФ.

СДНФ приводим к минимальной ДНФ

Выражаем дизъюнкции Ú и отрицания ù через операции конъюнкции & и исключающего или Å.

xÚy = xÅyÅ(x & y)ùx = xÅ1

4) Раскрываем скобки используя дистрибутивность x & (y Å z) = (x & y) Å (x & z), (x Å y) & z = (x & z) Å (y & z). В результате могут получится формула двух видов

(xa & xb & ...) Å ... Å (xc & xd & ...) или (xa & xb & ...) Å ... Å (xc & xd & ...) Å 1

Сокращаются повторяющиеся элементы внутри скобок при помощи a&a=a, a&1=a, 1&a=a

Сокращаются одинаковые скобки при помощи поглощения aÅa=0, aÅ0=a, 0Åa=a.

Пример: построение полинома Жигалкина

Пусть для функции получена минимальная ДНФ:

f(x,y,z) = (ùx & y & z)Ú(x &ùz)

Используя ù a = a Å 1заменим отрицание:

f(x,y,z) = ((xÅ1) & y & z)Ú(x & (zÅ1))

Используя a Ú b = a Å b Å (a & b)заменим дизъюнкцию:

f(x,y,z) = ((xÅ1) & y & z)Å(x & (zÅ1))Å((xÅ1) & y & z & x & (zÅ1))

Используя дистрибутивность раскроем скобки:

f(x,y,z) = (x & y & z)Å(1 & y & z)Å(x & z)Å(x & 1)Å
Å(x & y & z & x & z)Å(1 & y & z & x & z)Å
Å(x & y & z & x & 1)Å(1 & y & z & x & 1)

Применим законы поглощения внутри скобок:

f(x,y,z) = (x & y & z)Å(y & z)Å(x & z)ÅxÅ(y & x & z)Å

Å(y & x & z)Å(y & z & x)Å(y & z & x)

Применим законы поглощения для одинаковых скобок

f(x,y,z) = (x & y & z)Å(y & z)Å(x & z)Åx

Классы логических функций: сохраняющие 0, сохраняющие 1, монотонные, линейные, двойственные, самодвойственные. Критерий поста.

Классы логических функций

Класс S0: Функции «сохраняющие 0»- это логические функции, значение которых равны 0, если все аргументы равны 0: f(0,0,...,0)=0. Например Ú

Класс S1: Функции «сохраняющие 1»- это логические функции, значение которых равны 1, если все аргументы равны 1: f(1,1,...,1)=1. Например &

Класс M: "Монотонные" функции-это логические функции, которые можно выразить через & и Ú.

Монотонную функцию можно распознать по ее таблице истинности. Для этого нужно взять все пары наборов переменных, которые отличаются всего в одном столбце. Например: 0,0,0,0 и 0,0,0,1; 1,0,0,1 и 1,1,0,1. Пусть в одном наборе переменных в некотором столбце стоит "0", а в другом наборе переменных в этом же столбце стоит "1". Нельзя, чтобы значение функции при этих наборах было "1", а потом "0" соответственно. Пример монотонной функции: Ú .

Полиномы Жигалкина. Построение полиномов Жигалкина. - student2.ru

Наборы переменных Значение функций

00; 01 0; 1

00; 10 0; 1

01; 11 1; 1

10; 11 1; 1

Класс L:"Линейные" функции – этологические функции, которые можно выразить через Å, 0 и 1.

Чтобы узнать, линейна ли функция, надо выразить ее через полином Жегалкина и посмотреть, не встречается ли там операция &. Если нет, то функция линейна.

Класс D: «Двойственные» функции f и g,т.е. функции

удовлетворяющие условию f(ù x1, ù x2,..., ù xN) = ù g(x1,x2,...,xN)

Двойственные функции легко обнаружить с помощью простого приема. Надо заменить в таблице истинности все "0" на "1", а все "1" на "0". Полученная таблица истинности и будет таблицей двойственной функции. Пример & и Ú.

Класс S:"Самодвойственные" функции, т.е. функции, которые двойственны сами себе:

f(ù x1, ù x2,..., ù xN) = ù f(x1, x2,..., xN).

Критерий Поста

Система булевых функций F является полной тогда и только тогда, когда она не содержится ни в одном из классов S0, S1, S, L, M. T.е. когда в ней имеется хотя бы одна функция, не сохраняющая 0, хотя бы одна функция, не сохраняющая 1, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция.

Упрощение СДНФ при помощи Карты Карно. Булева алгебра и коммутационные схемы. Анализ и синтез коммутационных схем. Проектирование полубитного сумматора.

Наши рекомендации