Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Уч.пособие-по-ОДМ-2012

.pdf
Скачиваний:
54
Добавлен:
10.05.2015
Размер:
2.36 Mб
Скачать

Вычислим значение многочлена Жегалкина на этом наборе (подставляя x1 = 0):

f2(0, x2, x3) = x2x3 0 · x3 0 · x2 = x2x3.

Заменив переменную x2 на x, а x3 - на y в обеих частях полученного равенства, получим функцию двух переменных - конъюнкцию

φ1(x, y) = f2(0, x, y) = xy.

Очевидно, что для получения конъюнкции из функции f2 можно было взять конъюнкции K2 = x1x3 или K3 = x1x2.

Проделав аналогичные действия, получим

.

 

 

 

 

 

.

 

 

φ2(x, y) = f2(x, 0, y) = xy

П

 

 

φ3(x, y) = f2(x, y, 0) = xy

Барашев0 1 0 1 0 1

0

1

1

 

Пример 7.15. Получить с помощью леммыВL функцию.xy или x y

из функции f

(x) = (1101 1100).

 

 

 

Решение.

3

e

 

 

 

 

 

 

 

 

С

Так как количество единиц в векторе значений равно 5, а количе-

ство нулей - 3, то, согласно следствию 7.9.1 к необходимому признаку

 

Унучек

 

 

нелинейна.

нелинейности функции (теорема 7.9), функция f3

Представим данную функцию в виде многочлена Жегалкина:

 

x1

x2

x3

 

 

 

МИРЭА

 

0

0

0

 

1

 

1

0

1

1

1

0

0

 

0

0

1

 

0

 

1

1

0

0

1

0

 

 

0

1

1

 

1

 

1

1

1

0

 

 

 

 

1

0

0

 

0

 

0

0

1

 

 

 

 

 

1

0

1

 

0

 

0

1

 

 

 

 

 

 

1

1

0

 

0

 

1

 

 

 

 

 

 

 

1

1

1

 

1

 

 

 

 

 

 

 

 

 

f3(x1, x2, x3) = (1101 1100) = 1 x2 x2x3 x1x2x3.

Самой короткой конъюнкцией является K1 = x2x3.

141

Вычислим значение функции f3 на наборе γ = (0, x2, x3). Получим

f3(0, x2, x3) = 1 x2 x2x3 0 · x2x3 = 1 x2 x2x3.

Упростим полученное равенство, вынося за скобки одинаковые сомножители (в данном случае x2), применяя тождество

 

 

 

A 1 = A

 

 

 

 

 

 

 

 

 

 

 

 

и законы де Моргана:

 

 

 

 

 

 

 

 

 

.

 

 

 

f3(0, x2

, x3) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

 

 

 

 

= 1 x2

x2x3 = 1 x2 ·(1 x3) = 1 x2

 

 

 

 

 

 

 

 

 

x3.

 

 

 

 

 

 

 

 

x3

= x2

x3

=

x2

 

x3

=

x2

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

Так как переменная x2 входит в полученную формулу отрицанием,

заменим её на

x, а переменную x3 - на y.

 

 

 

 

А

 

 

 

 

 

 

В

 

 

 

 

φ(x, y) = f3(0,

 

 

 

.

 

 

 

 

x, y) = x y.

 

 

 

 

 

Барашев

 

 

 

 

.

 

 

 

 

 

Из нелинейной функции f3 мы получили функцию "дизъюнкция".

Пример 7.16. Исследовать функцию

 

 

С

 

 

 

 

 

 

 

g = (0000 1111 0011 0011)}

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

 

 

 

Унучек

 

 

 

 

 

 

 

 

возможными способами функции

конъюнкцию и дизъюнкцию.

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

Решение.

МИРЭА

Найдем многочлен Жегалкина для функции ge, используя 3 алгоритм.

142

 

x1

x2

x3

x4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

 

 

0

 

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

0

0

1

 

 

0

 

0

0

1

0

0

0

1

0

1

0

1

0

1

0

 

0

0

1

0

 

 

0

 

0

1

1

0

0

1

1

1

1

1

1

1

