Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
матлог-дискретка.pdf
Скачиваний:
98
Добавлен:
15.04.2015
Размер:
647 Кб
Скачать
☆

(

 

x1 x2

) = (x1 x2 ) ,

 

(

 

) = (x1 x2 )

(3.10)

x1 x2

9. Закон противоречия:

 

x x = 0

(3.11)

10. Закон «исключения третьего»

 

x x =1

(3.12)

Соотношения (3.4) - (3.12) можно проверить стандартным методом, т.е. вычислением обеих частей равенств на всех наборах значений переменных.

Очевидно, что результат вычислений не зависит от того, являются ли эти переменные независимыми или получены, в свою очередь, в результате каких-то вычислений. Поэтому равенства (3.4) - (3.12) остаются справедливыми при подстановке вместо переменных любых логических функций и любых формул, представляющих эти функции. Т.е. справедливо правило подстановки: при подстановке формулы F вместо переменной x все вхождения переменной x в исходное соотношение должны быть одновременно заменены формулой F.

4. Принцип двойственности. Совершенная дизъюнктивная нормальная форма (СДНФ). Разложение булевых функций по переменным.

Принцип двойственности.

Определение: Функция f*(x1,…,xn) , равная f ( x1 ,..., xn ) ,

называется двойственной функцией к функции f(x1,…,xn). Очевидно, что таблица для двойственной функции (при

фиксированном порядке наборов значений переменных) получается из таблицы для функции f(x1,…,xn) инвертированием (т.е. заменой 0 на 1 и 1 на 0) столбца функции и его переворачиванием (таблицы 4.1 и 4.2).Таблица 4.1.

x

f0

f1

f2

f3

f0*

f1*

f2*

f3*

0

0

0

1

1

1

0

1

0

1

0

1

0

1

1

1

0

0

Таблица 4.2.

15

 

x1

 

x2

 

f0

f3

 

f0*

f3*

 

 

0

 

0

 

0

 

0

 

0

0

 

 

0

 

1

 

0

 

1

 

1

0

 

 

1

 

0

 

0

 

1

 

1

0

 

 

1

 

1

 

1

 

1

 

1

1

 

 

Из таблиц видно, что

 

 

 

 

 

 

 

 

функция 0 двойственна функции 1,

 

 

 

 

функция 1 двойственна функции 0,

 

 

 

 

функция x двойственна функции x,

 

 

 

 

функция x

двойственна функции x ,

 

 

 

 

функция x1 x2 двойственна функции x1 x2 ,

 

 

 

функция x1 x2 двойственна функции x1 x2 .

 

 

 

Функция,

двойственная

самой

себе,

является

самодвойственной.

Т.о.

х и

 

являются

самодвойственными

x

функциями.

 

 

 

 

 

 

 

 

 

 

 

Из определения двойственности следует, что

 

 

( f * )* = ( f (x1 ,…, xn ))* = f (x1 ,…, xn ) = f (x1 ,…, xn ) ,

т.е. исходная функция f является двойственной к f*.

Пусть функция ϕ(x1,…,xn) реализуется формулой F. Спрашивается, какой вид имеет формула F*, реализующая функцию ϕ*(x1,…,xn).

Обозначим через x1,…,xn все различные символы переменных, встречающиеся в множествах (x11,..., x1n1 ),...,(xm1,..., xmnm ) .

Теорема 4.1. Если

ϕ(x1,..., xn ) = f ( f1(x11,..., x1n1 ),..., fm (xm1,..., xmnm )) , то

ϕ*(x1,..., xn ) = f * ( f1*(x11,..., x1n1 ),..., fm* (xm1,..., xmnm )) .

Доказательство.

16

ϕ* (x1,…, xn ) =ϕ(x1,…, xn ) =

=f ( f1 (x11,…, x1n1 ),…, fm (xm1,…, xmnm )) =

=f ( f1 (x11,…, x1n1 ),..., fm (xm1,…, xmnm )) = f ( f1* (x11,..., x1n1 ),..., fm* (xm1,..., xmnm )) =

f * ( f1* (x11,..., x1n1 ),..., fm* (xm1,..., xmnm ))).

Из теоремы вытекает

Принцип двойственности. Если формула F=F(f1,…,fm) реализует функцию ϕ(x1,…,xn), то формула F*=F(f1*,…,fm*) полученная из F заменой функций f1,…,fm на f1*,…,fm*, реализует функцию

ϕ*(x1,…,xn).

Формулу F* будем называть формулой, двойственной к F. Для формул над (0,1, ,&,) принцип двойственности может быть

сформулирован так: для получения формулы F*, двойственной к формуле F, нужно в формуле F всюду заменить 0 на 1, 1 на 0, & на

, на &.

Пример 4.1.

Пусть F1(f1)=f1(х1,x2)=x1&x2.

Тогда F1*(f1)=F1(f1*)=f1*(x1,x2)=x1 x2.

Пусть

F2 ( f1, f2 , f3 ) = f2 ( f1(x1, x2 ), f1 ( f3 (x1 ), f3 (x2 ))) = x1x2 x1x2.

Здесь f1 – конъюнкция, f2 – дизъюнкция, f3 – отрицание. Тогда

