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

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

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

 

Основные свойства замыкания:

K1 K2 [K1] [K2]

[K1 K2] [K1] [K2]

[K] K

[[K]] = [K]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

 

7.2 Классы Tσ, сохраняющие константу σ

 

Определение 7.3. Классом T0

 

 

 

.

 

 

 

, сохраняющим константу 0, на-

 

 

 

 

 

 

 

 

 

 

 

В

 

 

 

 

.

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

ство f(0, 0, . . . , 0) = 0 :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Барашев

 

 

 

 

 

 

 

 

 

 

 

 

T0

= {f(x) P2

|

 

f(0, 0, . . . , 0) = 0}.

 

 

Аналогично

определяется класс T

, сохраняющий константу 1:

 

 

 

 

e

1

 

 

 

 

 

 

 

 

 

T1 = {f(xe) P2 | f(1, 1, . . .С, 1) = 1}.

 

 

 

 

 

 

 

Унучек

 

 

 

 

, f2

, f3, f4 клас-

Пример 7.2. Определить принадлежность функций f1

f

= (1011 1101)

МИРЭА

 

сам

T0

и T1.

 

 

 

 

f1 T0

 

 

 

 

 

 

 

 

 

 

f1 T1

а) e1f1

(000) = 0

 

 

;

 

f1(111) = 1

f = (0011 0111)

 

 

 

 

 

 

 

 

 

 

 

 

 

б) e2f2

(000) = 1

 

 

 

f2 / T0

;

 

f2(111) = 0

 

f2 / T1

f = (1010 1010)

 

 

 

 

 

 

 

 

 

 

 

 

 

в) e3f3

 

 

 

 

f3 T0

;

 

 

 

 

 

 

 

f3 / T1

(000) = 0

 

 

 

f3(111) = 0

f = (0110 0110)

 

 

 

 

 

 

 

 

 

 

 

 

 

г) e4f4(000) = 1

 

 

 

f4 / T0

;

 

 

 

 

 

 

 

f4 T1

 

 

 

f4(111) = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

111

Замечание 7.1. Для того, чтобы определить принадлежность функции к классу T0, достаточно знать значение функции только на одном двоичном наборе: наборе, состоящем из всех нулей (значения функций на этом наборе в приведенном выше примере подчеркнуты одной чертой). Этот набор является самым первым набором в таблице истинности и в векторе значений функции. Аналогично, для определения принадлежности функции к классу T1, достаточно знать значение функции только на одном двоичном наборе: наборе, состоящем из всех

единиц (значения функций на данном наборе в примере подчеркнуты

 

.

двумя чертами). Этот набор является последним набором в таблице

истинности и в векторе значений функции.

П

 

Замечание 7.2. Как видно из приведенного.выше примера, классы T0 и T1 пересекаются только частично: одна и та же функция может

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

них.

 

В

 

.

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

становку

 

 

.

 

 

С

 

а) тождественной функции

 

 

 

 

б) подстановку других функций,

 

 

 

то для доказательства замкнутости любого класса K булевых функций

необходимо рассмотреть два случая:

 

 

 

Барашев

 

 

 

Унучек

 

 

 

МИРЭА

 

1. тождественная функция f(x) = x K

2. любая суперпозиция функций f, f1, . . . , fm K также принадлежит классу K :

F = f(f1, . . . , fm) K.

Теорема 7.1. Класс T0 является функционально замкнутым, то есть

[T0] = T0.

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

112

1.Очевидно, что f(x) = x T0

2.Пусть функции f, f1, f2, . . . , fm T0. Докажем, что любая суперпозиция функций f1, f2, . . . , fm также принадлежит этому классу, то есть

f, f1, f2, . . . , fm T0 F = f(f1, f2, . . . , fm) T0.

f, f1, f2, . . . , fm T0 f(0, 0, . . . , 0) = f1(0, 0, . . . , 0) =

= f2(0, 0, . . . , 0) = · · · = fm(0, 0, . . . , 0) = 0

 

 

П

 

Найдем значение функции F на наборе, состоящем.из всех нулей.

F (0, 0, . . . , 0) =

В

 

.

 

 

= f(f1(0, 0, . . . , 0), f2(0, 0, . . . , 0), . ... , fm(0, 0, . . . , 0)) =

 

 

= f(0, 0, . . . , 0) = 0.

переменных:Барашев

 

А