1

 

 

0

0

1

1

 

 

0

 

1

0

1

0

1

0

0

0

0

0

0

0

 

 

 

0

1

0

0

 

 

1

 

1

1

1

1

1

0

0

0

0

0

0

 

 

 

 

0

1

0

1

 

 

0

 

0

0

0

0

1

0

0

0

0

0

 

 

 

 

 

0

1

1

0

 

 

0

 

0

0

0

1

1

0

0

0

0

 

 

 

 

 

 

0

1

1

1

 

 

0

 

0

0

1

0

1

0

0

0

 

 

.

 

 

 

1

0

0

0

 

 

0

 

0

1

1

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

1

 

 

0

 

1

0

0

0

1

0

 

 

 

 

 

 

 

 

 

1

0

1

0

 

 

1

 

1

0

0

1

1

 

 

.

 

 

 

 

 

1

0

1

1

 

 

0

 

1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

В

 

П

.

 

 

1

1

0

0

 

 

1

 

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

1

 

 

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

0

 

 

0

 

0

 

 

 

 

 

L

 

 

 

 

 

 

 

3. g(1, 0Барашев, x3, x4) = 0 1 · x3 1 · 0 = x3

 

 

 

 

 

 

 

1

1

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

 

 

 

 

g(x1, x2, x3, x4) = x2 x1x3 x1.x2. А

 

 

 

Задавая все возможные значения переменным x1, x2, x3 и x4 (всего 24

5.

g(0, x2, 0, x4) =Унучекx2 0 · 0 0 · x2 = x2 L

варианта), получим различные функции двух переменных.

1.

g(0, 0, x3, x4) = 0 0 ·x3 0 ·0 = 0 - получили линейную функцию;

7.

g(1, x2, 0, x4) = x2 1 ·МИРЭА0 1 · x2 = 0 L

 

лемма L не применима, функции xy или x y получить невозмож-

 

но;

2.

g(0, 1, x3, x4) = 1 0 · x3 0 · 0 = 1 L - аналогично;

4.

g(1, 1, x3, x4) = 1 1 · x3 1 · 1 = x3 L

6.

g(0, x2, 1, x4) = x2 0 · 1 0 · x2 = x2 L

8.

g(1, x2, 1, x4) = x2 1 · 1 1 · x2 = 1 L

143

Так как обе конъюнкции в многочлене Жегалкина содержат по две переменных, и в каждую входит переменная x1, то подстановка x1 = 0 даёт линейную функцию. Поскольку получить конъюнкцию или дизъюнкцию из линейной функции нельзя, больше такие подстановки не рассматриваем.

 

Так как многочлен Жегалкина не зависит от переменной x4

 

(такая переменная называется фиктивной), подстановки вида

 

(x1, α1, α2, x4), αi {0, 1} дают

 

 

нам формулу,

 

содержащую толь-

 

ко переменную x1. Опять получаем линейную функцию, лемму L

 

применять не можем.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим оставшиеся варианты. Поскольку x4.- фиктивная пе-

 

ременная, то подстановки

.

 

 

 

 

 

 

 

дают оди-

 

(x1, x2, x3, 0) и (x1, x2, x3

, 1)

 

 

наковый результат.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

9.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g(x1, x2, 0, 0) = g(x1, x2, 0, 1) = x2 x1 · 0 x1x2 = x2 x1x2 =

 

Барашевx1 ↔ x φ5;6(x, y) = g(x, 0, y, 0) = g(x, 0, y, 1) = xy

 

 

 

 

 

 

 

