Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
388
Добавлен:
16.04.2013
Размер:
2.43 Mб
Скачать

~ 4

 

 

 

 

 

 

 

 

) = x1 x2 x3 x2 x3 x4

x1 x4 . f (x1 , 0, 0, x4 ) = x1 x4 и

f (x

f (1, 0, 0,1) =1 . Следовательно,

B3 также может не участвовать.

9. а) фиктивные переменные x1 и x2 ; б) фиктивная переменная x1 ; в) фиктивные переменные x1 и x3 . 10. а) x1 & x2 , x1 x2 , x1 x2 ,

x1 ~ x2 , x1 x2 , x2 x1 , x1 x2 , x2 x1 , x1 x2 , x1 | x2 ;

б) 218.

§1.3. Формулы. Реализация булевых функций формулами

Определение. Функция f называется суперпозицией булевых функций f1 , K, fk , если она получается некоторой подстановкой этих

булевых функций друг в друга. Выражение, описывающее результат этой подстановки, называется формулой, задающей функцию f .

Определение. Пусть U =U (g1 , K, gk ) и V =V ( f1 , K, fk ) – две формулы. Говорят, что формулы U и V имеют одинаковое строение, если формула U может быть получена из формулы V заменой каждого функционального символа gi на символ fi (i =1, K, k) .

Пусть B ={¬x, x & y, x y, x y, x y, x ~ y, x y, x y,

x | y} . Формулой над B является всякое (и только такое) выражение вида:

(1)xi – любая переменная из множества X ={x1 , K, xn , K}.

(2)(¬U ), (U & V ), (U V ), (U V ), (U ~ V ), (U V ), (U V ),

(U V ), (U |V ), где U и V ранее построенные формулы над B .

Обычно принимаются следующие соглашения для сокращения записи формул над множеством связок B :

а) внешние скобки у формул опускаются; б) формула (¬U ) записывается в виде U ;

в) формула (U & V ) записывается в виде (U V ) или (UV ) ;

г) считается, что связка ¬ сильнее любой двухместной связки из множества B ;

д) связка & считается сильнее любой другой двухместной связки из множества B .

На множестве переменных X ={x1 , K, xn } введем функцию

Iin (x1 , K, xn ) = xi .

Определение. О формуле U , задающей функцию f говорят также, что формула U реализует функцию f . Две формулы U и V эквивалентны (U ~ V ), если реализуемые ими функции fU и fV

равны.

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

Пример. Построив таблицы функций, выяснить эквивалентны ли формулы

U = (x1 x2 ) (x3 x2 ) и V = (x1 x3 ) x2 .

Решение. Построим векторы значений функций

fU и fV .

Табл. 1.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

x2

x3

 

x

 

 

x

x

2

x3 x2

fU

 

x1 x3

 

x

2

 

fV

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

0

0

0

 

1

 

0

 

0

0

 

0

 

1

 

0

0

0

1

 

1

 

0

 

1

1

 

1

 

1

 

1

0

1

0

 

1

 

1

 

1

0

 

0

 

0

 

0

0

1

1

 

1

 

1

 

1

0

 

1

 

0

 

0

1

0

0

 

0

 

1

 

0

1

 

1

 

1

 

1

1

0

1

 

0

 

1

 

1

0

 

0

 

1

 

0

1

1

0

 

0

 

1

 

1

0

 

1

 

0

 

0

1

1

1

 

0

 

1

 

1

0

 

0

 

0

 

0

Из

таблицы

1.7.

видно

, что fU =

fV . Следовательно, формулы U

и V

эквиваленты.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основные свойства элементарных функций

 

 

 

 

1. Коммутативность:

x o y = y o x , где o {&, , , ~, , |}.

 

 

 

 

2. Ассоциативность: (x o y) o z = x o ( y o z) , где o {&, , , ~}.

3. Дистрибутивность

 

 

 

 

 

 

 

(x y)z = xz yz ,

(xy) z = (x y)( y z) ,

(x y)z = xz yz .

4. Законы де Моргана: а)

 

=

 

 

 

;

б)

 

=

 

 

 

.

xy

x

y

x y

x

y

5. Закон двойного отрицания x = x .

Для упрощения формул часто используются тождества:

6. Законы поглощения:

а) x xy = x ;

б) x(x y) = x .

7. а) x & x = x & 0 = x x = 0 ;

 

 

 

б) x x = x 1 = x ~ x = x x = x x =1 ;

в) x x = x & x = x & 1 = x 0 = x 0 = x ;

г) x 1 = x 0 = x ~ 0 = x x = x | x = x .

 

 

 

8. а) x | y =

 

 

=

 

 

 