Мы получили, что функция F на наборе, состоящем из всех нулей,

принимает значение 0, то есть F T0.

.

 

 

 

Доказательство. Унучекf T0 f(0, 0, . . . , 0) = 0, то есть вектор значений

Аналогично доказывается

 

 

 

 

 

С

 

Теорема 7.2. Класс T1

является функционально замкнутым, то

2 3

2

 

МИРЭАДлина этого набора n

есть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[T1] = T1.

 

 

 

Теорема 7.3. Класс T0 содержит

1

2

2n

функций, зависящих от n

2 ·

 

 

|

T

 

| = 2

2n1

=

1

 

 

2n .

 

 

 

0

 

2

 

· 2

 

функции принимает вид f = (0, α2, α3, . . . , α2n ). Это означает, что чис-

ло различных функций в классе T

 

равно числу различных двоичных

наборов (0, α , α , . . . , α n )e.

0

равна k = 2n 1. Всего

число различных наборов длины k равно 2k = 22 1. Таким образом,

|T0| = 22n1 = 12 · 22n .

113

7.3Класс S самодвойственных функций

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

f (x1, x2, . . . , xn) = f(x1, x2, . . . , xn).

Для любой булевой функции можно задать двойственную ей.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

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

e

 

 

 

 

 

 

 

 

 

 

 

П

 

 

к f1 = (0011 0111).

 

 

 

 

 

 

.

 

 

 

 

 

 

Решение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

x2

x3

 

f1

 

 

 

 

В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

0

0

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

 

0

 

Построим таблицу истинности функции f1 и

0

 

 

 

 

 

 

 

Барашев= f1(1, 1, 1) = 1 = 0.

1

0

 

1

 

вычислим значения, которые принимает двой-

0

1

1

 

1

 

 

 

 

 

 

 

.

 

 

1

0

0

 

0

 

ственная к ней функция на всех двоичных на-

1

0

1

 

1

 

борах.

 

 

 

С

 

А

1

1

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

Унучек

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x2 x3

 

f1

 

f1

МИРЭА

 

 

0

0

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

 

0

 

 

По определению двойственной функции

0

1

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

 

1

 

 

 

f1 (0, 0, 0) =

f

1(0, 0, 0) =

1

0

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

114

x1 x2 x3

 

f1

 

f1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

 

1

 

 

f1 (0, 0, 1) =

 

 

 

 

 

 

 

 

 

 

 

 

 

f

1(0, 0, 1) =

0

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= f1(1, 1, 0) = 1 = 0.

1

0

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И так далее вычисляем значения двойственной функции в каждой

строке таблицы истинности.

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

x1 x2 x3

 

 

 

f1

 

f1

 

 

 

 

 

 

 

 

., 0)П= f (1, 0, 1) = 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

0

0

0

 

 

 

0

 

 

0

 

 

f (0, 1, 0) =

 

 

 

 

 

 

 

 

f

 

 

 

 

 

 

 

1

(0

1

0

0

1

 

 

 

0

 

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f1 (0, 1, 1) = f

1(0, 1, 1) = f1(1, 0, 0) = 1;

0

1

0

 

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (1, 0, 0) = f

 

(1, 0, 0) = f

 

(0, 1, 1) = 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

 

 

 

1

 

 

1

 

 

1

 

 

1

В

 

 

1

.

 

 

 

 

 

 

 

f1 (1, 0, 1) = f

 

 

 

 

 

 

 

 

 

1

0

0

 

 

 

0

 

 

0

 

 

1(1, 0, 1) = f1(0, 1, 0) = 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f1 (1, 1, 0) = f1

(1, 1, 0) = f

1(0, 0, 1) = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

 

 

 

 

1

0

1

 

 

 

1

 

 

0

 

 

f (1, 1, 1) =

f

1

(1

,

1

,

1) =.f А(0, 0, 0) = 1.

1

1

0

 

 

 

1

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Унучек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Окончательно получаем таблицу истинности двойственной к f1

функции.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МИРЭА

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

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наборы α = (α1, α2, . . . , αn) и β = (α1, α2, . . . , αn)

называются противоположными.

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

Например,Барашевα1 = (10110) и β1 = (01001)противоположные наборы.

 

 

 

f

= (01110) и

e

̸

противоположными не явля-

 

Наборы α

 

β1 = (10011)

ются, так как f

 

 

 

 

 

 

 

 

 

 

 

= (10011).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

(0 1 1 1 0) = (10001)e

 

 

 

 

 

 

 

 

 

 

 

 

 

Замечание 7.4. Противоположные наборы расположены симметрично относительно центра таблицы истинности.

Замечание 7.5. Для определения значений двойственной функции на наборе αe = (α1, α2, . . . , αn) мы инвертируем значение функции на противоположном, то есть симметричном относительно центра таблицы

115

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

Пример 7.4. Найти функцию, двойственную к fe2 = (1010 1010).

Решение. Используя замечание 7.5, для нахождения двойственной функции перепишем вектор значений исходной функции слева напра-

во. Получим

(1010 1010) (0101 0101).

 

 

 

 

←−−−−−−

 

7→

 

 

 

 

 

 

 

.

Инвертируем полученный набор:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0 1 0 1 0 1 0 1) = (1010 1010);

 

 

 

 

 

 

 

 

 

 