= (1

 

 

 

 

 

 

 

 

В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{ x2

↔ y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

x1

x

 

 

φ1;2(x, y) = g(

 

 

 

 

 

 

 

 

 

 

 

А

 

x, y, 0, 0) = g(x, y, 0, 1) = xy

10.

g(x1, x2, 1, 0) = g(x1

, x2, 1, 1) = x2 x1 ·1 Сx1x2 = x2 x1 x1

x2 =

12.

g(x1, 1, x3

, 0) =Унучекg(x1, 1, x3, 1) = 1 x1 ·x3 x1

 

 

 

 

 

 

 

 

 

·1 = 1 x1

·x3 x1 =

 

= x2 x1(1 x2) = x2 1 1 x1

x2

=

x1

 

x2

1 =

x1

 

x2

= x1

x2;

 

{ x3

↔ y

 

 

МИРЭА

 

 

 

 

 

 

 

 

 

x1

↔ x

 

φ3;4(x, y) = g(x, y, 1, 0) = g(x, y, 1, 1) = x

 

y

 

{ x2 ↔ y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11.

g(x1, 0, x3, 0) = g(x1, 0, x3, 1) = 0 x1 · x3 x1 · 0 = x1x3;

 

 

 

 

{ x2 ↔ y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3;

 

 

 

 

 

 

 

 

 

= 1 x1(1 x3) = 1 x1

 

 

=

x1

 

 

=

 

 

 

 

 

 

 

 

 

 

x3

x3

x1

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

x

 

φ7;8(x, y) = g(

 

 

 

 

 

 

 

x, 1, y, 0) = g(x, 1, y, 1) = x y

 

144

1. Проверить принадлежность функций основным замкнутым классам T0, T1, S, M, L. Применить, где это возможно, леммы S, M, L.

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

1.

fe1

= ( 0110 0001 );

 

 

 

 

 

 

 

 

2.

fe2

= ( 1101 0001 );

 

 

 

 

 

 

 

 

3.

f3

= ( 1001 0110 );

 

 

 

 

 

 

 

 

4.

fe4

= ( 0101 0111 );

 

 

 

 

 

 

.

5.

fe5

= ( 0110 1111 );

 

 

 

 

 

 

6.

fe6

= ( 0110 1110 );

 

 

 

 

 

 

7.

fe7

= ( 1001 1100 );

 

 

 

 

 

В

 

.

8.

fe8

= ( 1011 0101 );

 

 

 

 

 

 

9.

fe9

= ( 1111 1100 );

 

 

 

 

 

 

10.

fe10 = ( 0101 1111 ).

 

 

 

 

 

С

 

2. Найти среди функций f

и f

 

 

 

 

несамодвойственную и по лемме S

 

f

 

 

1

2

 

 

 

 

 

 

5.

fe1

Барашев

 

 

 

= (0001 0111Унучек0001 0111), fe2 = (0001 1110 1000 1000);

несамодвойственной функции) выразить всеми возможными способа-

7.

fe1

= (0100 1101 0100 1101)МИРЭА, fe2 = (0011 1100 1111 0000).

ми все константы.

 

 

 

 

 

 

 

 

 

1.

f1

= (1100 1011), f2 = (1010 1010);

 

 

 

2.

fe1

= (1111 0000), fe2 = (1100 0010);

 

 

 

3.

fe1

= (1100 0011), fe2 = (1101 0100);

 

 

 

4.

e1

= (1100 1101

 

e

,

f

2

 

 

 

;

 

f

 

0100 1100)

 

= (1111 1000 1011 0100)

6.

fe1

= (0001 1011 0010 0111), fe2 = (0011 1001 0110 1100);

 

e

 

 

 

 

e

 

 

 

 

3. Найти среди функций f1 и f2 немонотонную и по лемме M (о немонотонной функции) выразить всеми возможными способами x.

145

1.

f1

= (0001 0111), f2 = (0110 0011);

2.

fe1

= (0011 0111), fe2 = (0110 1101);

3.

fe1

= (0101 1011), fe2 = (0101 1111);

4.

e1

= (0000 0111

e

 

,

f

2

;

 

f

 

1110 1111)

 

= (0000 0101 0000 0101)

5.

fe1

= (0000 1111 1001 1111),

fe2 = (0000 0011 0001 0011);

6.

fe1

= (0000 0101 0001 0101),

fe2

= (0000 0111 1100 1111);

7.

fe1

= (0000 0011 0000 1111),

fe2

= (0000 1111 1010.1111).

4. Найти среди функций f

1

и f

нелинейную и по лемме L (о нелиней-

 

e

 

 

2

e

 

ной функции) выразить всеми возможными способами конъюнкцию и

 

 

 

 

 

 

 

 

 

 

 

 

П

 

дизъюнкцию.

 

 

 

 

 

 

 

.

.

 

 

 

 

 

 

 

 

 

1.

f1

= (1010 1010),

f2

= (1001 0101);

 

 

2.

fe1

 

Барашев

 

 

= (1001 0110),

fe2

= (1100 1010); В

 

3.

fe1

= (1001 1100),

fe2 = (1010 1010);

С

 

 

4.

e1

= (0000 0010

 

e

,

f

2

 

 

 

;

 

f

 

fe2 / T0

 

1101 1111)

 

= (1100 0011 0011 1100)

5.

2.

; feУнучек2 T1; fe2 / S; fe2 / M; fe2

/ L;

 

fe1

= (0000 0011 0110 1111),

fe2

= (1001 1001 1001 1001);

6.

5.

fe5 T0

; fe5 T1; feМИРЭА5 / S; fe5 / M; fe5 / L;

 

fe1

= (0110 1001 0110 1001),

fe2

= (0000 0011 1001 1111);

7.

e

= (0000 0011 1010 1111),

e

= (0110 0110 1001 1001).

fe1

fe2

Ответы к задачам для самостоятельного решения

 

1.

1.

f1 T0; f1 T1; f1 / S; f1 / M; f1 / L;

 

 

3.

fe3 / T0; fe3 / T1; fe3 S; fe3 / M; fe3 L;

 

 

4.

fe4 T0; fe4 T1; fe4 / S; fe4 M; fe4 / L;

 

 

6.

fe6 T0; fe6 / T1; fe6 / S; fe6 / M; fe6 / L;

 

 

7.

e

e

 

 

e

e

e

/ L;

 

 

fe7 / T0

; fe7 / T1; fe7 / S; fe7

/ M; fe7

 

146

8.fe8 / T0; fe8 T1; fe8 / S; fe8 / M; fe8 / L;

9.fe9 / T0; fe9 / T1; fe9 / S; fe9 / M; fe9 / L;

10.ff10 T0; ff10 T1; ff10 / S; ff10 M; ff10 / L.

2.

1.

f1 / S,

f2 S;

 

 

 

2.

fe1 S,

fe2 / S;

 

 

 

3.

fe1 / S,

fe2 S;

 

 

 

4.

fe1 S,

fe2 / S;

 

 

 

5.

fe1 S,

fe2 / S;

.

 

6.

fe1 S,

fe2 / S;

 

7.

fe1 S,

fe2 / S.

 

3.

1.

fe1

 

M,

ef2

/ M;

 

 

2.

fe1

M, fe2

/ M;

 

.

 

5.

fБарашевe1 / L, fe2 L;

 

 

3.

fe1

/ M,

fe2

M;

В

 

 

4.

fe1 / M, fe2 M;

 

5.

fe1 / M, fe2 M;

С

 

 

6.

fe1 M, fe2

/ M;

 

 

7.

fe1

/ L,

fУнучекe2 L.

 

 

7.

fe1

M,

fe2

/ M.

МИРЭА

 

4.

1.

fe1

 

L,

f2e

/ L;

 

 

 

 

 

 

 

 

 

 

2.

fe1 L,

fe2 / L;

 

 

 

3.

fe1 / L,

fe2 L;

 

 

 

4.

fe1 / L,

fe2 L;

 

 

 

6.

fe1 L,

fe2 / L;

 

 

 

 

e

 

 

e

 

 

 

147

Глава 8

Полнота систем функций

.

8.1Примеры полных систем

 

П

.

В

 

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

виде формулы через элементарные функции

 

, x y, x&y, например,

x

в виде СДНФ или СКНФ (см. главу 3).

 

 

 

 

.

Определение

 

8.1.

Система

 

А

функций

 

 

 

 

 

 

 

 

 

 

= {f1, f2, . . . , fk, . . . |

fi

 

 

 

.

полной, если

P2, i} называется

любую булеву функцию

можно

выразить в виде формулы через

 

функции этой системы, то есть [ ] = .

С

 

 

 

 

 

 

 

 

 

 

 

Теорема

 

 

 

 

 

 

 

 

 

1

 

Барашев

 

 

 

 

 

 

 

формул

 

 

 

 

 

 

 

полна.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Система P2

(множество всех булевых функций) является полной

 

системой.

Унучек

 

 

 

 

 

 

2. Система 1 = {x, x МИРЭАy, x&y} представляет собой полную систему, так как, согласно теореме 3.4, любую булеву функцию можно представить формулой, являющейся суперпозицией дизъюнкции, конъюнкции и отрицания.

148

3.

Системы 2

= {

 

 

 

x y} и 3

= {

 

 

x&y} также пол-

x,

x,

 

ны согласно

теореме

 

8.1, так как

по законам де

Моргана

 

 

 

 

xy =

 

 

 

можно выразить функции полной си-

 

x y =

 

 

 

;

 

 

 

 

x

y

x

y

 

стемы 1 через функции системы 2 и 3.

 

 

4.

Система 4

= {x|y} является полной

системой,

так как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x = x|x, (x|y)|(x|y) = x|y = xy (в справедливости этих формул легко убедиться, построив таблицы истинности левых и правых частей равенств), функции полной системы 2 выражены через функции системы 4.

 

 

 

 

 

П

 

5. Полнота системы 5 = {x ↓ y}, согласно теореме.8.1, следует из

полноты системы 3 и тождеств

.

 

 

 

 

 

 

 

 

 

 

x ↓ x =

 

 

↓ y) (x ↓ y) = x

↓ y = x y.

x, (x

6. Система 6 = {1, x y,

 

 

 

 

 

.

x&y} является полной, так как по тео-

 

 

 

 

 

 

 

А

реме Жегалкина любую булеву функцию можно представить в

виде многочлена Жегалкина, то естьВформулы, выраженной че-

рез функции системы 6.

 

.

 

 

 

 

 

С

 

 

8.2Критерий Поста функциональной полноты

Доказательство.БарашевУнучек

Теорема

8.2

(Э.Поста).

Система

двоичных

функций

= {f1, f2, . . . , fk, . . .} полна

тогда и только тогда,

когда она

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

T0, T1, S, M и L.

Необходимость. Требуется доказать, что, если система функций полна ([ ] = P2), то она целиком не содержится ни в одном из классов K {T0, T1, S, M, L}.

При этом [K] ≠ P2, KМИРЭА{T0, T1, S, M, L}.

Ранее мы доказали, что каждый из классов K замкнут ([K] = K).

Рассмотрим таблицу принадлежности функций одной переменной основным замкнутым классам. Если функция содержится в клас-

се, соответствующий элемент таблицы равен

"+ \;

"- \- в про-

тивоположном случае.

 

 

149

 

f

 

T0

 

T1

 

S

 

M

 

L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

+

 

 

+

 

 

0

 

 

+

 

 

 

+

 

+

 

 

1

 

 

 

+

 

 

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как все столбцы различны, то и классы попарно различны.

Докажем необходимость от противного.

Пусть = {f1, f2, . . . , fk, . . .} K, где K {T0, T1, S, M, L}. Тогда по свойству замыкания (см. стр. 111) [ ] [K]. Получили,

 

П

 

что P2 = [ ] [K] ̸= P2, то есть P2 ̸= P2 - противоречие..

Необхо-

димость доказана.

 

 

Достаточность. Так как система функций .= {f1, f2, . . . , fk, . . .} не содержится целиком ни в одном из классов T0, T1, S, M и L, то из

этой системы можно выделить не более 5 функций, при этом

В

.

 

 

А

.

8.2.1 Алгоритм получения функций 0С, 1,

 

 

x, x y, x&y из

системы функций

 

 

1. Получение функций 0, 1, x.

Так как леммы L и М используют константы, сначала выразим функции 0 и 1 через систему функций .

Барашев

 

Унучек

 

i МИРЭА

через

 

1

 

В этом случае константа 0 получается из функции fi2 (xe) / T1:

fi2 (xe) / T1 fi2 (1, 1, . . . , 1) = 0

150