F2* ( f1, f2 , f3 ) = F2 ( f1*, f2*, f3* ) =

= f2*( f1*(x1, x2 ), f1* ( f3* (x1 ), f3*(x2 ))) = (x1 x2 ) & (x1 x2 )

Из принципа двойственности вытекает, что если

F(f1,…,fm) =Φ(g1,…,gn), то F*(f1,…,fm) = Φ*(g1,…,gn)

Пример 4.2.

Из равенства x1x2 = (x1 x2 ) вытекает равенство x1 x2 = x1x2 .

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

17

Совершенная дизъюнктивная нормальная форма (СДНФ).

Введем обозначения xo= x , x1=x. Пусть δ {0,1}. Тогда

xδ = x,δ =1

x,δ =0.

Очевидно, что xδ=1 x=δ.

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

Выражение вида xδ1 xδ2

...xδn

называется

 

1 2

n

 

элементарной конъюнкцией.

Членами конъюнкции являются либо сами переменные x1,…,xn, либо их отрицания.

Пример 4.3.

x x

2

,

x

3

x

4

, x x

2

x

4

x

5

.

1

 

 

 

1

 

 

 

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

Пример 4.4.

n = 5;

x1x2 x3 x4 x5 ,

x1x2 x3 x4 x5 .

 

 

 

 

 

 

Лемма 4.1.

 

1, еслиδ

 

= x ,...δ

 

= x

 

,

 

 

 

 

 

 

 

 

 

x1δ1 x2δ2 ...xnδn =

 

 

1

1

 

n

 

n

 

 

 

 

 

0, еслиδi

≠ xi

хотя быдляодногоi.

 

 

Доказательство

 

 

 

 

 

 

 

 

 

 

 

Пусть δ1=x1,…, δn=xn. Тогда

 

 

 

 

 

 

 

 

xδ1

xδn

= xx1

xxn

=1 1 =1.

 

 

 

 

 

 

1

n

1

n

 

 

 

 

 

 

 

 

 

 

Пусть δk ≠ xk ,

для некоторого k: 1 ≤ k ≤ n . Тогда

 

 

xδ1

xδk

xδn

= xx1

 

xxk

xxn

=1 1 0 1 1 =0.

 

1

k

n

1

 

 

k

n

 

 

 

 

 

 

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

Формула

 

Φ = k1 k2 ... km ,

где

ki-

элементарные конъюнкции, называется дизъюнктивной нормальной формой (ДНФ). Если все ki являются основными элементарными конъюнкциями, то ДНФ называется совершенной (СДНФ).

Пример 4.5.

n = 3; x1x2 x1x3 x2 x3 − ДНФ, x1x2 x3 x1x2 x3 −СДНФ.

18

Разложение булевых функций по переменным.

Теорема 4.2. (о разложении функций по переменным). Каждую функцию алгебры логики f(x1,…,xn) при любом m,1≤m≤n, можно представить в следующей форме:

f (x

,..., x

m

, x

m+1

,..., x

n

) =

xδ1

xδm f (δ

1

,...,δ

m

, x

m+1

,..., x

n

) ,

1

 

 

 

δ1

1

m

 

 

 

 

 

 

 

 

 

 

 

,..,δm

 

 

 

 

 

 

 

 

 

(4.1)

где дизъюнкция берется по всем возможным наборам значений переменных x1,…,xm.

Это представление называется разложением функции по m переменным x1,…,xm.

Доказательство. Теорема доказывается подстановкой в обе части равенства (4.1) произвольного набора (α1,...,αm ,αm+1,...,αn ) всех n переменных.

Левая часть (4.1) дает f(α1,…,αn). Правая -

 

α1δ1 αmδm f (δ1 ,...,δm ,αm+1 ,...αn ) =

δ1 ,...,δm

 

=α1α1

αmαm f (α1 ,...,αm ,αm+1 ,...,αn ) = f (α1 ,...,αn )

В качестве следствия получим два специальных случая разложения.

Следствие 4.1. Разложение по k-ой переменной f (x1,..., xk −1, xk , xk +1,..., xn ) =

= xk f (x1,..., xk −1,1k , xk +1,..., xn ) xk f (x1,..., xk −1,0, xk +1,..., xn )

Следствие 4.2. Разложение по всем n переменным

f (x ,..., x

 

)

=

xδ1

xδn

f

(δ

 

,...,δ

 

).

Но

f (δ

1

,...,δ

n

) = 0

1

 

n

 

 

δ1 ,...,δn

 

1

 

n

 

 

1

 

 

n

 

 

 

 

 

 

либо f (δ1,…,δn ) = 1.

Cледовательно, при

f (x1,..., xn ) ≡/

0 оно

может быть преобразовано к виду

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xδ1

 

 

xδn f (δ

 

,...,δ

 

) =

 

 

 

 

 

xδ1

xδn , т.е.

 

 

 

δ1 ,...,δn

1

 

 

n

 

1

 

n

 

 

 

δ1

,...,δn

 

 

1

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (δ1

,...,δn )=1

 

 

 

 

 

 

 

f (x ,..., x

n

) =

 

 

xδ1

 

xδn - СДНФ.

 

 

 

 

 

 

1

 

 

 

δ1

,...,δn

 

1

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (δ1

,...,δn )=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19