f2 = (1010 1010).

 

.

Пример 7.5. Построить вектор значенийВфункции, двойственной к

 

 

 

 

 

 

 

 

f3 = (1011 0110).

 

 

 

 

 

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

Решение. Аналогично предыдущему примеру

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1011 0110)

(0110 1101)

(0 1 1 0 1 1 0 1) = (1001 0010);

←−−−−−−

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

 

 

7→

7→

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f3 = (1001 0010).

 

 

 

 

 

 

 

 

 

Определение 7.6. Функция f(x1, x2, . . . , xn) называется самодвой-

ственной, если она двойственна сама себе.

рый обычноБарашевобозначают класс S:

 

Унучек

принимает вид

МИРЭА

Множество всех самодвойственных функций образует класс, кото-

S = {f(xe) P2 | f(x1, x2, . . . , xn) = f(x1, x2, . . . , xn)}.

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

fe= (α1, α2, . . . , α2n−11, α2n−1 | α2n−1 , α2n−11, . . . , α2, α1).

116

Теорема 7.4. Число самодвойственных функций, зависящих от n

переменных, равно

 

:

 

 

 

22n

 

 

 

 

 

|S| =

22n:

 

Доказательство. Так как вектор значений самодвойственной функции имеет вид

fe= (α1, α2, . . . , α2n−11, α2n−1 | α2n−1 , α2n−11, . . . , α2, α1),

то любая самодвойственная функция однозначно определяется поло-

виной своего вектора значений, то есть набором длины

k =

1

· 2n = 2n−1.

.

2

 

Значит, число самодвойственных функций n переменных равно чис-

 

 

 

 

 

П

 

 

 

 

 

.

 

 

лу различных двоичных наборов длины k. Количество таких наборов

равно

 

 

 

 

 

 

.

Барашев

 

 

 

 

k

2n−1

2n:

 

 

 

2

= 2 =

2В

 

А

Таким образом,

2n:

 

С

 

|S| =

2 .

 

Унучек

 

 

 

 

Определять, является ли функция самодвойственной, можно несколькими способами.

7.3.1 Алгоритм 1 определения самодвойственности булевой функции

1.Вычислить вектор значений функции, двойственной к данной.

2.Сравнить полученный вектор с вектором значений исходной функции. Если оба вектора тождественно совпали, то функция является самодвойственной. Несовпадение двух векторов хотя бы

в одной координате говорит о том, что исходная функция не является самодвойственной.МИРЭА

Пример 7.6.

117

а) Функция fe1 = (0011 0111) не является самодвойственной (f1 / S),

так как

f1 = (0001 0011) ≠ (0011 0111) = f1.

б) Функция fe2 = (1010 1010) S (f2самодвойственная функция),

так как

f2 = f2.

Так как самодвойственная функция однозначно определяется толь-

 

 

 

.

ко половиной своего вектора значений, то удобнее пользоваться следу-

ющим алгоритмом:

.

 

 

 

 

 

7.3.2 Алгоритм 2 определения самодвойственности булевой

функции

В

П

.

 

 

1.Делим вектор значений функции пополам. Получаем два набора меньшей длины.

2.Берем любую полученную половину (обычно берут правую), переписываем её справа налево и инвертируем (все нули заменяем на единицы и наоборот).

3.Если полученный набор совпадает с оставшейся (левой) половиной вектора значений, то функция является самодвойственной.

При несовпадении строк хотя бы в одной координате, делаем вывод: функция несамодвойственна.Барашев А

