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

(

 

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)=f11,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,1mn, можно представить в следующей форме:

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