;

 

 

б) x y =

 

=

 

 

 

.

xy

x

y

x y

x

y

9. а) xy x

 

= x (склеивание);

 

 

 

y

 

 

 

б) xz y

 

xy = xz y

 

 

(обобщенное склеивание); и т.д.

z

z

Для проверки всех приведенных равенств достаточно воспользоваться таблицей истинности.

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

f * (x1 , K, xn ) .

Табл. 1.8

x1

x2

x3

~ 3

)

~ 3

)] *

f (x

[ f (x

0

0

0

1

 

1

 

0

0

1

0

 

0

 

0

1

0

1

 

0

 

0

1

1

0

 

0

 

1

0

0

1

 

1

 

1

0

1

1

 

0

 

1

1

0

1

 

1

 

1

1

1

0

 

0

 

Замечание. Таблица двойственной функции получается из таблицы

функции f (x1 , K, xn ) инвертированием столбца значений функции и его переворачиванием (см. табл. 1.8).

Из определения двойственности следует, что f * * = ( f *)* = f ,

т.е. функция f является

двойственной к f * (свойство взаимности).

Определение. Функция f (~x ) называется самодвойственной, если f (~x ) = f * (~x ) . Например, самодвойственными являются функции x, x и x1 x2 x3 .

Обозначим через x1 , K, xn все различные символы переменных,

встречающихся в множествах (x11 , K, x1p1 ), K, (xm1 , K, xmpm ) .

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

F(x1 , K, xn ) = f ( f1 (x11 , K, x1 p1 ), K, fm (xm1 , K, xmpm )) , то F * (x1 , K, xn ) = f * ( f1 * (x11 , K, x1p1 ), K, fm * (xm1 , K, xmpm )) .

Доказательство. F * (x1, K, xn ) = F (x1, K, xn ) =

=f ( f1 (x11, K, x1p1 ), K, fm (xm1 , K, xmpm )) =

=f ( f1 (x11 , K, x1p1 ), K, fm (xm1 , K, xmpm )) =

=f ( f1 * (x11, K, x1p1 ), K, fm * (xm1, K, xmpm )) =

=f * ( f1 * (x11 , K, x1p1 ), K, fm * (xm1 , K, xmpm )) .

Следствие. (Принцип двойственности.) Если формула

U = F ( f1 , K, fn )

реализует функцию

f (x1 , K, xn ) , то формула

F * ( f1*, K, fm *)

реализует функцию

f * (x1 , K, xn ) . Эту формулу

называют формулой, двойственной к U , и обозначают U * .

Задачи для самостоятельного решения

1. Построив таблицы соответствующих функций, выяснить, эквивалентны ли формулы U и V :

а) U = (x y) (( y z) xy) и V = yz x ; б) U = (x y) (x ( y z)) и V = y (x z) ;

в) U = (x y) (x ~ z) | (x yz) и V = x yz x z ;

г) U = (((x | y) z) | y) ( y z) и V =((x | y) ( y | z)) &

&(x ( y z)) .

2.Построив таблицы соответствующих функций, убедиться в справедливости следующих равенств:

а) x y = (x y) y ; б) x ~ y = (x y) ( y x) ; в) x | y = x y = x y ; г) x y = x y = x y ;

д) xz yz xy = xz yz .

3. Используя свойства элементарных функций, доказать эквивалентность формул U и V :

а) U = (x y) (xy ~ (x y)) и V =(xy x) y ;

б) U = (xy (x yz)) ~ ((x y) z) и V =(x y) ( y z) ;

в) U = (x yz) (x ( y z)) и V = x (( y z) x) .

4. Найти пары двойственных функций и все самодвойственные функции в множестве:

а) f1 = x y, f2 = x & y, f3 = x y, f4 = x ~ y, f5 = x y, f6 = x y , f7 = x | y ;

б) f1 = x y, f2 = (x y) ( y x), f3 = x y z, f4 = xy xz yz, f5 = xy xz yz, f6 = x y z,

f7 = (x y) ( y x), f8 = x y .

5. Проверить, является ли g двойственной к f :

а) f = x 1 y (z 0) x y z , g = x ( y z) ;

б) f = (x y) ((x | y) (x ~ yz) , g = x y x y y z ; в) f = (x y ( y z 1)) z , g = x y z ;

г) f = xy y z y z и g = x y z yz .

6. Функция ~ n называется симметрической, если f (x )

f (x1 , K, xn ) = f (xi1 , K, xin ) , где (i1 , K, in ) произвольная перестановка чисел 1, 2, K, n . Определить число симметрических

функций от n переменных.

Ответы

1. а), б), в), да; г) нет. 5. 2n+1