а)

f3

= (0110 0110)Унучек

 

 

 

 

 

 

 

 

 

 

 

МИРЭА

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

а)

e

= (0110 0110);

б)

e

f3

f4 = (1110 1000)

Решение.

 

 

 

e

(0110 | 0110) - делим вектор значений функции пополам;

 

 

←−−−−

- берем правую половину,

 

 

(0110)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0

 

1 1 0) - переписываем её справа налево

 

 

(1001)

 

- и инвертируем её.

Так как (0110) ≠ (1001), то функция не является самодвойственной

(f3 / S);

118

б) fe4 = (1110 1000)

(1110 | 1000) - делим вектор значений функции пополам;

←−−−−

(1000) - берем правую половину, (0 0 0 1) - переписываем её справа налево (1110) - и инвертируем её.

Так как (1110) (1110), то функция самодвойственна (f4 S).

7.3.3Алгоритм 3 определения самодвойственности булевой функции .

1.Находим середину вектора значений функции..

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

3.Если при таком сравнении все полученные значения функции про-

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

Использование данного алгоритма будет дано ниже, при примене-

нии леммы о несамодвойственной функции.

С

ЗамечаниеБарашев7.6. УнучекТождественная функция f1(x) = x и её отрицание f2(x) = x являются самодвойственными функциями одной переменной. Константы 0 и 1 к самодвойственным функциям не относятся. В справедливости этого замечания можно убедиться, применив к каждой из перечисленных функций алгоритм определения самодвойственности двоичных функций.

Теорема 7.5. Класс S самодвойственных функций замкнут :

 

[S] = S.

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

МИРЭА

1. f(x) = x S (см. замечание 7.6)

119

2. Докажем,

 

 

 

 

 

 

 

 

 

 

что,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

функции

f(x1, . . . , xm), f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm )

 

 

 

S, то и

их суперпозиция F

= f(f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm )) S.

По определению самодвойственной функции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x1, . . . , xm), f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm ) S

 

 

 

..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x , . . . , xm) = f (x1, . . . , xm) =

f

(

 

 

1, . . . ,

 

 

m)

 

 

 

 

 

 

x

x

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f1(x11, . . . , xn1 ) = f1 (x1, . . . , xn1 ) = f1(x1, . . . , xn1 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fm(x1, . . . , xnm ) = fm(x1, . . . , xnm ) = f.m(x

1, . . . ,

x

nm )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найдем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F = f(f (x

, . . . , x

 

 

 

 

 

 

 

, . . . , x

)).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n1

), . . . , f

m

(x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

Пnm

.

 

 

F (x1, . . . , xn) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Барашев

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= F (

x

1

, . . . ,

x

n) = f(f1(

x

1, . . . ,

x

n1 ), . . . , fm(

x

1, . . . ,

x

nm )) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

 

 

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

}

 

 

 

по определению

 

 

 

 

 

 

 

{z

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

f(f1(

 

1, . . . ,

 

n1 ), . . . , fm(

 

1, . . . ,

 

nm ))

=

 

 

 

x

x

x

x

 

 

 

 

 

 

 

= |

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( 1(

1

 

 

 

 

 

 

 

 

n1 )

 

 

 

 

 

 

m(

 

 

1

 

 

 

 

 

 

 

 

 

nm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

применяем закон двойного отрицанияС

к f1;:::;fm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f f

 

, . . . ,

 

 

 

 

 

, . . . , f

 

 

 

, . . . ,

 

)) =

 

 

 

 

 

 

 

 

 

 

 

x

x

 

 

 

 

 

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= f(|1(

1

 

МИРЭА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{z

 

 

 

n}1 )

 

 

 

 

|m(

 

 

1

{z

 

 

 

 

 

 

nm})) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x1;:::;xn

) f1

 

 

 

 

 

 

 

f (x1

;:::;xn

m

) fm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f x , . . . , x

 

 

 

 

, . . . , f

 

 

x , . . . , x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= f (f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm )) =

 

 

 

 

Лемма S (лемма о несамодвойственной функции).Из неса-

Унучек= f(f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm )).

модвойственной функции f(x1, . . . , xn) путем подстановки в неё вместо переменных x1, . . . , xn функций x и x можно получить несамодвойственную функцию одной переменной 0 или 1.

Доказательство. По условию теоремы f(x1, . . . , xn) / S, то есть

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

120