Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / TURIN / ЛЕКЦИИ6.DOC
Скачиваний:
67
Добавлен:
10.12.2013
Размер:
873.98 Кб
Скачать

6.4. Представление логической функции в виде полинома Жегалкина

Полиномом Жегалкина называется представление логической функции в базисе {Å,×,1}(Имеется соответствующая алгебра Жегалкина). В данном представлении инверсия реализуется как сумма по модулю 2 с константой 1.

Для представления ДНФ в виде полинома Жегалкина необходимо выразить дизъюнкцию через конъюнкцию и инверсию.

Например:

хÚy==(хÅ1)(yÅ1)Å1=

=xyÅxÅyÅ1Å1=xyÅxÅy.

(1Å1=0).

Пример. Представить в виде полинома Жегалкина логическую функцию xÚyÚz.

xÚyÚz==(хÅ1)(yÅ1)(zÅ1)Å1=

=(xyÅxÅyÅ1)(zÅ1)Å1=

=xyzÅxzÅyzÅxyÅxÅyÅ1Å1=

=xyzÅxzÅyzÅxyÅxÅy.

Для преобразования полинома Жегалкина используются обычные приемы элементарной алгебры (исключение составляет равносильность аÅа=0).

Полином Жегалкина может быть получен по таблице истинности путем суммирования по модулю два конъюнкций переменных без инверсии xiи полиномов для инверсных переменных (xjÅ1) соответствующих рабочих наборов.

Например, получим полином Жегалкина для функции f, таблица истинности которой имеет вид:

Табл.6.2

x

y

z

f

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

Тогда получим:

f=(xÅ1)(yÅ1)zÅ(xÅ1)y(zÅ1)Åx(yÅ1)(zÅ1)Åxyz=

=(xyÅxÅyÅ1)zÅ(xzÅxÅzÅ1)yÅx(yzÅyÅzÅ1)Åxyz=

=xyzÅxzÅyzÅzÅxyzÅxyÅyzÅyÅxyzÅxyÅxzÅxÅxyz=

=xÅyÅz,

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

6.5. Булева производная

Производная первого порядка от булевой функцииfпо переменнойxiопределяется следующим образом:

=f(х12,...хi-1,1,xi+1,...xn

Åf(x1,x2,...xi-1­,0,xi+1,...xn),

где f(х12,...хi-1,1,xi+1,...xn) - единичная остаточная функция, получаемая в результате подстановки вместо хiконстанты 1, аf(х12,...хi-1,0,xi+1,...xn) - нулевая остаточная функция, получаемая в результате подстановки вместоxiконстанты 0.

Определим булеву производную функции f=х1Úх2.

=1Åх2=2.

f=вÚ

=(вÚ=(вÚ==

=с×Ú(вÚ)(вÚс)=в.

Пример: f(х1х2х3)=23Úх1х2х3.

=(23Ú1×х2х3)Å(23Ú0х2х3)=

=(23Úх2х323.

Представим сложение по модулю 2 в другом виде (аÅв=аÚв):

(23Úх2х3)()Ú()23=

=(23Úх2х3)(х2Úх3)Ú(х2Úх3)(2Ú3)23=

=23х2Úх2х3Ú23х3Úх2х3Ú0=х2х3.

Булева производная по xi=0, еслиfне зависит отxi, булева производная поxi=1, еслиfзависит только отxi.

Булева производная первого порядка определяет условия, при которых функция изменяет свое значение при изменении значения переменной xi(=1).

В нашем примере функция f(х1х2х3) изменяет свое значение при изменении х1, если истинна конъюнкция х2х3, т.е. х2=1, х3=1.

Пример. Определим все булевы производные функции f(х1х2х3)=х1х2Úх13.

=(х2Ú3)Å0=х2Ú3.

=(х1Úх13)Åх131Åх131Ú1х13=

1(1Úх3)=х1х3.

1х2Å(х1Úх1х2)=х1х2Åх1=

1х21Úх1=(1Ú2112.

Итак, значение функции изменяется (функция переключается) при изменении х1, если х2=1 или х3=0 (х2Ú3=1); при изменении х2, если х13=1 (х1х3=1); при изменении х3, если х1=1; х2=0 (х12=1).

Смешанная булева производная k-го порядка определяется путем вычисленияkраз булевых производных первого порядка от булевых производных первого порядка, например:

=()==1Å33.

Булева производная k-го порядка равна сумме по модулю два всех производных первых, вторых, третьих,...k-х смешанных производных, и определяет условия, при которых функция изменяет значение при одновременном изменении соответствующих переменных, например:

=

=(х2Ú3)Åх1х3Åх3=(х2Ú3)Åх31Å1)=(х2Ú3)Åх31=

=(х2Ú3)Ú(31=(х2Ú3)(3Úх12х3×х31=

23Ú3Úх2х1Ú3х1Úх321=3Úх2х1Ú21.

Таким образом, fпереключается при одновременном переключении х1, х2, когда х3=0, либо независимо от х3при переключении х1и х2с 1,1 на 0,0 или с 0,0 на 1,1.

Соседние файлы в папке TURIN